Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(189)

Side by Side Diff: third_party/sqlite/src/test/tkt3457.test

Issue 901033002: Import SQLite 3.8.7.4. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Chromium changes to support SQLite 3.8.7.4. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # 2008 October 29 1 # 2008 October 29
2 # 2 #
3 # The author disclaims copyright to this source code. In place of 3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing: 4 # a legal notice, here is a blessing:
5 # 5 #
6 # May you do good and not evil. 6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others. 7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give. 8 # May you share freely, never taking more than you give.
9 # 9 #
10 #*********************************************************************** 10 #***********************************************************************
(...skipping 28 matching lines...) Expand all
39 # file. Result: SQLITE_OK. 39 # file. Result: SQLITE_OK.
40 # 40 #
41 do_test tkt3457-1.1 { 41 do_test tkt3457-1.1 {
42 execsql { 42 execsql {
43 CREATE TABLE t1(a, b, c); 43 CREATE TABLE t1(a, b, c);
44 INSERT INTO t1 VALUES(1, 2, 3); 44 INSERT INTO t1 VALUES(1, 2, 3);
45 BEGIN; 45 BEGIN;
46 INSERT INTO t1 VALUES(4, 5, 6); 46 INSERT INTO t1 VALUES(4, 5, 6);
47 } 47 }
48 48
49 file copy -force test.db bak.db 49 forcecopy test.db bak.db
50 file copy -force test.db-journal bak.db-journal 50 forcecopy test.db-journal bak.db-journal
51 51
52 # Fix the first journal-header in the journal-file. Because the 52 # Fix the first journal-header in the journal-file. Because the
53 # journal file has not yet been synced, the 8-byte magic string at the 53 # journal file has not yet been synced, the 8-byte magic string at the
54 # start of the first journal-header has not been written by SQLite. 54 # start of the first journal-header has not been written by SQLite.
55 # So write it now. 55 # So write it now.
56 set fd [open bak.db-journal a+] 56 set fd [open bak.db-journal a+]
57 fconfigure $fd -encoding binary -translation binary 57 fconfigure $fd -encoding binary -translation binary
58 seek $fd 0 58 seek $fd 0
59 puts -nonewline $fd "\xd9\xd5\x05\xf9\x20\xa1\x63\xd7" 59 puts -nonewline $fd "\xd9\xd5\x05\xf9\x20\xa1\x63\xd7"
60 close $fd 60 close $fd
61 61
62 execsql COMMIT 62 execsql COMMIT
63 } {} 63 } {}
64 64
65 # Disable fchmod to make sure SQLite itself does not try to change the
66 # permission bits on us
67 #
68 catch {
69 test_syscall install fchmod
70 test_syscall fault 1 1
71 }
72
65 do_test tkt3457-1.2 { 73 do_test tkt3457-1.2 {
66 file copy -force bak.db-journal test.db-journal 74 forcecopy bak.db-journal test.db-journal
67 file attributes test.db-journal -permissions --------- 75 file attributes test.db-journal -permissions ---------
68 catchsql { SELECT * FROM t1 } 76 catchsql { SELECT * FROM t1 }
69 } {1 {unable to open database file}} 77 } {1 {unable to open database file}}
70 do_test tkt3457-1.3 { 78 do_test tkt3457-1.3 {
71 file copy -force bak.db-journal test.db-journal 79 forcecopy bak.db-journal test.db-journal
72 file attributes test.db-journal -permissions -w--w--w- 80 file attributes test.db-journal -permissions -w--w--w-
73 catchsql { SELECT * FROM t1 } 81 catchsql { SELECT * FROM t1 }
74 } {1 {unable to open database file}} 82 } {1 {unable to open database file}}
75 do_test tkt3457-1.4 { 83 do_test tkt3457-1.4 {
76 file copy -force bak.db-journal test.db-journal 84 forcecopy bak.db-journal test.db-journal
77 file attributes test.db-journal -permissions r--r--r-- 85 file attributes test.db-journal -permissions r--r--r--
78 catchsql { SELECT * FROM t1 } 86 catchsql { SELECT * FROM t1 }
79 } {1 {unable to open database file}} 87 } {1 {unable to open database file}}
80 88
81 do_test tkt3457-1.5 { 89 do_test tkt3457-1.5 {
82 file copy -force bak.db-journal test.db-journal 90 forcecopy bak.db-journal test.db-journal
83 file attributes test.db-journal -permissions rw-rw-rw- 91 file attributes test.db-journal -permissions rw-rw-rw-
84 catchsql { SELECT * FROM t1 } 92 catchsql { SELECT * FROM t1 }
85 } {0 {1 2 3 4 5 6}} 93 } {0 {1 2 3 4 5 6}}
86 94
95 # Reenable fchmod
96 catch {
97 test_syscall uninstall
98 test_syscall fault 0 0
99 }
100
87 finish_test 101 finish_test
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698