| Index: third_party/sqlite/src/test/crash8.test
|
| diff --git a/third_party/sqlite/src/test/crash8.test b/third_party/sqlite/src/test/crash8.test
|
| index 6424a1abb96b7e38fb5276cb4be05451fa403f37..930834a96292d53cf9a08bc00ea86e3c9e788bcd 100644
|
| --- a/third_party/sqlite/src/test/crash8.test
|
| +++ b/third_party/sqlite/src/test/crash8.test
|
| @@ -243,7 +243,7 @@ do_test crash8-3.11 {
|
| #
|
| ifcapable pragma {
|
| reset_db
|
| - file delete -force test2.db
|
| + forcedelete test2.db
|
|
|
| do_test crash8-4.1 {
|
| execsql {
|
| @@ -336,67 +336,73 @@ ifcapable pragma {
|
| } {def}
|
|
|
| do_test crash8-4.10 {
|
| - file delete $zMasterJournal
|
| + delete_file $zMasterJournal
|
| execsql { SELECT b FROM main.ab WHERE a = 0 }
|
| } {jkl}
|
| }
|
|
|
| -for {set i 1} {$i < 10} {incr i} {
|
| - catch { db close }
|
| - file delete -force test.db test.db-journal
|
| - sqlite3 db test.db
|
| - do_test crash8-5.$i.1 {
|
| - execsql {
|
| - CREATE TABLE t1(x PRIMARY KEY);
|
| - INSERT INTO t1 VALUES(randomblob(900));
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 64 rows */
|
| - }
|
| - crashsql -file test.db -delay [expr ($::i%2) + 1] {
|
| - PRAGMA cache_size = 10;
|
| - BEGIN;
|
| - UPDATE t1 SET x = randomblob(900);
|
| - ROLLBACK;
|
| - INSERT INTO t1 VALUES(randomblob(900));
|
| - }
|
| - execsql { PRAGMA integrity_check }
|
| - } {ok}
|
| +#
|
| +# Since the following tests (crash8-5.*) rely upon being able
|
| +# to copy a file while open, they will not work on Windows.
|
| +#
|
| +if {$::tcl_platform(platform)=="unix"} {
|
| + for {set i 1} {$i < 10} {incr i} {
|
| + catch { db close }
|
| + forcedelete test.db test.db-journal
|
| + sqlite3 db test.db
|
| + do_test crash8-5.$i.1 {
|
| + execsql {
|
| + CREATE TABLE t1(x PRIMARY KEY);
|
| + INSERT INTO t1 VALUES(randomblob(900));
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 64 rows */
|
| + }
|
| + crashsql -file test.db -delay [expr ($::i%2) + 1] {
|
| + PRAGMA cache_size = 10;
|
| + BEGIN;
|
| + UPDATE t1 SET x = randomblob(900);
|
| + ROLLBACK;
|
| + INSERT INTO t1 VALUES(randomblob(900));
|
| + }
|
| + execsql { PRAGMA integrity_check }
|
| + } {ok}
|
|
|
| - catch { db close }
|
| - file delete -force test.db test.db-journal
|
| - sqlite3 db test.db
|
| - do_test crash8-5.$i.2 {
|
| - execsql {
|
| - PRAGMA cache_size = 10;
|
| - CREATE TABLE t1(x PRIMARY KEY);
|
| - INSERT INTO t1 VALUES(randomblob(900));
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| - INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 64 rows */
|
| - BEGIN;
|
| - UPDATE t1 SET x = randomblob(900);
|
| - }
|
| - file delete -force testX.db testX.db-journal testX.db-wal
|
| - copy_file test.db testX.db
|
| - copy_file test.db-journal testX.db-journal
|
| - db close
|
| -
|
| - crashsql -file test.db -delay [expr ($::i%2) + 1] {
|
| - SELECT * FROM sqlite_master;
|
| - INSERT INTO t1 VALUES(randomblob(900));
|
| - }
|
| -
|
| - sqlite3 db2 testX.db
|
| - execsql { PRAGMA integrity_check } db2
|
| - } {ok}
|
| + catch { db close }
|
| + forcedelete test.db test.db-journal
|
| + sqlite3 db test.db
|
| + do_test crash8-5.$i.2 {
|
| + execsql {
|
| + PRAGMA cache_size = 10;
|
| + CREATE TABLE t1(x PRIMARY KEY);
|
| + INSERT INTO t1 VALUES(randomblob(900));
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1;
|
| + INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 64 rows */
|
| + BEGIN;
|
| + UPDATE t1 SET x = randomblob(900);
|
| + }
|
| + forcedelete testX.db testX.db-journal testX.db-wal
|
| + forcecopy test.db testX.db
|
| + forcecopy test.db-journal testX.db-journal
|
| + db close
|
| +
|
| + crashsql -file test.db -delay [expr ($::i%2) + 1] {
|
| + SELECT * FROM sqlite_master;
|
| + INSERT INTO t1 VALUES(randomblob(900));
|
| + }
|
| +
|
| + sqlite3 db2 testX.db
|
| + execsql { PRAGMA integrity_check } db2
|
| + } {ok}
|
| + }
|
| + catch {db2 close}
|
| }
|
| -catch {db2 close}
|
|
|
| finish_test
|
|
|