diff options
Diffstat (limited to 'libraries/sqlite/unix/sqlite-3.5.1/test/tkt2686.tcl')
-rw-r--r-- | libraries/sqlite/unix/sqlite-3.5.1/test/tkt2686.tcl | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/libraries/sqlite/unix/sqlite-3.5.1/test/tkt2686.tcl b/libraries/sqlite/unix/sqlite-3.5.1/test/tkt2686.tcl new file mode 100644 index 0000000..93ac171 --- /dev/null +++ b/libraries/sqlite/unix/sqlite-3.5.1/test/tkt2686.tcl | |||
@@ -0,0 +1,46 @@ | |||
1 | # 2007 Oct 3 | ||
2 | # | ||
3 | # The author disclaims copyright to this source code. In place of | ||
4 | # a legal notice, here is a blessing: | ||
5 | # | ||
6 | # May you do good and not evil. | ||
7 | # May you find forgiveness for yourself and forgive others. | ||
8 | # May you share freely, never taking more than you give. | ||
9 | # | ||
10 | #*********************************************************************** | ||
11 | # | ||
12 | # This file is to test that ticket #2686 has been fixed. | ||
13 | # | ||
14 | # $Id: tkt2686.tcl,v 1.1 2007/10/03 15:30:52 drh Exp $ | ||
15 | # | ||
16 | |||
17 | set testdir [file dirname $argv0] | ||
18 | source $testdir/tester.tcl | ||
19 | |||
20 | db eval { | ||
21 | PRAGMA page_size=1024; | ||
22 | PRAGMA max_page_count=50; | ||
23 | PRAGMA auto_vacuum=0; | ||
24 | CREATE TABLE filler (fill); | ||
25 | } | ||
26 | for {set i 1} {$i<2000} {incr i} { | ||
27 | do_test tkt2686-$i.1 { | ||
28 | db eval BEGIN | ||
29 | set rc [catch { | ||
30 | while 1 { | ||
31 | db eval {INSERT INTO filler (fill) VALUES (randstr(1000, 10000)) } | ||
32 | } | ||
33 | } msg] | ||
34 | lappend rc $msg | ||
35 | } {1 {database or disk is full}} | ||
36 | do_test tkt2686-$i.2 { | ||
37 | execsql { | ||
38 | DELETE FROM filler | ||
39 | WHERE rowid <= (SELECT MAX(rowid) FROM filler LIMIT 20) | ||
40 | } | ||
41 | } {} | ||
42 | integrity_check tkt2686-$i.3 | ||
43 | catch {db eval COMMIT} | ||
44 | } | ||
45 | |||
46 | finish_test | ||