OLD | NEW |
1 # 2010 August 19 | 1 # 2010 August 19 |
2 # | 2 # |
3 # The author disclaims copyright to this source code. In place of | 3 # The author disclaims copyright to this source code. In place of |
4 # a legal notice, here is a blessing: | 4 # a legal notice, here is a blessing: |
5 # | 5 # |
6 # May you do good and not evil. | 6 # May you do good and not evil. |
7 # May you find forgiveness for yourself and forgive others. | 7 # May you find forgiveness for yourself and forgive others. |
8 # May you share freely, never taking more than you give. | 8 # May you share freely, never taking more than you give. |
9 # | 9 # |
10 #*********************************************************************** | 10 #*********************************************************************** |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 proc sql2 sql { code2 [list db eval $sql] } | 56 proc sql2 sql { code2 [list db eval $sql] } |
57 | 57 |
58 code1 { sqlite3 db test.db } | 58 code1 { sqlite3 db test.db } |
59 code2 { sqlite3 db test.db } | 59 code2 { sqlite3 db test.db } |
60 | 60 |
61 foreach c {code1 code2} { | 61 foreach c {code1 code2} { |
62 $c { | 62 $c { |
63 set v [split [db version] .] | 63 set v [split [db version] .] |
64 if {[llength $v]==3} {lappend v 0} | 64 if {[llength $v]==3} {lappend v 0} |
65 set ::sqlite_libversion [format \ | 65 set ::sqlite_libversion [format \ |
66 "%d%.2d%.2d%2d" [lindex $v 0] [lindex $v 1] [lindex $v 2] [lindex $v 3] | 66 "%d%.2d%.2d%.2d" [lindex $v 0] [lindex $v 1] [lindex $v 2] [lindex $v 3] |
67 ] | 67 ] |
68 } | 68 } |
69 } | 69 } |
70 | 70 |
71 uplevel $script | 71 uplevel $script |
72 | 72 |
73 catch { code1 { db close } } | 73 catch { code1 { db close } } |
74 catch { code2 { db close } } | 74 catch { code2 { db close } } |
75 catch { close $::bc_chan2 } | 75 catch { close $::bc_chan2 } |
76 catch { close $::bc_chan1 } | 76 catch { close $::bc_chan1 } |
77 | 77 |
78 | 78 |
79 } | 79 } |
80 | 80 |
81 array set ::incompatible [list] | 81 array set ::incompatible [list] |
82 proc do_allbackcompat_test {script} { | 82 proc do_allbackcompat_test {script} { |
83 | 83 |
84 foreach bin $::BC(binaries) { | 84 foreach bin $::BC(binaries) { |
85 set nErr [set_test_counter errors] | 85 set nErr [set_test_counter errors] |
86 foreach dir {0 1} { | 86 foreach dir {0 1} { |
87 | 87 |
88 set bintag [string map {testfixture {}} $bin] | 88 set bintag $bin |
| 89 regsub {.*testfixture\.} $bintag {} bintag |
89 set bintag [string map {\.exe {}} $bintag] | 90 set bintag [string map {\.exe {}} $bintag] |
90 if {$bintag == ""} {set bintag self} | 91 if {$bintag == ""} {set bintag self} |
91 set ::bcname ".$bintag.$dir." | 92 set ::bcname ".$bintag.$dir." |
92 | 93 |
93 rename do_test _do_test | 94 rename do_test _do_test |
94 proc do_test {nm sql res} { | 95 proc do_test {nm sql res} { |
95 set nm [regsub {\.} $nm $::bcname] | 96 set nm [regsub {\.} $nm $::bcname] |
96 uplevel [list _do_test $nm $sql $res] | 97 uplevel [list _do_test $nm $sql $res] |
97 } | 98 } |
98 | 99 |
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 INSERT INTO t2 SELECT words FROM t1; | 414 INSERT INTO t2 SELECT words FROM t1; |
414 INSERT INTO t2 SELECT words FROM t1; | 415 INSERT INTO t2 SELECT words FROM t1; |
415 INSERT INTO t2 SELECT words FROM t1; | 416 INSERT INTO t2 SELECT words FROM t1; |
416 SELECT level, group_concat(idx, ' ') FROM t2_segdir GROUP BY level; | 417 SELECT level, group_concat(idx, ' ') FROM t2_segdir GROUP BY level; |
417 } | 418 } |
418 } {0 {0 1 2 3 4 5}} | 419 } {0 {0 1 2 3 4 5}} |
419 | 420 |
420 if {[code1 { set ::sqlite_libversion }] >=3071200 | 421 if {[code1 { set ::sqlite_libversion }] >=3071200 |
421 && [code2 { set ::sqlite_libversion }] >=3071200 | 422 && [code2 { set ::sqlite_libversion }] >=3071200 |
422 } { | 423 } { |
| 424 if {[code1 { set ::sqlite_libversion }]<3120000} { |
| 425 set res {0 {0 1} 1 0} |
| 426 } else { |
| 427 set res {1 0} |
| 428 } |
| 429 |
423 do_test backcompat-3.9 { | 430 do_test backcompat-3.9 { |
424 sql1 { INSERT INTO t2(t2) VALUES('merge=100,4'); } | 431 sql1 { INSERT INTO t2(t2) VALUES('merge=100,4'); } |
425 sql2 { INSERT INTO t2(t2) VALUES('merge=100,4'); } | 432 sql2 { INSERT INTO t2(t2) VALUES('merge=100,4'); } |
426 sql1 { INSERT INTO t2(t2) VALUES('merge=100,4'); } | 433 sql1 { INSERT INTO t2(t2) VALUES('merge=100,4'); } |
427 sql2 { INSERT INTO t2(t2) VALUES('merge=2500,4'); } | 434 sql2 { INSERT INTO t2(t2) VALUES('merge=2500,4'); } |
428 sql2 { | 435 sql2 { |
429 SELECT level, group_concat(idx, ' ') FROM t2_segdir GROUP BY level; | 436 SELECT level, group_concat(idx, ' ') FROM t2_segdir GROUP BY level; |
430 } | 437 } |
431 } {0 {0 1} 1 0} | 438 } $res |
432 | 439 |
433 do_test backcompat-3.10 { | 440 do_test backcompat-3.10 { |
434 sql1 { INSERT INTO t2(t2) VALUES('integrity-check') } | 441 sql1 { INSERT INTO t2(t2) VALUES('integrity-check') } |
435 sql2 { INSERT INTO t2(t2) VALUES('integrity-check') } | 442 sql2 { INSERT INTO t2(t2) VALUES('integrity-check') } |
436 } {} | 443 } {} |
437 } | 444 } |
438 } | 445 } |
439 } | 446 } |
440 } | 447 } |
441 | 448 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
508 | 515 |
509 foreach {n q} $::queries { | 516 foreach {n q} $::queries { |
510 do_test backcompat-4.6.$n [list sql1 $q] [sql2 $q] | 517 do_test backcompat-4.6.$n [list sql1 $q] [sql2 $q] |
511 } | 518 } |
512 | 519 |
513 } | 520 } |
514 } | 521 } |
515 } | 522 } |
516 | 523 |
517 finish_test | 524 finish_test |
OLD | NEW |