Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | applied patch from ticket [aa01499923] and added option -prot to test tcl script which optionally writes a protocol file |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
f89d953a061c5bb039d652e74f0125da |
User & Date: | wolfgang 2010-10-30 19:05:11 |
Context
2010-10-31
| ||
21:51 | Add a warning to the "fossil sqlite3" command to remind users that careless use of the command can easily corrupt the repository. Ticket [b18338c226f6fb4899]. check-in: 4e1241f3 user: drh tags: trunk | |
2010-10-30
| ||
20:02 | merge from trunk check-in: 943dbc55 user: wolfgang tags: StvPrivateHook2 | |
19:05 | applied patch from ticket [aa01499923] and added option -prot to test tcl script which optionally writes a protocol file check-in: f89d953a user: wolfgang tags: trunk | |
2010-10-29
| ||
19:06 | Add the "sqlite3" command providing an sqlite3 command-line shell. Ticket [b18338c226f6fb4899b] check-in: 8c723318 user: drh tags: trunk | |
Changes
Changes to test/delta1.test.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# some random changes in "./t2". Then call test-delta on the
# two files to make sure that deltas between these two files
# work properly.
#
set filelist [glob $testdir/*]
foreach f $filelist {
set base [file root [file tail $f]]
puts "base=$base f=$f"
set f1 [read_file $f]
write_file t1 $f1
for {set i 0} {$i<100} {incr i} {
write_file t2 [random_changes $f1 1 1 0 0.1]
fossil test-delta t1 t2
test delta-$base-$i-1 {$RESULT=="ok"}
write_file t2 [random_changes $f1 1 1 0 0.2]
|
| |
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# some random changes in "./t2". Then call test-delta on the
# two files to make sure that deltas between these two files
# work properly.
#
set filelist [glob $testdir/*]
foreach f $filelist {
set base [file root [file tail $f]]
protOut "base=$base f=$f"
set f1 [read_file $f]
write_file t1 $f1
for {set i 0} {$i<100} {incr i} {
write_file t2 [random_changes $f1 1 1 0 0.1]
fossil test-delta t1 t2
test delta-$base-$i-1 {$RESULT=="ok"}
write_file t2 [random_changes $f1 1 1 0 0.2]
|
Changes to test/merge1.test.
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 ... 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 ... 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 ... 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 ... 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 |
111 - This is line one OF the demo program - 1111 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } write_file_indented t23 { >>>>>>> BEGIN MERGE CONFLICT 111 - This is line ONE of the demo program - 1111 ============================ 111 - This is line one OF the demo program - 1111 <<<<<<< END MERGE CONFLICT 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } write_file_indented t32 { >>>>>>> BEGIN MERGE CONFLICT 111 - This is line one OF the demo program - 1111 ============================ 111 - This is line ONE of the demo program - 1111 <<<<<<< END MERGE CONFLICT 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } fossil test-3 t1 t3 t2 a32 test merge1-2.1 {[same_file t32 a32]} ................................................................................ write_file_indented t3 { 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } write_file_indented t32 { >>>>>>> BEGIN MERGE CONFLICT ============================ 000 - Zero lines added to the beginning of - 0000 111 - This is line one of the demo program - 1111 <<<<<<< END MERGE CONFLICT 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } write_file_indented t23 { >>>>>>> BEGIN MERGE CONFLICT 000 - Zero lines added to the beginning of - 0000 111 - This is line one of the demo program - 1111 ============================ <<<<<<< END MERGE CONFLICT 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } fossil test-3 t1 t3 t2 a32 test merge1-4.1 {[same_file t32 a32]} ................................................................................ KLMN OPQR STUV XYZ. } write_file_indented t23 { abcd >>>>>>> BEGIN MERGE CONFLICT efgh 2 ijkl 2 mnop 2 qrst uvwx yzAB 2 CDEF 2 ................................................................................ ijkl mnop 3 qrst 3 uvwx 3 yzAB 3 CDEF GHIJ <<<<<<< END MERGE CONFLICT KLMN OPQR STUV XYZ. } fossil test-3 t1 t2 t3 a23 test merge1-7.1 {[same_file t23 a23]} ................................................................................ STUV XYZ. } write_file_indented t23 { abcd efgh 2 ijkl 2 >>>>>>> BEGIN MERGE CONFLICT mnop qrst uvwx yzAB 2 CDEF 2 GHIJ 2 ============================ mnop 3 qrst 3 uvwx 3 yzAB 3 CDEF GHIJ <<<<<<< END MERGE CONFLICT KLMN OPQR STUV XYZ. } fossil test-3 t1 t2 t3 a23 test merge1-7.2 {[same_file t23 a23]} |
| | | | | | | | | | | | |
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 ... 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 ... 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 ... 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 ... 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 |
111 - This is line one OF the demo program - 1111 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } write_file_indented t23 { <<<<<<< BEGIN MERGE CONFLICT 111 - This is line ONE of the demo program - 1111 ============================ 111 - This is line one OF the demo program - 1111 >>>>>>> END MERGE CONFLICT 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } write_file_indented t32 { <<<<<<< BEGIN MERGE CONFLICT 111 - This is line one OF the demo program - 1111 ============================ 111 - This is line ONE of the demo program - 1111 >>>>>>> END MERGE CONFLICT 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } fossil test-3 t1 t3 t2 a32 test merge1-2.1 {[same_file t32 a32]} ................................................................................ write_file_indented t3 { 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } write_file_indented t32 { <<<<<<< BEGIN MERGE CONFLICT ============================ 000 - Zero lines added to the beginning of - 0000 111 - This is line one of the demo program - 1111 >>>>>>> END MERGE CONFLICT 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } write_file_indented t23 { <<<<<<< BEGIN MERGE CONFLICT 000 - Zero lines added to the beginning of - 0000 111 - This is line one of the demo program - 1111 ============================ >>>>>>> END MERGE CONFLICT 222 - The second line program line in code - 2222 333 - This is a test of the merging algohm - 3333 444 - If all goes well, we will be pleased - 4444 555 - we think it well and other stuff too - 5555 } fossil test-3 t1 t3 t2 a32 test merge1-4.1 {[same_file t32 a32]} ................................................................................ KLMN OPQR STUV XYZ. } write_file_indented t23 { abcd <<<<<<< BEGIN MERGE CONFLICT efgh 2 ijkl 2 mnop 2 qrst uvwx yzAB 2 CDEF 2 ................................................................................ ijkl mnop 3 qrst 3 uvwx 3 yzAB 3 CDEF GHIJ >>>>>>> END MERGE CONFLICT KLMN OPQR STUV XYZ. } fossil test-3 t1 t2 t3 a23 test merge1-7.1 {[same_file t23 a23]} ................................................................................ STUV XYZ. } write_file_indented t23 { abcd efgh 2 ijkl 2 <<<<<<< BEGIN MERGE CONFLICT mnop qrst uvwx yzAB 2 CDEF 2 GHIJ 2 ============================ mnop 3 qrst 3 uvwx 3 yzAB 3 CDEF GHIJ >>>>>>> END MERGE CONFLICT KLMN OPQR STUV XYZ. } fossil test-3 t1 t2 t3 a23 test merge1-7.2 {[same_file t23 a23]} |
Changes to test/merge3.test.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
proc merge-test {testid basis v1 v2 result} { 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 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 result [string trim $result] if {$x!=$result} { puts " Expected \[$result\]" puts " Got \[$x\]" test merge3-$testid 0 } else { test merge3-$testid 1 } } merge-test 1 { |
| | | | |
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
proc merge-test {testid basis v1 v2 result} { 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 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 result [string trim $result] if {$x!=$result} { protOut " Expected \[$result\]" protOut " Got \[$x\]" test merge3-$testid 0 } else { test merge3-$testid 1 } } merge-test 1 { |
Changes to test/merge4.test.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
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 } } } |
| | | | | | | | |
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
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} { protOut " Expected \[$result1\]" protOut " Got \[$x\]" test merge3-$testid 0 } else { set result2 [string trim $result2] if {$y!=$result2} { protOut " Expected \[$result2\]" protOut " Got \[$y\]" test merge3-$testid 0 } else { test merge3-$testid 1 } } } |
Changes to test/tester.tcl.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 .. 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 ... 165 166 167 168 169 170 171 172 173 174 175 176 |
set i [lsearch $argv -halt] if {$i>=0} { set HALT 1 set argv [lreplace $argv $i $i] } else { set HALT 0 } if {[llength $argv]==0} { foreach f [lsort [glob $testdir/*.test]] { set base [file root [file tail $f]] lappend argv $base } } # Run the fossil program # proc fossil {args} { global fossilexe set cmd $fossilexe foreach a $args { lappend cmd $a } puts $cmd flush stdout set rc [catch {eval exec $cmd} result] global RESULT CODE set CODE $rc set RESULT $result } ................................................................................ # Perform a test # proc test {name expr} { global bad_test set r [uplevel 1 [list expr $expr]] if {$r} { puts "test $name OK" } else { puts "test $name FAILED!" lappend bad_test $name if {$::HALT} exit } } set bad_test {} # Return a random string N characters long. ................................................................................ } } append out \n$line } return [string range $out 1 end] } foreach testfile $argv { puts "***** $testfile ******" source $testdir/$testfile.test } puts "[llength $bad_test] errors: $bad_test" |
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > | | > | | |
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ... 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 ... 197 198 199 200 201 202 203 204 205 206 207 208 209 |
set i [lsearch $argv -halt] if {$i>=0} { set HALT 1 set argv [lreplace $argv $i $i] } else { set HALT 0 } set i [lsearch $argv -prot] if {$i>=0} { set PROT 1 set argv [lreplace $argv $i $i] } else { set PROT 0 } if {[llength $argv]==0} { foreach f [lsort [glob $testdir/*.test]] { set base [file root [file tail $f]] lappend argv $base } } # start protocol # proc protInit {cmd} { if {$::PROT} { set out [open "prot" w] fconfigure $out -translation platform puts $out "starting tests with:$cmd" close $out } } # write protocol # proc protOut {msg} { puts "$msg" if {$::PROT} { set out [open "prot" a] fconfigure $out -translation platform puts $out "$msg" close $out } } # Run the fossil program # proc fossil {args} { global fossilexe set cmd $fossilexe foreach a $args { lappend cmd $a } protOut $cmd flush stdout set rc [catch {eval exec $cmd} result] global RESULT CODE set CODE $rc set RESULT $result } ................................................................................ # Perform a test # proc test {name expr} { global bad_test set r [uplevel 1 [list expr $expr]] if {$r} { protOut "test $name OK" } else { protOut "test $name FAILED!" lappend bad_test $name if {$::HALT} exit } } set bad_test {} # Return a random string N characters long. ................................................................................ } } append out \n$line } return [string range $out 1 end] } protInit $fossilexe foreach testfile $argv { protOut "***** $testfile ******" source $testdir/$testfile.test } protOut "[llength $bad_test] errors: $bad_test" |