Overview
SHA1 Hash: | 92638367d8421bba4b8ed904eb33daa396b8093f |
---|---|
Date: | 2009-03-22 13:18:10 |
User: | drh |
Comment: | Add many new test cases for 3-way merge. No new problems found. |
Timelines: | ancestors | descendants | both | trunk |
Other Links: | files | ZIP archive | manifest |
Tags And Properties
- branch=trunk inherited from [a28c83647d]
- sym-trunk inherited from [a28c83647d]
Changes
[hide diffs]Modified test/merge3.test from [f3315ba437] to [e745bf699d].
@@ -151,6 +151,491 @@ 1 2 3b4b 5 6 7 8b 9b } { 1 2 3b4b 5 6c 7c 8 9 } { 1 2 3b4b 5 6c 7c 8b 9b +} + +merge-test 20 { + 1 2 3 4 5 6 7 8 9 +} { + 1 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 6 7 9 +} { + 1 3 4 5 6 7 9 +} +merge-test 21 { + 1 2 3 4 5 6 7 8 9 +} { + 1 4 5 6 7 8 9 +} { + 1 2 3 4 5 6 9 +} { + 1 4 5 6 9 +} +merge-test 22 { + 1 2 3 4 5 6 7 8 9 +} { + 1 5 6 7 8 9 +} { + 1 2 3 4 5 9 +} { + 1 5 9 +} +merge-test 23 { + 1 2 3 4 5 6 7 8 9 +} { + 1 6 7 8 9 +} { + 1 2 3 4 5 9 +} { + 1 9 +} +merge-test 24 { + 1 2 3 4 5 6 7 8 9 +} { + 1 6 7 8 9 +} { + 1 2 3 4 9 +} { + 1 > 6 7 8 = 2 3 4 < 9 +} +merge-test 25 { + 1 2 3 4 5 6 7 8 9 +} { + 1 7 8 9 +} { + 1 2 3 9 +} { + 1 > 7 8 = 2 3 < 9 +} + +merge-test 30 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 6 7 9 +} { + 1 3 4 5 6 7 8 9 +} { + 1 3 4 5 6 7 9 +} +merge-test 31 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 6 9 +} { + 1 4 5 6 7 8 9 +} { + 1 4 5 6 9 +} +merge-test 32 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 9 +} { + 1 5 6 7 8 9 +} { + 1 5 9 +} +merge-test 33 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 9 +} { + 1 6 7 8 9 +} { + 1 9 +} +merge-test 34 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 9 +} { + 1 6 7 8 9 +} { + 1 > 2 3 4 = 6 7 8 < 9 +} +merge-test 35 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 9 +} { + 1 7 8 9 +} { + 1 > 2 3 = 7 8 < 9 +} + +merge-test 40 { + 2 3 4 5 6 7 8 +} { + 3 4 5 6 7 8 +} { + 2 3 4 5 6 7 +} { + 3 4 5 6 7 +} +merge-test 41 { + 2 3 4 5 6 7 8 +} { + 4 5 6 7 8 +} { + 2 3 4 5 6 +} { + 4 5 6 +} +merge-test 42 { + 2 3 4 5 6 7 8 +} { + 5 6 7 8 +} { + 2 3 4 5 +} { + 5 +} +merge-test 43 { + 2 3 4 5 6 7 8 +} { + 6 7 8 +} { + 2 3 4 5 +} { + +} +merge-test 44 { + 2 3 4 5 6 7 8 +} { + 6 7 8 +} { + 2 3 4 +} { + > 6 7 8 = 2 3 4 < +} +merge-test 45 { + 2 3 4 5 6 7 8 +} { + 7 8 +} { + 2 3 +} { + > 7 8 = 2 3 < +} + +merge-test 50 { + 2 3 4 5 6 7 8 +} { + 2 3 4 5 6 7 +} { + 3 4 5 6 7 8 +} { + 3 4 5 6 7 +} +merge-test 51 { + 2 3 4 5 6 7 8 +} { + 2 3 4 5 6 +} { + 4 5 6 7 8 +} { + 4 5 6 +} +merge-test 52 { + 2 3 4 5 6 7 8 +} { + 2 3 4 5 +} { + 5 6 7 8 +} { + 5 +} +merge-test 53 { + 2 3 4 5 6 7 8 +} { + 2 3 4 5 +} { + 6 7 8 +} { +} +merge-test 54 { + 2 3 4 5 6 7 8 +} { + 2 3 4 +} { + 6 7 8 +} { + > 2 3 4 = 6 7 8 < +} +merge-test 55 { + 2 3 4 5 6 7 8 +} { + 2 3 +} { + 7 8 +} { + > 2 3 = 7 8 < +} + +merge-test 60 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 6 7 9 +} { + 1 2b 3 4 5 6 7 9 +} +merge-test 61 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3b 4 5 6 7 8 9 +} { + 1 2 3 4 5 6 9 +} { + 1 2b 3b 4 5 6 9 +} +merge-test 62 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3b 4b 5 6 7 8 9 +} { + 1 2 3 4 5 9 +} { + 1 2b 3b 4b 5 9 +} +merge-test 63 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3b 4b 5b 6 7 8 9 +} { + 1 2 3 4 5 9 +} { + 1 2b 3b 4b 5b 9 +} +merge-test 64 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3b 4b 5b 6 7 8 9 +} { + 1 2 3 4 9 +} { + 1 > 2b 3b 4b 5b 6 7 8 = 2 3 4 < 9 +} +merge-test 65 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3b 4b 5b 6b 7 8 9 +} { + 1 2 3 9 +} { + 1 > 2b 3b 4b 5b 6b 7 8 = 2 3 < 9 +} + +merge-test 70 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 6 7 9 +} { + 1 2b 3 4 5 6 7 8 9 +} { + 1 2b 3 4 5 6 7 9 +} +merge-test 71 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 6 9 +} { + 1 2b 3b 4 5 6 7 8 9 +} { + 1 2b 3b 4 5 6 9 +} +merge-test 72 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 9 +} { + 1 2b 3b 4b 5 6 7 8 9 +} { + 1 2b 3b 4b 5 9 +} +merge-test 73 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 9 +} { + 1 2b 3b 4b 5b 6 7 8 9 +} { + 1 2b 3b 4b 5b 9 +} +merge-test 74 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 9 +} { + 1 2b 3b 4b 5b 6 7 8 9 +} { + 1 > 2 3 4 = 2b 3b 4b 5b 6 7 8 < 9 +} +merge-test 75 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 9 +} { + 1 2b 3b 4b 5b 6b 7 8 9 +} { + 1 > 2 3 = 2b 3b 4b 5b 6b 7 8 < 9 +} + +merge-test 80 { + 2 3 4 5 6 7 8 +} { + 2b 3 4 5 6 7 8 +} { + 2 3 4 5 6 7 +} { + 2b 3 4 5 6 7 +} +merge-test 81 { + 2 3 4 5 6 7 8 +} { + 2b 3b 4 5 6 7 8 +} { + 2 3 4 5 6 +} { + 2b 3b 4 5 6 +} +merge-test 82 { + 2 3 4 5 6 7 8 +} { + 2b 3b 4b 5 6 7 8 +} { + 2 3 4 5 +} { + 2b 3b 4b 5 +} +merge-test 83 { + 2 3 4 5 6 7 8 +} { + 2b 3b 4b 5b 6 7 8 +} { + 2 3 4 5 +} { + 2b 3b 4b 5b +} +merge-test 84 { + 2 3 4 5 6 7 8 +} { + 2b 3b 4b 5b 6 7 8 +} { + 2 3 4 +} { + > 2b 3b 4b 5b 6 7 8 = 2 3 4 < +} +merge-test 85 { + 2 3 4 5 6 7 8 +} { + 2b 3b 4b 5b 6b 7 8 +} { + 2 3 +} { + > 2b 3b 4b 5b 6b 7 8 = 2 3 < +} + +merge-test 90 { + 2 3 4 5 6 7 8 +} { + 2 3 4 5 6 7 +} { + 2b 3 4 5 6 7 8 +} { + 2b 3 4 5 6 7 +} +merge-test 91 { + 2 3 4 5 6 7 8 +} { + 2 3 4 5 6 +} { + 2b 3b 4 5 6 7 8 +} { + 2b 3b 4 5 6 +} +merge-test 92 { + 2 3 4 5 6 7 8 +} { + 2 3 4 5 +} { + 2b 3b 4b 5 6 7 8 +} { + 2b 3b 4b 5 +} +merge-test 93 { + 2 3 4 5 6 7 8 +} { + 2 3 4 5 +} { + 2b 3b 4b 5b 6 7 8 +} { + 2b 3b 4b 5b +} +merge-test 94 { + 2 3 4 5 6 7 8 +} { + 2 3 4 +} { + 2b 3b 4b 5b 6 7 8 +} { + > 2 3 4 = 2b 3b 4b 5b 6 7 8 < +} +merge-test 95 { + 2 3 4 5 6 7 8 +} { + 2 3 +} { + 2b 3b 4b 5b 6b 7 8 +} { + > 2 3 = 2b 3b 4b 5b 6b 7 8 < +} + +merge-test 100 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3 4 5 7 8 9 a b c d e +} { + 1 2b 3 4 5 7 8 9 a b c d e +} { + 1 2b 3 4 5 7 8 9 a b c d e +} +merge-test 101 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3 4 5 7 8 9 a b c d e +} { + 1 2b 3 4 5 7 8 9 +} { + 1 2b 3 4 5 7 8 9 a b c d e +} +merge-test 102 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3 4 5 7 8 9 +} { + 1 2b 3 4 5 7 8 9 a b c d e +} { + 1 2b 3 4 5 7 8 9 a b c d e +} +merge-test 103 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 7 8 9b +} { + 1 2 3 4 5 7 8 9b a b c d e +} { + 1 2 3 4 5 7 8 > 9b = 9b a b c d e < +} +merge-test 104 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2 3 4 5 7 8 9b a b c d e +} { + 1 2 3 4 5 7 8 9b +} { + 1 2 3 4 5 7 8 > 9b a b c d e = 9b < }
Added test/merge4.test version [61232e82e6]
@@ -1,1 +1,103 @@ +# +# Copyright (c) 2009 D. Richard Hipp +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public +# License version 2 as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. +# +# Author contact information: +# drh@hwaci.com +# http://www.hwaci.com/drh/ +# +############################################################################ +# +# Tests of the 3-way merge +# + +proc merge-test {testid basis v1 v2 result1 result2} { + write_file t1 [join [string trim $basis] \n]\n + write_file t2 [join [string trim $v1] \n]\n + write_file t3 [join [string trim $v2] \n]\n + fossil test-3-way-merge t1 t2 t3 t4 + fossil test-3-way-merge t1 t3 t2 t5 + set x [read_file t4] + regsub -all {>>>>>>> BEGIN MERGE CONFLICT} $x {>} x + regsub -all {============================} $x {=} x + regsub -all {<<<<<<< END MERGE CONFLICT} $x {<} x + set x [split [string trim $x] \n] + set y [read_file t5] + regsub -all {>>>>>>> BEGIN MERGE CONFLICT} $y {>} y + regsub -all {============================} $y {=} y + regsub -all {<<<<<<< END MERGE CONFLICT} $y {<} y + set y [split [string trim $y] \n] + set result1 [string trim $result1] + if {$x!=$result1} { + puts " Expected \[$result1\]" + puts " Got \[$x\]" + test merge3-$testid 0 + } else { + set result2 [string trim $result2] + if {$y!=$result2} { + puts " Expected \[$result2\]" + puts " Got \[$y\]" + test merge3-$testid 0 + } else { + test merge3-$testid 1 + } + } +} +merge-test 1000 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3b 4b 5 6b 7b 8b 9 +} { + 1 2 3 4c 5c 6c 7 8 9 +} { + 1 > 2b 3b 4b 5 6b 7b 8b = 2 3 4c 5c 6c 7 8 < 9 +} { + 1 > 2 3 4c 5c 6c 7 8 = 2b 3b 4b 5 6b 7b 8b < 9 +} +merge-test 1001 { + 1 2 3 4 5 6 7 8 9 +} { + 1 2b 3b 4 5 6 7b 8b 9 +} { + 1 2 3 4c 5c 6c 7 8 9 +} { + 1 2b 3b 4c 5c 6c 7b 8b 9 +} { + 1 2b 3b 4c 5c 6c 7b 8b 9 +} +merge-test 1002 { + 2 3 4 5 6 7 8 +} { + 2b 3b 4b 5 6b 7b 8b +} { + 2 3 4c 5c 6c 7 8 +} { + > 2b 3b 4b 5 6b 7b 8b = 2 3 4c 5c 6c 7 8 < +} { + > 2 3 4c 5c 6c 7 8 = 2b 3b 4b 5 6b 7b 8b < +} +merge-test 1003 { + 2 3 4 5 6 7 8 +} { + 2b 3b 4 5 6 7b 8b +} { + 2 3 4c 5c 6c 7 8 +} { + 2b 3b 4c 5c 6c 7b 8b +} { + 2b 3b 4c 5c 6c 7b 8b +}