From 7bb481fda9ecb134804b49c2ce77ca28f7eea583 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 30 Mar 2012 20:42:12 -0400 Subject: Imported Upstream version 2.0.3 --- test/init.test | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 test/init.test (limited to 'test/init.test') diff --git a/test/init.test b/test/init.test new file mode 100644 index 0000000..7cb18f4 --- /dev/null +++ b/test/init.test @@ -0,0 +1,82 @@ +# 2001 September 15 +# +# 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. The +# focus of this file is testing the effects of a failure in +# sqlite3_initialize(). +# +# + +set testdir [file dirname $argv0] +source $testdir/tester.tcl +if {[db eval {SELECT sqlite_compileoption_used('THREADSAFE=0')}]} { + finish_test + return +} + +db close + +foreach {t failed rc started} { + 1.1 {} SQLITE_OK {mutex mem pcache} + 1.2 {mutex} SQLITE_ERROR {} + 1.3 {mem} SQLITE_ERROR {mutex} + 1.4 {pcache} SQLITE_ERROR {mutex mem} +} { + do_test init-$t.1 { + eval init_wrapper_install $failed + sqlite3_initialize + } $rc + do_test init-$t.2 { + init_wrapper_query + } $started + do_test init-$t.3 { + sqlite3_shutdown + init_wrapper_query + } {} + do_test init-$t.4 { + sqlite3_initialize + } $rc + do_test init-$t.5 { + init_wrapper_query + } $started + do_test init-$t.6 { + init_wrapper_clear + sqlite3_initialize + } SQLITE_OK + do_test init-$t.7 { + init_wrapper_query + } {mutex mem pcache} + do_test init-$t.8 { + init_wrapper_uninstall + } {} +} + +source $testdir/malloc_common.tcl +if {$MEMDEBUG} { + do_malloc_test init-2 -tclprep { + db close + init_wrapper_install + } -tclbody { + set rc [sqlite3_initialize] + if {[string match "SQLITE*NOMEM" $rc]} {error "out of memory"} + } -cleanup { + set zRepeat "transient" + if {$::iRepeat} {set zRepeat "persistent"} + do_test init-2.$zRepeat.$::n.x { + init_wrapper_clear + sqlite3_initialize + } SQLITE_OK + init_wrapper_uninstall + } +} + +autoinstall_test_functions +finish_test -- cgit v1.2.3