###############################################################################
#
# tkt-448d663d11.eagle --
#
# Written by Joe Mistachkin.
# Released to the public domain, use at your own risk!
#
###############################################################################
package require Eagle
package require EagleLibrary
package require EagleTest
runTestPrologue
###############################################################################
source [file join $path common.eagle]
runSQLiteTestPrologue
###############################################################################
runTest {test tkt-448d663d11-1.1 {missing journal mode, new db} -body {
setupDb [set fileName tkt-448d663d11-1.1.db]
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {delete}}
###############################################################################
runTest {test tkt-448d663d11-1.2 {missing journal mode, WAL db} -body {
set fileName tkt-448d663d11-1.2.db
file copy -force [file join $path wal.db] \
[file join [getTemporaryPath] $fileName]
setupDb $fileName "" false
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {wal}}
###############################################################################
runTest {test tkt-448d663d11-1.3 {missing journal mode, non-WAL db} -body {
set fileName tkt-448d663d11-1.3.db
file copy -force [file join $path nonWal.db] \
[file join [getTemporaryPath] $fileName]
setupDb $fileName "" false
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {delete}}
###############################################################################
runTest {test tkt-448d663d11-1.4 {'Default' journal mode, new db} -body {
setupDb [set fileName tkt-448d663d11-1.4.db] Default
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {delete}}
###############################################################################
runTest {test tkt-448d663d11-1.5 {'Default' journal mode, WAL db} -body {
set fileName tkt-448d663d11-1.5.db
file copy -force [file join $path wal.db] \
[file join [getTemporaryPath] $fileName]
setupDb $fileName Default false
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {wal}}
###############################################################################
runTest {test tkt-448d663d11-1.6 {'Default' journal mode, non-WAL db} -body {
set fileName tkt-448d663d11-1.6.db
file copy -force [file join $path nonWal.db] \
[file join [getTemporaryPath] $fileName]
setupDb $fileName Default false
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {delete}}
###############################################################################
runTest {test tkt-448d663d11-1.7 {'Delete' journal mode, new db} -body {
setupDb [set fileName tkt-448d663d11-1.7.db] Delete
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {delete}}
###############################################################################
runTest {test tkt-448d663d11-1.8 {'Delete' journal mode, WAL db} -body {
set fileName tkt-448d663d11-1.8.db
file copy -force [file join $path wal.db] \
[file join [getTemporaryPath] $fileName]
setupDb $fileName Delete false
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {delete}}
###############################################################################
runTest {test tkt-448d663d11-1.9 {'Delete' journal mode, non-WAL db} -body {
set fileName tkt-448d663d11-1.9.db
file copy -force [file join $path nonWal.db] \
[file join [getTemporaryPath] $fileName]
setupDb $fileName Delete false
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {delete}}
###############################################################################
runTest {test tkt-448d663d11-1.10 {'Persist' journal mode, new db} -body {
setupDb [set fileName tkt-448d663d11-1.10.db] Persist
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {persist}}
###############################################################################
runTest {test tkt-448d663d11-1.11 {'Off' journal mode, new db} -body {
setupDb [set fileName tkt-448d663d11-1.11.db] Off
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {off}}
###############################################################################
runTest {test tkt-448d663d11-1.12 {'Truncate' journal mode, new db} -body {
setupDb [set fileName tkt-448d663d11-1.12.db] Truncate
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {truncate}}
###############################################################################
runTest {test tkt-448d663d11-1.13 {'Memory' journal mode, new db} -body {
setupDb [set fileName tkt-448d663d11-1.13.db] Memory
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {memory}}
###############################################################################
runTest {test tkt-448d663d11-1.14 {'Wal' journal mode, new db} -body {
setupDb [set fileName tkt-448d663d11-1.14.db] Wal
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {wal}}
###############################################################################
runTest {test tkt-448d663d11-1.15 {'Wal' journal mode, non-WAL db} -body {
set fileName tkt-448d663d11-1.15.db
file copy -force [file join $path nonWal.db] \
[file join [getTemporaryPath] $fileName]
setupDb $fileName Wal false
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {wal}}
###############################################################################
runTest {test tkt-448d663d11-1.16 {'Wal' journal mode, WAL db} -body {
set fileName tkt-448d663d11-1.16.db
file copy -force [file join $path wal.db] \
[file join [getTemporaryPath] $fileName]
setupDb $fileName Wal false
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {wal}}
###############################################################################
runTest {test tkt-448d663d11-1.17 {'Bad' journal mode, new db} -body {
setupDb [set fileName tkt-448d663d11-1.17.db] Bad
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {delete}}
###############################################################################
runTest {test tkt-448d663d11-1.18 {'Bad' journal mode, non-WAL db} -body {
set fileName tkt-448d663d11-1.18.db
file copy -force [file join $path nonWal.db] \
[file join [getTemporaryPath] $fileName]
setupDb $fileName Bad false
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {delete}}
###############################################################################
runTest {test tkt-448d663d11-1.19 {'Bad' journal mode, WAL db} -body {
set fileName tkt-448d663d11-1.19.db
file copy -force [file join $path wal.db] \
[file join [getTemporaryPath] $fileName]
setupDb $fileName Bad false
sql execute -execute scalar $db "PRAGMA journal_mode;"
} -cleanup {
cleanupDb $fileName
unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA System.Data.SQLite} -result {wal}}
###############################################################################
runSQLiteTestEpilogue
runTestEpilogue