OLD | NEW |
| (Empty) |
1 # 2005 March 15 | |
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 # This file implements regression tests for SQLite library. | |
12 # | |
13 # This file implements tests to make sure that leftover journals from | |
14 # prior databases do not try to rollback into new databases. | |
15 # | |
16 # $Id: journal1.test,v 1.2 2005/03/20 22:54:56 drh Exp $ | |
17 | |
18 | |
19 set testdir [file dirname $argv0] | |
20 source $testdir/tester.tcl | |
21 | |
22 # These tests will not work on windows because windows uses | |
23 # manditory file locking which breaks the copy_file command. | |
24 # | |
25 if {$tcl_platform(platform)=="windows"} { | |
26 finish_test | |
27 return | |
28 } | |
29 | |
30 # Create a smaple database | |
31 # | |
32 do_test journal1-1.1 { | |
33 execsql { | |
34 CREATE TABLE t1(a,b); | |
35 INSERT INTO t1 VALUES(1,randstr(10,400)); | |
36 INSERT INTO t1 VALUES(2,randstr(10,400)); | |
37 INSERT INTO t1 SELECT a+2, a||b FROM t1; | |
38 INSERT INTO t1 SELECT a+4, a||b FROM t1; | |
39 SELECT count(*) FROM t1; | |
40 } | |
41 } 8 | |
42 | |
43 # Make changes to the database and save the journal file. | |
44 # Then delete the database. Replace the journal file | |
45 # and try to create a new database with the same name. The | |
46 # old journal should not attempt to rollback into the new | |
47 # database. | |
48 # | |
49 do_test journal1-1.2 { | |
50 execsql { | |
51 BEGIN; | |
52 DELETE FROM t1; | |
53 } | |
54 forcecopy test.db-journal test.db-journal-bu | |
55 execsql { | |
56 ROLLBACK; | |
57 } | |
58 db close | |
59 delete_file test.db | |
60 copy_file test.db-journal-bu test.db-journal | |
61 sqlite3 db test.db | |
62 catchsql { | |
63 SELECT * FROM sqlite_master | |
64 } | |
65 } {0 {}} | |
66 | |
67 finish_test | |
OLD | NEW |