From e36d23a85ebff914d74bb541558c2b6082b78edb Mon Sep 17 00:00:00 2001 From: dan miller Date: Sat, 20 Oct 2007 02:49:29 +0000 Subject: sqlite source (unix build) added to libraries --- .../sqlite/unix/sqlite-3.5.1/test/pragma2.test | 117 +++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 libraries/sqlite/unix/sqlite-3.5.1/test/pragma2.test (limited to 'libraries/sqlite/unix/sqlite-3.5.1/test/pragma2.test') diff --git a/libraries/sqlite/unix/sqlite-3.5.1/test/pragma2.test b/libraries/sqlite/unix/sqlite-3.5.1/test/pragma2.test new file mode 100644 index 0000000..faf04c0 --- /dev/null +++ b/libraries/sqlite/unix/sqlite-3.5.1/test/pragma2.test @@ -0,0 +1,117 @@ +# 2002 March 6 +# +# The author disclaims copyright to this source code. In place of +# a legal notice, here is a blessing: +# +# May you do good and not evil. +# May you find forgiveness for yourself and forgive others. +# May you share freely, never taking more than you give. +# +#*********************************************************************** +# This file implements regression tests for SQLite library. +# +# This file implements tests for the PRAGMA command. +# +# $Id: pragma2.test,v 1.3 2007/09/12 17:01:45 danielk1977 Exp $ + +set testdir [file dirname $argv0] +source $testdir/tester.tcl + +# Test organization: +# +# pragma2-1.*: Test freelist_count pragma on the main database. +# pragma2-2.*: Test freelist_count pragma on an attached database. +# pragma2-3.*: Test trying to write to the freelist_count is a no-op. +# + +ifcapable !pragma||!schema_pragmas { + finish_test + return +} + +# Delete the preexisting database to avoid the special setup +# that the "all.test" script does. +# +db close +file delete test.db test.db-journal +file delete test3.db test3.db-journal +sqlite3 db test.db; set DB [sqlite3_connection_pointer db] +db eval {PRAGMA auto_vacuum=0} + +do_test pragma2-1.1 { + execsql { + PRAGMA freelist_count; + } +} {0} +do_test pragma2-1.2 { + execsql { + CREATE TABLE abc(a, b, c); + PRAGMA freelist_count; + } +} {0} +do_test pragma2-1.3 { + execsql { + DROP TABLE abc; + PRAGMA freelist_count; + } +} {1} +do_test pragma2-1.4 { + execsql { + PRAGMA main.freelist_count; + } +} {1} + +file delete -force test2.db +file delete -force test2.db-journal + +do_test pragma2-2.1 { + execsql { + ATTACH 'test2.db' AS aux; + PRAGMA aux.auto_vacuum=OFF; + PRAGMA aux.freelist_count; + } +} {0} +do_test pragma2-2.2 { + execsql { + CREATE TABLE aux.abc(a, b, c); + PRAGMA aux.freelist_count; + } +} {0} +do_test pragma2-2.3 { + set ::val [string repeat 0123456789 1000] + execsql { + INSERT INTO aux.abc VALUES(1, 2, $::val); + PRAGMA aux.freelist_count; + } +} {0} +do_test pragma2-2.4 { + expr {[file size test2.db] / 1024} +} {11} +do_test pragma2-2.5 { + execsql { + DELETE FROM aux.abc; + PRAGMA aux.freelist_count; + } +} {9} + +do_test pragma2-3.1 { + execsql { + PRAGMA aux.freelist_count; + PRAGMA main.freelist_count; + PRAGMA freelist_count; + } +} {9 1 1} +do_test pragma2-3.2 { + execsql { + PRAGMA freelist_count = 500; + PRAGMA freelist_count; + } +} {1 1} +do_test pragma2-3.3 { + execsql { + PRAGMA aux.freelist_count = 500; + PRAGMA aux.freelist_count; + } +} {9 9} + +finish_test -- cgit v1.1