diff options
Diffstat (limited to 'test/merge2.test')
| -rw-r--r-- | test/merge2.test | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/test/merge2.test b/test/merge2.test new file mode 100644 index 0000000..569ca77 --- /dev/null +++ b/test/merge2.test @@ -0,0 +1,49 @@ +# +# Copyright (c) 2006 D. Richard Hipp +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the Simplified BSD License (also +# known as the "2-Clause License" or "FreeBSD License".) +# +# 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. +# +# Author contact information: +# drh@hwaci.com +# http://www.hwaci.com/drh/ +# +############################################################################ +# +# Tests of the delta mechanism. +# + +test_setup "" + +set filelist [lsort [glob $testdir/*]] +foreach f $filelist { + if {[file isdir $f]} continue + set base [file root [file tail $f]] + if {[string match "utf16*" $base]} continue + set f1 [read_file $f] + write_file t1 $f1 + for {set i 0} {$i<100} {incr i} { + expr {srand($i*2)} + write_file t2 [set f2 [random_changes $f1 2 4 0 0.1]] + expr {srand($i*2+1)} + write_file t3 [set f3 [random_changes $f1 2 4 2 0.1]] + expr {srand($i*2+1)} + write_file t23 [random_changes $f2 2 4 2 0.1] + expr {srand($i*2)} + write_file t32 [random_changes $f3 2 4 0 0.1] + fossil 3-way-merge t1 t2 t3 a23 + if {[regexp {<<<<< BEGIN MERGE CONFLICT:} [read_file a23]]} continue + test merge-$base-$i-23 {[same_file a23 t23]} + fossil 3-way-merge t1 t3 t2 a32 + test merge-$base-$i-32 {[same_file a32 t32]} + } +} + +############################################################################### + +test_cleanup |
