diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 14:07:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 14:07:11 +0000 |
commit | 63847496f14c813a5d80efd5b7de0f1294ffe1e3 (patch) | |
tree | 01c7571c7c762ceee70638549a99834fdd7c411b /test/init.test | |
parent | Initial commit. (diff) | |
download | sqlite3-63847496f14c813a5d80efd5b7de0f1294ffe1e3.tar.xz sqlite3-63847496f14c813a5d80efd5b7de0f1294ffe1e3.zip |
Adding upstream version 3.45.1.upstream/3.45.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/init.test')
-rw-r--r-- | test/init.test | 82 |
1 files changed, 82 insertions, 0 deletions
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 |