diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/load.test | 10 | ||||
-rw-r--r-- | tests/macOSXLoad.test | 35 | ||||
-rw-r--r-- | tests/unload.test | 7 |
3 files changed, 46 insertions, 6 deletions
diff --git a/tests/load.test b/tests/load.test index acdb025..373327f 100644 --- a/tests/load.test +++ b/tests/load.test @@ -10,7 +10,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: load.test,v 1.16 2006/10/09 19:15:45 msofer Exp $ +# RCS: @(#) $Id: load.test,v 1.17 2006/12/17 03:47:08 das Exp $ if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest 2 @@ -19,9 +19,10 @@ if {[lsearch [namespace children] ::tcltest] == -1} { # Figure out what extension is used for shared libraries on this # platform. - +if {![info exists ext]} { + set ext [info sharedlibextension] +} # Tests require the existence of one of the DLLs in the dltest directory. -set ext [info sharedlibextension] set testDir [file join [file dirname [info nameofexecutable]] dltest] set x [file join $testDir pkga$ext] set dll "[file tail $x]Required" @@ -195,7 +196,8 @@ test load-9.1 {Tcl_StaticPackage, load already-loaded package into another inter -result {{{{} Loadninepointone} {{} Tcltest}} {{{} Loadninepointone} {{} Tcltest}}} \ -cleanup { interp delete child1 ; interp delete child2 } - + # cleanup +unset ext ::tcltest::cleanupTests return diff --git a/tests/macOSXLoad.test b/tests/macOSXLoad.test new file mode 100644 index 0000000..6db695e --- /dev/null +++ b/tests/macOSXLoad.test @@ -0,0 +1,35 @@ +# Commands covered: load unload +# +# This file contains a collection of tests for one or more of the Tcl +# built-in commands. Sourcing this file into Tcl runs the tests and +# generates output for errors. No output means no errors were found. +# +# Copyright (c) 1995 Sun Microsystems, Inc. +# Copyright (c) 1998-1999 by Scriptics Corporation. +# +# See the file "license.terms" for information on usage and redistribution +# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# RCS: @(#) $Id: macOSXLoad.test,v 1.1 2006/12/17 03:47:08 das Exp $ + +if {[lsearch [namespace children] ::tcltest] == -1} { + package require tcltest 2 + namespace import -force ::tcltest::* +} +set oldTSF $::tcltest::testSingleFile +set ::tcltest::testSingleFile false + +if {[testConstraint unix] && $tcl_platform(os) eq "Darwin" && + ![string match *pkga* [info loaded]]} { + # On Darwin, test .bundle (un)loading in addition to .dylib + set ext .bundle + source [file join [file dirname [info script]] load.test] + set ext .bundle + source [file join [file dirname [info script]] unload.test] + unset -nocomplain ext +} + +set ::tcltest::testSingleFile $oldTSF +unset oldTSF +::tcltest::cleanupTests +return diff --git a/tests/unload.test b/tests/unload.test index 8af0672..d26f012 100644 --- a/tests/unload.test +++ b/tests/unload.test @@ -11,7 +11,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: unload.test,v 1.5 2006/03/21 11:12:29 dkf Exp $ +# RCS: @(#) $Id: unload.test,v 1.6 2006/12/17 03:47:08 das Exp $ if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest 2 @@ -20,9 +20,11 @@ if {[lsearch [namespace children] ::tcltest] == -1} { # Figure out what extension is used for shared libraries on this # platform. +if {![info exists ext]} { + set ext [info sharedlibextension] +} # Tests require the existence of one of the DLLs in the dltest directory. -set ext [info sharedlibextension] set testDir [file join [file dirname [info nameofexecutable]] dltest] set x [file join $testDir pkgua$ext] set dll "[file tail $x]Required" @@ -214,5 +216,6 @@ test unload-4.6 {basic unloading of unloadable package from a safe interpreter, # cleanup interp delete child interp delete child-trusted +unset ext ::tcltest::cleanupTests return |