Index: third_party/sqlite/sqlite-src-3080704/mptest/crash02.subtest |
diff --git a/third_party/sqlite/sqlite-src-3080704/mptest/crash02.subtest b/third_party/sqlite/sqlite-src-3080704/mptest/crash02.subtest |
new file mode 100644 |
index 0000000000000000000000000000000000000000..86f64ddbe77f997dcda0855c85a735b32cfbf8e7 |
--- /dev/null |
+++ b/third_party/sqlite/sqlite-src-3080704/mptest/crash02.subtest |
@@ -0,0 +1,53 @@ |
+/* |
+** This script is called from crash01.test and config02.test and perhaps other |
+** script. After the database file has been set up, make a big rollback |
+** journal in client 1, then crash client 1. |
+** Then in the other clients, do an integrity check. |
+*/ |
+--task 1 leave-hot-journal |
+ --sleep 5 |
+ --finish |
+ PRAGMA cache_size=10; |
+ BEGIN; |
+ UPDATE t1 SET b=randomblob(20000); |
+ UPDATE t2 SET b=randomblob(20000); |
+ UPDATE t3 SET b=randomblob(20000); |
+ UPDATE t4 SET b=randomblob(20000); |
+ UPDATE t5 SET b=randomblob(20000); |
+ UPDATE t1 SET b=NULL; |
+ UPDATE t2 SET b=NULL; |
+ UPDATE t3 SET b=NULL; |
+ UPDATE t4 SET b=NULL; |
+ UPDATE t5 SET b=NULL; |
+ --print Task one crashing an incomplete transaction |
+ --exit 1 |
+--end |
+--task 2 integrity_check-2 |
+ SELECT count(*) FROM t1; |
+ --match 64 |
+ --sleep 100 |
+ PRAGMA integrity_check(10); |
+ --match ok |
+--end |
+--task 3 integrity_check-3 |
+ SELECT count(*) FROM t1; |
+ --match 64 |
+ --sleep 100 |
+ PRAGMA integrity_check(10); |
+ --match ok |
+--end |
+--task 4 integrity_check-4 |
+ SELECT count(*) FROM t1; |
+ --match 64 |
+ --sleep 100 |
+ PRAGMA integrity_check(10); |
+ --match ok |
+--end |
+--task 5 integrity_check-5 |
+ SELECT count(*) FROM t1; |
+ --match 64 |
+ --sleep 100 |
+ PRAGMA integrity_check(10); |
+ --match ok |
+--end |
+--wait all |