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

Side by Side Diff: third_party/sqlite/src/test/backup2.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 # 2009 February 4 1 # 2009 February 4
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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 54
55 # Remember a check-sum on the database file. 55 # Remember a check-sum on the database file.
56 # 56 #
57 unset -nocomplain cksum 57 unset -nocomplain cksum
58 set cksum [dbcksum db main] 58 set cksum [dbcksum db main]
59 59
60 # Make a backup of the test data. Verify that the backup copy 60 # Make a backup of the test data. Verify that the backup copy
61 # is identical to the original. 61 # is identical to the original.
62 # 62 #
63 do_test backup2-2 { 63 do_test backup2-2 {
64 file delete -force bu1.db 64 forcedelete bu1.db
65 db backup bu1.db 65 db backup bu1.db
66 sqlite3 db2 bu1.db 66 sqlite3 db2 bu1.db
67 dbcksum db2 main 67 dbcksum db2 main
68 } $cksum 68 } $cksum
69 69
70 # Delete the original. Restore from backup. Verify the content is 70 # Delete the original. Restore from backup. Verify the content is
71 # unchanged. 71 # unchanged.
72 # 72 #
73 do_test backup2-3.1 { 73 do_test backup2-3.1 {
74 db close 74 db close
75 file delete -force test.db test.db-journal 75 forcedelete test.db test.db-journal
76 sqlite3 db test.db 76 sqlite3 db test.db
77 db2 eval {BEGIN EXCLUSIVE} 77 db2 eval {BEGIN EXCLUSIVE}
78 set rc [catch {db restore bu1.db} res] 78 set rc [catch {db restore bu1.db} res]
79 lappend rc $res 79 lappend rc $res
80 db2 eval {ROLLBACK} 80 db2 eval {ROLLBACK}
81 set rc 81 set rc
82 } {1 {restore failed: source database busy}} 82 } {1 {restore failed: source database busy}}
83 do_test backup2-3.2 { 83 do_test backup2-3.2 {
84 db close 84 db close
85 file delete -force test.db test.db-journal 85 forcedelete test.db test.db-journal
86 sqlite3 db test.db 86 sqlite3 db test.db
87 db restore bu1.db 87 db restore bu1.db
88 dbcksum db main 88 dbcksum db main
89 } $cksum 89 } $cksum
90 90
91 # Use alternative databases - other than "main". 91 # Use alternative databases - other than "main".
92 # 92 #
93 do_test backup2-4 { 93 do_test backup2-4 {
94 db restore temp bu1.db 94 db restore temp bu1.db
95 dbcksum db temp 95 dbcksum db temp
96 } $cksum 96 } $cksum
97 do_test backup2-5 { 97 do_test backup2-5 {
98 db2 close 98 db2 close
99 file delete -force bu1.db bu2.db 99 forcedelete bu1.db bu2.db
100 db backup temp bu2.db 100 db backup temp bu2.db
101 sqlite3 db2 bu2.db 101 sqlite3 db2 bu2.db
102 dbcksum db2 main 102 dbcksum db2 main
103 } $cksum 103 } $cksum
104 104
105 # Try to backup to a readonly file. 105 # Try to backup to a readonly file.
106 # 106 #
107 do_test backup2-6 { 107 do_test backup2-6 {
108 db2 close 108 db2 close
109 catch {file attributes bu2.db -permissions r--------} 109 catch {file attributes bu2.db -permissions r--------}
(...skipping 10 matching lines...) Expand all
120 set out [open bu2.db w] 120 set out [open bu2.db w]
121 puts $out "This is not a valid database file" 121 puts $out "This is not a valid database file"
122 close $out 122 close $out
123 set rc [catch {db backup temp bu2.db} res] 123 set rc [catch {db backup temp bu2.db} res]
124 lappend rc $res 124 lappend rc $res
125 } {1 {backup failed: file is encrypted or is not a database}} 125 } {1 {backup failed: file is encrypted or is not a database}}
126 126
127 # Try to backup database that does not exist 127 # Try to backup database that does not exist
128 # 128 #
129 do_test backup2-8 { 129 do_test backup2-8 {
130 file delete -force bu1.db 130 forcedelete bu1.db
131 set rc [catch {db backup aux1 bu1.db} res] 131 set rc [catch {db backup aux1 bu1.db} res]
132 lappend rc $res 132 lappend rc $res
133 } {1 {backup failed: unknown database aux1}} 133 } {1 {backup failed: unknown database aux1}}
134 134
135 # Invalid syntax on the backup method 135 # Invalid syntax on the backup method
136 # 136 #
137 do_test backup2-9 { 137 do_test backup2-9 {
138 set rc [catch {db backup} res] 138 set rc [catch {db backup} res]
139 lappend rc $res 139 lappend rc $res
140 } {1 {wrong # args: should be "db backup ?DATABASE? FILENAME"}} 140 } {1 {wrong # args: should be "db backup ?DATABASE? FILENAME"}}
141 141
142 # Try to restore from an unreadable file. 142 # Try to restore from an unreadable file.
143 # 143 #
144 if {$tcl_platform(platform)=="windows"} { 144 if {$tcl_platform(platform)=="windows"} {
145 do_test backup2-10 { 145 set msg {cannot open source database: unable to open database file}
146 file delete -force bu3.db 146 } elseif {$tcl_platform(os)=="OpenBSD"} {
147 file mkdir bu3.db 147 set msg {restore failed: file is encrypted or is not a database}
148 set rc [catch {db restore temp bu3.db} res] 148 } else {
149 lappend rc $res 149 set msg {cannot open source database: disk I/O error}
150 } {1 {cannot open source database: unable to open database file}}
151 } 150 }
152 if {$tcl_platform(platform)!="windows"} { 151 do_test backup2-10 {
153 do_test backup2-10 { 152 forcedelete bu3.db
154 file delete -force bu3.db 153 file mkdir bu3.db
155 file mkdir bu3.db 154 set rc [catch {db restore temp bu3.db} res]
156 set rc [catch {db restore temp bu3.db} res] 155 lappend rc $res
157 lappend rc $res 156 } [list 1 $msg]
158 } {1 {cannot open source database: disk I/O error}}
159 }
160 157
161 # Try to restore from something that is not a database file. 158 # Try to restore from something that is not a database file.
162 # 159 #
163 do_test backup2-11 { 160 do_test backup2-11 {
164 set rc [catch {db restore temp bu2.db} res] 161 set rc [catch {db restore temp bu2.db} res]
165 lappend rc $res 162 lappend rc $res
166 } {1 {restore failed: file is encrypted or is not a database}} 163 } {1 {restore failed: file is encrypted or is not a database}}
167 164
168 # Try to restore a database that does not exist 165 # Try to restore a database that does not exist
169 # 166 #
170 do_test backup2-12 { 167 do_test backup2-12 {
171 set rc [catch {db restore aux1 bu2.db} res] 168 set rc [catch {db restore aux1 bu2.db} res]
172 lappend rc $res 169 lappend rc $res
173 } {1 {restore failed: unknown database aux1}} 170 } {1 {restore failed: unknown database aux1}}
174 do_test backup2-13 { 171 do_test backup2-13 {
175 file delete -force bu4.db 172 forcedelete bu4.db
176 set rc [catch {db restore bu4.db} res] 173 set rc [catch {db restore bu4.db} res]
177 lappend rc $res 174 lappend rc $res
178 } {1 {cannot open source database: unable to open database file}} 175 } {1 {cannot open source database: unable to open database file}}
179 176
180 # Invalid syntax on the restore method 177 # Invalid syntax on the restore method
181 # 178 #
182 do_test backup2-14 { 179 do_test backup2-14 {
183 set rc [catch {db restore} res] 180 set rc [catch {db restore} res]
184 lappend rc $res 181 lappend rc $res
185 } {1 {wrong # args: should be "db restore ?DATABASE? FILENAME"}} 182 } {1 {wrong # args: should be "db restore ?DATABASE? FILENAME"}}
186 183
187 file delete -force bu1.db bu2.db bu3.db bu4.db 184 forcedelete bu1.db bu2.db bu3.db bu4.db
188 185
189 finish_test 186 finish_test
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698