###############################################################################
#
# tkt-2ce0870fad.eagle --
#
# Written by Joe Mistachkin.
# Released to the public domain, use at your own risk!
#
###############################################################################
package require Eagle
package require Eagle.Library
package require Eagle.Test
runTestPrologue
###############################################################################
package require System.Data.SQLite.Test
runSQLiteTestPrologue
###############################################################################
#
# NOTE: Make sure that SQLite core library is completely shutdown prior to
# starting any of the tests in this file.
#
shutdownSQLite $test_channel
###############################################################################
for {set i 1} {$i < 3} {incr i} {
runTest {test [appendArgs tkt-2ce0870fad-1. $i] {logging setup} -setup \
[getAppDomainPreamble {
proc haveSQLiteObjectCommand {[info args haveSQLiteObjectCommand]} {
[info body haveSQLiteObjectCommand]
}
set i {$i}
set appDomainId($i) {[expr {[haveSQLiteObjectCommand] ? \
[object invoke AppDomain.CurrentDomain Id] : [info appdomain]}]}
set fileName {[appendArgs tkt-2ce0870fad-1. $i .db]}
}] -body {
set appDomainId(3) [object invoke AppDomain.CurrentDomain Id]
package require Eagle.Library
package require Eagle.Test
package require System.Data.SQLite.Test
set assembly [object load -loadtype File [file join [getBinaryDirectory] \
System.Data.SQLite.dll]]
object invoke System.Data.SQLite.SQLiteLog Initialize
list $appDomainId($i) $appDomainId(3) [expr {$i == 1 ? \
$appDomainId($i) != $appDomainId(3) : \
$appDomainId($i) == $appDomainId(3)}] [setupDb $fileName]
} -cleanup {
cleanupDb $fileName
#
# NOTE: If this is the primary application domain, skip unsetting the
# loop variable because the surrounding [for] command still needs
# it.
#
if {$i <= 1} then {
unset -nocomplain i
}
unset -nocomplain assembly appDomainId db fileName
} -constraints {eagle command.object monoBug28 command.sql compile.DATA\
compile.ISOLATED_INTERPRETERS SQLite System.Data.SQLite} -isolationLevel \
[expr {$i == 1 ? "AppDomain" : "Default"}] -match regexp -result \
{^\d+ \d+ True System#Data#SQLite#SQLiteConnection#\d+$}}
}
###############################################################################
unset -nocomplain i
###############################################################################
runSQLiteTestEpilogue
runTestEpilogue