Index: Externals/Eagle/lib/Eagle1.0/vendor.eagle ================================================================== --- Externals/Eagle/lib/Eagle1.0/vendor.eagle +++ Externals/Eagle/lib/Eagle1.0/vendor.eagle @@ -81,11 +81,11 @@ if {[file exists [file join $dir Tests]] && \ [file isdirectory [file join $dir Tests]] && \ [file exists [file join $dir Tests pkgIndex.eagle]] && \ [file isfile [file join $dir Tests pkgIndex.eagle]]} then { # - # NOTE: If requested, give the caller access to the name of the + # NOTE: If requested, give our caller access to the name of the # directory we just found. # if {[string length $varName] > 0} then { upvar 1 $varName dir2 } @@ -182,14 +182,14 @@ # NOTE: This variable will contain the name of the directory containing the # vendor-specific testing infrastructure. If the variable does not # already exist, create it; otherwise, it has been overridden and the # existing value should be left intact. # - set have_vendor_directory [info exists ::vendor_directory] + set have_vendor_directory [info exists vendor_directory] if {!$have_vendor_directory} then { - set ::vendor_directory "" + set vendor_directory "" } # # NOTE: This procedure will attempt to find the vendor-specific testing # infrastructure directory and add it to the auto-path for the @@ -197,23 +197,23 @@ # created above to point to the directory added to the auto-path; # however, this will not be done if the variable was not created # by us. # addTestSuiteToAutoPath stdout [expr {$have_vendor_directory ? "" : \ - "::vendor_directory"}] false + "vendor_directory"}] false unset have_vendor_directory # # NOTE: If we actually found a vendor-specific testing infrastructure # directory then modify the TestPath property of the current # interpreter to point directly to it. # - if {[string length $::vendor_directory] > 0} then { - setupInterpreterTestPath stdout $::vendor_directory false + if {[string length $vendor_directory] > 0} then { + setupInterpreterTestPath stdout $vendor_directory false } } } ############################################################################### ############################### END VENDOR CODE ############################### ############################################################################### Index: Tests/common.eagle ================================================================== --- Tests/common.eagle +++ Tests/common.eagle @@ -343,11 +343,11 @@ [llength $::test_overrides] > 0} then { eval lappend varNames $::test_overrides } # - # NOTE: If requested by the caller, add any additional variable + # NOTE: If requested by our caller, add any additional variable # names to copy now. # if {[llength $extraVarNames] > 0} then { eval lappend varNames $extraVarNames } @@ -388,27 +388,33 @@ return $result } proc getAppDomainPreamble { {prefix ""} {suffix ""} } { # - # NOTE: This procedure returns a test setup script suitable for evaluation - # by a test interpreter created in an isolated application domain. - # The script being returned will be surrounded by the prefix and - # suffix "script fragments" specified by our caller, if any. The - # entire script being returned will be substituted via [subst], in - # the context of our caller. This step is necessary so that some - # limited context information, primarily related to the test build - # directory, can be transferred to the interpreter in the isolated - # application domain, making it able to successfully run tests that - # require one or more of the files in the build directory. Callers - # to this procedure should keep in mind that the test script being - # returned cannot rely on any script library procedures not defined - # by the Eagle.Library package (i.e. "init.eagle"). Also, all - # variable references and all "nested" commands (i.e. those in - # square brackets), unless they are specially quoted, will end up - # being evaluated in the context of the calling interpreter and not - # the test interpreter created in the isolated application domain. + # NOTE: This procedure returns a test setup script fragment suitable for + # evaluation by an interpreter created in an isolated application + # domain. The script fragment being returned will be surrounded by + # the prefix and suffix "script fragments" specified by our caller, + # if any. The entire script being returned will be substituted via + # [subst], in the context of our caller, before being returned. + # This step is necessary so that some limited context information, + # primarily related to the testing directories, can be transferred + # to the interpreter in the isolated application domain, making it + # able to successfully run tests that require one or more of the + # files in one of the testing directories. Callers should keep in + # mind that the test script fragment being returned cannot rely on + # any script library procedures that are not provided by the Eagle + # library package (i.e. "init.eagle"), including those provided by + # the Eagle test package, unless the file containing them is loaded + # manually via some other mechanism (e.g. by including appropriate + # [package require] or [source] commands in the prefix or suffix + # script fragments). Also, all variable references and all nested + # commands (i.e. those in square brackets) contained in the final + # script fragment will end up being evaluated in the context of the + # calling interpreter and not the target interpreter created in the + # isolated application domain unless the dollar signs and/or square + # brackets are specially quoted with backslashes. # return [uplevel 1 [list subst [appendArgs $prefix { if {[hasRuntimeOption native]} then { object invoke Interpreter.GetActive AddRuntimeOption native } @@ -815,11 +821,11 @@ # set db [sql open -type SQLite [subst $connection]] # # NOTE: Configure the temporary directory for the newly opened database - # connection now unless the caller forbids it. + # connection now unless our caller forbids it. # if {$temporary} then { sql execute $db [appendArgs \ "PRAGMA temp_store_directory = \"" [getTemporaryDirectory] "\";"] }