diff options
author | das <das> | 2006-12-17 03:47:06 (GMT) |
---|---|---|
committer | das <das> | 2006-12-17 03:47:06 (GMT) |
commit | e948966663e0c332c86aad5aa167f86f853b9e55 (patch) | |
tree | 46ed3f955943f0b626f59adda7a6e0cc020ac4b4 /tests | |
parent | aa3f7eb23be4f2cb040b9fd9cf025fc1740a120b (diff) | |
download | tcl-e948966663e0c332c86aad5aa167f86f853b9e55.zip tcl-e948966663e0c332c86aad5aa167f86f853b9e55.tar.gz tcl-e948966663e0c332c86aad5aa167f86f853b9e55.tar.bz2 |
* tests/macOSXLoad.test (new file): add testing of .bundle loading and
* tests/load.test: unloading on Darwin (in addition to
* tests/unload.test: existing tests of .dylib loading).
* macosx/Tcl.xcodeproj/project.pbxproj: add building of dltest binaries
so that testsuite run from Xcode can use them; fix testsuite run script.
* unix/configure.in: add support for building dltest binaries as
* unix/dltest/Makefile.in: .bundle (in addition to .dylib) on Darwin.
* unix/Makefile.in: add stub lib dependency to dltest target.
* unix/configure: autoconf-2.59
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 |