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

Unified Diff: third_party/sqlite/src/test/shared.test

Issue 949043002: Add //third_party/sqlite to dirs_to_snapshot, remove net_sql.patch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/sqlite/src/test/server1.test ('k') | third_party/sqlite/src/test/shared2.test » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/sqlite/src/test/shared.test
diff --git a/third_party/sqlite/src/test/shared.test b/third_party/sqlite/src/test/shared.test
index 35ddf08820355a2566bee8a6b0e03f73945feca4..4eab476582c2230ca24cdcdadda3205ba2217563 100644
--- a/third_party/sqlite/src/test/shared.test
+++ b/third_party/sqlite/src/test/shared.test
@@ -27,7 +27,7 @@ set ::enable_shared_cache [sqlite3_enable_shared_cache 1]
foreach av [list 0 1] {
# Open the database connection and execute the auto-vacuum pragma
-file delete -force test.db
+forcedelete test.db
sqlite3 db test.db
ifcapable autovacuum {
@@ -293,9 +293,9 @@ catch {db3 close}
# db2.main -> ./test2.db
# db2.test -> ./test.db
#
-file delete -force test.db
-file delete -force test2.db
-file delete -force test2.db-journal
+forcedelete test.db
+forcedelete test2.db
+forcedelete test2.db-journal
sqlite3 db test.db
sqlite3 db2 test2.db
do_test shared-$av.4.1.1 {
@@ -426,7 +426,7 @@ catch {db close}
# Tests shared-5.*
#
foreach db [list test.db test1.db test2.db test3.db] {
- file delete -force $db ${db}-journal
+ forcedelete $db ${db}-journal
}
do_test shared-$av.5.1.1 {
sqlite3 db1 test.db
@@ -557,7 +557,7 @@ do_test shared-$av.6.1.4 {
catch {db1 close}
catch {db2 close}
foreach f [list test.db test2.db] {
- file delete -force $f ${f}-journal
+ forcedelete $f ${f}-journal
}
#--------------------------------------------------------------------------
@@ -643,7 +643,7 @@ unset -nocomplain contents
# The following tests try to trick the shared-cache code into assuming
# the wrong encoding for a database.
#
-file delete -force test.db test.db-journal
+forcedelete test.db test.db-journal
ifcapable utf16 {
do_test shared-$av.8.1.1 {
sqlite3 db test.db
@@ -675,7 +675,7 @@ ifcapable utf16 {
}
} {UTF-8}
- file delete -force test2.db test2.db-journal
+ forcedelete test2.db test2.db-journal
do_test shared-$av.8.2.1 {
execsql {
ATTACH 'test2.db' AS aux;
@@ -693,7 +693,7 @@ ifcapable utf16 {
catch {db close}
catch {db2 close}
- file delete -force test.db test2.db
+ forcedelete test.db test2.db
do_test shared-$av.8.3.2 {
sqlite3 db test.db
@@ -732,7 +732,7 @@ if 0 {
catch {db close}
catch {db2 close}
-file delete -force test.db test2.db
+forcedelete test.db test2.db
#---------------------------------------------------------------------------
# The following tests - shared-9.* - test interactions between TEMP triggers
@@ -772,7 +772,7 @@ do_test shared-$av.9.3 {
#
do_test shared-$av.10.1 {
# Create a small sample database with two connections to it (db and db2).
- file delete -force test.db
+ forcedelete test.db
sqlite3 db test.db
sqlite3 db2 test.db
execsql {
@@ -853,7 +853,7 @@ do_test shared-$av.10.11 {
} {}
do_test shared-$av.11.1 {
- file delete -force test.db
+ forcedelete test.db
sqlite3 db test.db
sqlite3 db2 test.db
execsql {
@@ -904,9 +904,11 @@ do_test shared-$av.11.8 {
set res
} {1 4 {} 7}
if {[llength [info command sqlite3_shared_cache_report]]==1} {
- do_test shared-$av.11.9 {
- string tolower [sqlite3_shared_cache_report]
- } [string tolower [list [file nativename [file normalize test.db]] 2]]
+ ifcapable curdir {
+ do_test shared-$av.11.9 {
+ string tolower [sqlite3_shared_cache_report]
+ } [string tolower [list [file nativename [file normalize test.db]] 2]]
+ }
}
do_test shared-$av.11.11 {
@@ -916,7 +918,7 @@ do_test shared-$av.11.11 {
# This tests that if it is impossible to free any pages, SQLite will
# exceed the limit set by PRAGMA cache_size.
-file delete -force test.db test.db-journal
+forcedelete test.db test.db-journal
sqlite3 db test.db
ifcapable pager_pragmas {
do_test shared-$av.12.1 {
@@ -963,7 +965,7 @@ do_test shared-$av.12.X {
# database handle. This covers an extra line or two.
#
do_test shared-$av.13.1 {
- file delete -force test2.db test3.db test4.db test5.db
+ forcedelete test2.db test3.db test4.db test5.db
sqlite3 db :memory:
execsql {
ATTACH 'test2.db' AS aux2;
@@ -1026,7 +1028,7 @@ do_test shared-$av.14.3 {
# assert() statements in the C code.
#
do_test shared-$av-15.1 {
- file delete -force test.db
+ forcedelete test.db
sqlite3 db test.db -fullmutex 1
sqlite3 db2 test.db -fullmutex 1
execsql {
@@ -1056,7 +1058,127 @@ do_test shared-$av-15.2 {
db close
db2 close
-}
+# Shared cache on a :memory: database. This only works for URI filenames.
+#
+do_test shared-$av-16.1 {
+ sqlite3 db1 file::memory: -uri 1
+ sqlite3 db2 file::memory: -uri 1
+ db1 eval {
+ CREATE TABLE t1(x); INSERT INTO t1 VALUES(1),(2),(3);
+ }
+ db2 eval {
+ SELECT x FROM t1 ORDER BY x;
+ }
+} {1 2 3}
+do_test shared-$av-16.2 {
+ db2 eval {
+ INSERT INTO t1 VALUES(99);
+ DELETE FROM t1 WHERE x=2;
+ }
+ db1 eval {
+ SELECT x FROM t1 ORDER BY x;
+ }
+} {1 3 99}
+
+# Verify that there is no cache sharing ordinary (non-URI) filenames are
+# used.
+#
+do_test shared-$av-16.3 {
+ db1 close
+ db2 close
+ sqlite3 db1 :memory:
+ sqlite3 db2 :memory:
+ db1 eval {
+ CREATE TABLE t1(x); INSERT INTO t1 VALUES(4),(5),(6);
+ }
+ catchsql {
+ SELECT * FROM t1;
+ } db2
+} {1 {no such table: t1}}
+
+# Shared cache on named memory databases.
+#
+do_test shared-$av-16.4 {
+ db1 close
+ db2 close
+ forcedelete test.db test.db-wal test.db-journal
+ sqlite3 db1 file:test.db?mode=memory -uri 1
+ sqlite3 db2 file:test.db?mode=memory -uri 1
+ db1 eval {
+ CREATE TABLE t1(x); INSERT INTO t1 VALUES(1),(2),(3);
+ }
+ db2 eval {
+ SELECT x FROM t1 ORDER BY x;
+ }
+} {1 2 3}
+do_test shared-$av-16.5 {
+ db2 eval {
+ INSERT INTO t1 VALUES(99);
+ DELETE FROM t1 WHERE x=2;
+ }
+ db1 eval {
+ SELECT x FROM t1 ORDER BY x;
+ }
+} {1 3 99}
+do_test shared-$av-16.6 {
+ file exists test.db
+} {0} ;# Verify that the database is in-memory
+
+# Shared cache on named memory databases with different names.
+#
+do_test shared-$av-16.7 {
+ db1 close
+ db2 close
+ forcedelete test1.db test2.db
+ sqlite3 db1 file:test1.db?mode=memory -uri 1
+ sqlite3 db2 file:test2.db?mode=memory -uri 1
+ db1 eval {
+ CREATE TABLE t1(x); INSERT INTO t1 VALUES(1),(2),(3);
+ }
+ catchsql {
+ SELECT x FROM t1 ORDER BY x;
+ } db2
+} {1 {no such table: t1}}
+do_test shared-$av-16.8 {
+ file exists test1.db
+} {0} ;# Verify that the database is in-memory
+
+# Shared cache on named memory databases attached to readonly connections.
+#
+do_test shared-$av-16.8.1 {
+ db1 close
+ db2 close
+
+ sqlite3 db test1.db
+ db eval {
+ CREATE TABLE yy(a, b);
+ INSERT INTO yy VALUES(77, 88);
+ }
+ db close
+
+ sqlite3 db1 test1.db -uri 1 -readonly 1
+ sqlite3 db2 test2.db -uri 1
+
+ db1 eval {
+ ATTACH 'file:mem?mode=memory&cache=shared' AS shared;
+ CREATE TABLE shared.xx(a, b);
+ INSERT INTO xx VALUES(55, 66);
+ }
+ db2 eval {
+ ATTACH 'file:mem?mode=memory&cache=shared' AS shared;
+ SELECT * FROM xx;
+ }
+} {55 66}
+
+do_test shared-$av-16.8.2 { db1 eval { SELECT * FROM yy } } {77 88}
+do_test shared-$av-16.8.3 {
+ list [catch {db1 eval { INSERT INTO yy VALUES(1, 2) }} msg] $msg
+} {1 {attempt to write a readonly database}}
+
+db1 close
+db2 close
+
+} ;# end of autovacuum on/off loop
sqlite3_enable_shared_cache $::enable_shared_cache
finish_test
« no previous file with comments | « third_party/sqlite/src/test/server1.test ('k') | third_party/sqlite/src/test/shared2.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698