aboutsummaryrefslogtreecommitdiff
path: root/internal/mptest/crash02.subtest
diff options
context:
space:
mode:
authorJan Mercl <0xjnml@gmail.com>2019-12-26 17:24:51 +0100
committerJan Mercl <0xjnml@gmail.com>2019-12-26 17:24:51 +0100
commit6efd3c70006496181ffdf7397f8181c1b49895d8 (patch)
tree4108ec133e01017f490c5b4f023ffbd00f0ecdaa /internal/mptest/crash02.subtest
parent8717080461412ef105e587b66fecfc6221691674 (diff)
v1.1.0-alpha.2v1.1.0-alpha.2
Diffstat (limited to 'internal/mptest/crash02.subtest')
-rw-r--r--internal/mptest/crash02.subtest53
1 files changed, 53 insertions, 0 deletions
diff --git a/internal/mptest/crash02.subtest b/internal/mptest/crash02.subtest
new file mode 100644
index 0000000..86f64dd
--- /dev/null
+++ b/internal/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