summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorkjnash <k.j.nash@usa.net>2022-08-31 14:28:57 (GMT)
committerkjnash <k.j.nash@usa.net>2022-08-31 14:28:57 (GMT)
commit19f8c3bb6b2aa8d571a7534b588ddacfb49952d3 (patch)
tree5051f34456c20c798d30e7741fae52575927fd7a /tests
parentd9b5be0959a8ee2b81ba519ff3d4c70b2da9a6ce (diff)
parentff1e919a1bae9ff88ab6dbc094b18cfadedfe8af (diff)
downloadtcl-19f8c3bb6b2aa8d571a7534b588ddacfb49952d3.zip
tcl-19f8c3bb6b2aa8d571a7534b588ddacfb49952d3.tar.gz
tcl-19f8c3bb6b2aa8d571a7534b588ddacfb49952d3.tar.bz2
Merge old 8.7 674a6ad0472c7
Diffstat (limited to 'tests')
-rw-r--r--tests/aaa_exit.test8
-rw-r--r--tests/all.tcl6
-rw-r--r--tests/append.test12
-rw-r--r--tests/appendComp.test18
-rw-r--r--tests/apply.test12
-rw-r--r--tests/assemble.test4
-rw-r--r--tests/assocd.test12
-rw-r--r--tests/async.test10
-rw-r--r--tests/autoMkindex.test28
-rw-r--r--tests/basic.test18
-rw-r--r--tests/binary.test17
-rw-r--r--tests/case.test8
-rw-r--r--tests/chan.test6
-rw-r--r--tests/chanio.test47
-rw-r--r--tests/clock.test10
-rw-r--r--tests/cmdAH.test17
-rw-r--r--tests/cmdIL.test9
-rw-r--r--tests/cmdInfo.test12
-rw-r--r--tests/cmdMZ.test12
-rw-r--r--tests/compExpr-old.test13
-rw-r--r--tests/compExpr.test56
-rw-r--r--tests/compile.test19
-rw-r--r--tests/concat.test8
-rw-r--r--tests/config.test8
-rw-r--r--tests/coroutine.test20
-rw-r--r--tests/dcall.test12
-rw-r--r--tests/dict.test2
-rw-r--r--tests/dstring.test8
-rw-r--r--tests/encoding.test115
-rw-r--r--tests/env.test18
-rw-r--r--tests/error.test8
-rw-r--r--tests/eval.test8
-rw-r--r--tests/event.test6
-rw-r--r--tests/exec.test19
-rw-r--r--tests/execute.test140
-rw-r--r--tests/expr-old.test22
-rw-r--r--tests/expr.test79
-rw-r--r--tests/fCmd.test50
-rw-r--r--tests/fileName.test50
-rw-r--r--tests/fileSystem.test17
-rw-r--r--tests/fileSystemEncoding.test9
-rw-r--r--tests/for-old.test20
-rw-r--r--tests/for.test66
-rw-r--r--tests/foreach.test6
-rw-r--r--tests/format.test11
-rw-r--r--tests/get.test6
-rw-r--r--tests/history.test26
-rw-r--r--tests/http.test19
-rw-r--r--tests/http11.test8
-rw-r--r--tests/httpPipeline.test6
-rw-r--r--tests/httpTest.tcl12
-rw-r--r--tests/httpcookie.test15
-rw-r--r--tests/httpd4
-rw-r--r--tests/httpd11.tcl2
-rw-r--r--tests/if-old.test8
-rw-r--r--tests/if.test54
-rw-r--r--tests/incr-old.test8
-rw-r--r--tests/incr.test6
-rw-r--r--tests/indexObj.test6
-rw-r--r--tests/info.test12
-rw-r--r--tests/init.test6
-rw-r--r--tests/internals.tcl2
-rw-r--r--tests/interp.test552
-rw-r--r--tests/io.test36
-rw-r--r--tests/ioCmd.test16
-rw-r--r--tests/ioTrans.test26
-rw-r--r--tests/iogt.test10
-rw-r--r--tests/join.test8
-rw-r--r--tests/lindex.test18
-rw-r--r--tests/link.test8
-rw-r--r--tests/linsert.test8
-rw-r--r--tests/list.test22
-rw-r--r--tests/listObj.test6
-rw-r--r--tests/llength.test8
-rw-r--r--tests/lmap.test8
-rw-r--r--tests/load.test128
-rw-r--r--tests/lpop.test8
-rw-r--r--tests/lrange.test8
-rw-r--r--tests/lrepeat.test4
-rw-r--r--tests/lreplace.test8
-rw-r--r--tests/lsearch.test10
-rw-r--r--tests/lset.test4
-rw-r--r--tests/lsetComp.test4
-rw-r--r--tests/macOSXFCmd.test4
-rw-r--r--tests/macOSXLoad.test6
-rw-r--r--tests/main.test6
-rw-r--r--tests/mathop.test12
-rw-r--r--tests/misc.test8
-rw-r--r--tests/msgcat.test11
-rw-r--r--tests/namespace-old.test12
-rw-r--r--tests/namespace.test70
-rw-r--r--tests/notify.test4
-rw-r--r--tests/nre.test4
-rw-r--r--tests/obj.test8
-rw-r--r--tests/oo.test168
-rw-r--r--tests/ooNext2.test14
-rw-r--r--tests/ooUtil.test10
-rw-r--r--tests/opt.test14
-rw-r--r--tests/package.test8
-rw-r--r--tests/parse.test34
-rw-r--r--tests/parseExpr.test18
-rw-r--r--tests/parseOld.test14
-rw-r--r--tests/pid.test8
-rw-r--r--tests/pkgMkIndex.test42
-rw-r--r--tests/platform.test4
-rw-r--r--tests/proc-old.test20
-rw-r--r--tests/proc.test14
-rw-r--r--tests/process.test4
-rw-r--r--tests/pwd.test13
-rw-r--r--tests/reg.test7
-rw-r--r--tests/regexp.test8
-rw-r--r--tests/regexpComp.test8
-rw-r--r--tests/registry.test11
-rw-r--r--tests/remote.tcl10
-rw-r--r--tests/rename.test8
-rw-r--r--tests/resolver.test10
-rw-r--r--tests/result.test10
-rw-r--r--tests/safe-stock.test (renamed from tests/safe-stock87.test)58
-rw-r--r--tests/safe-zipfs.test46
-rw-r--r--tests/safe.test120
-rw-r--r--tests/scan.test8
-rw-r--r--tests/security.test6
-rw-r--r--tests/set-old.test8
-rw-r--r--tests/set.test6
-rw-r--r--tests/socket.test61
-rw-r--r--tests/source.test6
-rw-r--r--tests/split.test8
-rw-r--r--tests/stack.test8
-rw-r--r--tests/string.test64
-rw-r--r--tests/stringObj.test10
-rw-r--r--tests/subst.test34
-rw-r--r--tests/switch.test8
-rw-r--r--tests/tailcall.test4
-rw-r--r--tests/tcltest.test176
-rw-r--r--tests/tcltests.tcl2
-rw-r--r--tests/thread.test16
-rw-r--r--tests/timer.test18
-rw-r--r--tests/tm.test5
-rw-r--r--tests/trace.test26
-rw-r--r--tests/unixFCmd.test4
-rw-r--r--tests/unixFile.test4
-rw-r--r--tests/unixForkEvent.test10
-rw-r--r--tests/unixInit.test10
-rw-r--r--tests/unixNotfy.test6
-rw-r--r--tests/unknown.test12
-rw-r--r--tests/unload.test15
-rw-r--r--tests/uplevel.test27
-rw-r--r--tests/upvar.test8
-rw-r--r--tests/utf.test18
-rw-r--r--tests/util.test31
-rw-r--r--tests/var.test14
-rw-r--r--tests/while-old.test16
-rw-r--r--tests/while.test50
-rw-r--r--tests/winConsole.test4
-rw-r--r--tests/winDde.test202
-rw-r--r--tests/winFCmd.test49
-rw-r--r--tests/winFile.test18
-rw-r--r--tests/winNotify.test6
-rw-r--r--tests/winPipe.test27
-rw-r--r--tests/winTime.test12
-rw-r--r--tests/zipfs.test6
-rw-r--r--tests/zlib.test10
162 files changed, 2141 insertions, 1874 deletions
diff --git a/tests/aaa_exit.test b/tests/aaa_exit.test
index a8aa6fc..fffc1cc 100644
--- a/tests/aaa_exit.test
+++ b/tests/aaa_exit.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/all.tcl b/tests/all.tcl
index 52c8763..d2acbec 100644
--- a/tests/all.tcl
+++ b/tests/all.tcl
@@ -1,11 +1,11 @@
# all.tcl --
#
# This file contains a top-level script to run all of the Tcl
-# tests. Execute it by invoking "source all.test" when running tcltest
+# tests. Execute it by invoking "source all.tcl" when running tcltest
# in this directory.
#
-# Copyright (c) 1998-1999 by Scriptics Corporation.
-# Copyright (c) 2000 by Ajuba Solutions
+# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright © 2000 Ajuba Solutions
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
diff --git a/tests/append.test b/tests/append.test
index 0487f5c..a174615 100644
--- a/tests/append.test
+++ b/tests/append.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
unset -nocomplain x
@@ -32,7 +32,7 @@ test append-1.3 {append command} {
test append-2.1 {long appends} {
set x ""
- for {set i 0} {$i < 1000} {set i [expr $i+1]} {
+ for {set i 0} {$i < 1000} {incr i} {
append x "foobar "
}
set y "foobar"
@@ -158,7 +158,7 @@ test append-5.1 {long lappends} -setup {
if {$l != $size} {
return "length mismatch: should have been $size, was $l"
}
- for {set i 0} {$i < $size} {set i [expr $i+1]} {
+ for {set i 0} {$i < $size} {incr i} {
set j [lindex $var $i]
if {$j ne "item $i"} {
return "element $i should have been \"item $i\", was \"$j\""
diff --git a/tests/appendComp.test b/tests/appendComp.test
index ebd48eb..66f2a5c 100644
--- a/tests/appendComp.test
+++ b/tests/appendComp.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
catch {unset x}
@@ -41,7 +41,7 @@ test appendComp-1.3 {append command} {
test appendComp-2.1 {long appends} {
proc foo {} {
set x ""
- for {set i 0} {$i < 1000} {set i [expr $i+1]} {
+ for {set i 0} {$i < 1000} {incr i} {
append x "foobar "
}
set y "foobar"
@@ -223,7 +223,7 @@ test appendComp-5.1 {long lappends} -setup {
}
} -body {
set x ""
- for {set i 0} {$i < 300} {set i [expr $i+1]} {
+ for {set i 0} {$i < 300} {incr i} {
lappend x "item $i"
}
check $x 300
@@ -359,9 +359,9 @@ test appendComp-7.9 {append var does not trigger read trace} -setup {
} -result {0}
test appendComp-8.1 {defer error to runtime} -setup {
- interp create slave
+ interp create child
} -body {
- slave eval {
+ child eval {
proc foo {} {
proc append args {}
append
@@ -369,7 +369,7 @@ test appendComp-8.1 {defer error to runtime} -setup {
foo
}
} -cleanup {
- interp delete slave
+ interp delete child
} -result {}
# New tests for bug 3057639 to show off the more consistent behaviour of
diff --git a/tests/apply.test b/tests/apply.test
index 88f63fd..e2be172 100644
--- a/tests/apply.test
+++ b/tests/apply.test
@@ -4,16 +4,16 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
-# Copyright (c) 2005-2006 Miguel Sofer
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright © 2005-2006 Miguel Sofer
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -25,7 +25,7 @@ testConstraint memory [llength [info commands memory]]
# Tests for wrong number of arguments
-test apply-1.1 {too few arguments} -returnCodes error -body {
+test apply-1.1 {not enough arguments} -returnCodes error -body {
apply
} -result {wrong # args: should be "apply lambdaExpr ?arg ...?"}
diff --git a/tests/assemble.test b/tests/assemble.test
index 5d86c47..55124d0 100644
--- a/tests/assemble.test
+++ b/tests/assemble.test
@@ -2,8 +2,8 @@
#
# Test suite for the 'tcl::unsupported::assemble' command
#
-# Copyright (c) 2010 by Ozgur Dogan Ugurlu.
-# Copyright (c) 2010 by Kevin B. Kenny.
+# Copyright © 2010 Ozgur Dogan Ugurlu.
+# Copyright © 2010 Kevin B. Kenny.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
diff --git a/tests/assocd.test b/tests/assocd.test
index edf55c4..9e9b8c6 100644
--- a/tests/assocd.test
+++ b/tests/assocd.test
@@ -4,15 +4,17 @@
# 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) 1991-1994 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1994 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
diff --git a/tests/async.test b/tests/async.test
index ac3c08c..2a40ae9 100644
--- a/tests/async.test
+++ b/tests/async.test
@@ -4,15 +4,15 @@
# library procedures. Sourcing this file into Tcl runs the tests and
# generates output for errors. No output means no errors were found.
#
-# Copyright (c) 1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -20,7 +20,7 @@ if {"::tcltest" ni [namespace children]} {
catch [list package require -exact Tcltest [info patchlevel]]
testConstraint testasync [llength [info commands testasync]]
-testConstraint knownMsvcBug [expr {![info exists ::env(TRAVIS_OS_NAME)] || ![string match windows $::env(TRAVIS_OS_NAME)]}]
+testConstraint knownMsvcBug [expr {![info exists ::env(CI_BUILD_WITH_MSVC)]}]
proc async1 {result code} {
global aresult acode
diff --git a/tests/autoMkindex.test b/tests/autoMkindex.test
index 85f7c0b..214a969 100644
--- a/tests/autoMkindex.test
+++ b/tests/autoMkindex.test
@@ -3,14 +3,14 @@
# This file contains tests related to autoloading and generating the
# autoloading index.
#
-# Copyright (c) 1998 Lucent Technologies, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1998 Lucent Technologies, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -32,7 +32,7 @@ makeFile {# Test file for:
# Note that procedures and itcl class definitions can be nested inside of
# namespaces.
#
-# Copyright (c) 1993-1998 Lucent Technologies, Inc.
+# Copyright © 1993-1998 Lucent Technologies, Inc.
# This shouldn't cause any problems
namespace import -force blt::*
@@ -40,8 +40,8 @@ namespace import -force blt::*
# Should be able to handle "proc" definitions, even if they are preceded by
# white space.
-proc normal {x y} {return [expr $x+$y]}
- proc indented {x y} {return [expr $x+$y]}
+proc normal {x y} {return [expr {$x+$y}]}
+ proc indented {x y} {return [expr {$x+$y}]}
#
# Should be able to handle proc declarations within namespaces, even if they
@@ -146,10 +146,10 @@ test autoMkindex-1.3 {examine tclIndex} -setup {
test autoMkindex-2.1 {commands on the autoload path can be imported} -setup {
file delete tclIndex
- interp create slave
+ interp create child
} -body {
auto_mkindex . autoMkindex.tcl
- slave eval {
+ child eval {
namespace eval blt {}
set auto_path [linsert $auto_path 0 .]
set info [list [catch {namespace import buried::*} result] $result]
@@ -159,7 +159,7 @@ test autoMkindex-2.1 {commands on the autoload path can be imported} -setup {
return $info
}
} -cleanup {
- interp delete slave
+ interp delete child
} -result "0 {} pub_one ::buried::pub_one pub_two ::buried::pub_two"
# Test auto_mkindex hooks
@@ -335,14 +335,14 @@ test autoMkindex-5.2 {correctly locate auto loaded procs with []} -setup {
proc {[magic mojo proc]} {} {}
} [file join pkg magicchar2.tcl]
set result {}
- interp create slave
+ interp create child
} -body {
auto_mkindex . pkg/magicchar2.tcl
- # Make a slave interp to test the autoloading
- slave eval {lappend auto_path [pwd]}
- slave eval {catch {{[magic mojo proc]}}}
+ # Make a child interp to test the autoloading
+ child eval {lappend auto_path [pwd]}
+ child eval {catch {{[magic mojo proc]}}}
} -cleanup {
- interp delete slave
+ interp delete child
removeFile [file join pkg magicchar2.tcl]
removeDirectory pkg
} -result 0
diff --git a/tests/basic.test b/tests/basic.test
index 428fd93..e4e31e2 100644
--- a/tests/basic.test
+++ b/tests/basic.test
@@ -9,14 +9,16 @@
# Sourcing this file into Tcl runs the tests and generates output for
# errors. No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -672,7 +674,7 @@ proc l3 {} {
# Do all tests once byte compiled and once with direct string evaluation
foreach noComp {0 1} {
-if $noComp {
+if {$noComp} {
interp alias {} run {} testevalex
set constraints testevalex
} else {
@@ -999,13 +1001,13 @@ test basic-49.2 {Tcl_EvalEx: verify TCL_EVAL_GLOBAL operation} testevalex {
} {global}
test basic-50.1 {[586e71dce4] EvalObjv level #0 exception handling} -setup {
- interp create slave
- interp alias {} foo slave return
+ interp create child
+ interp alias {} foo child return
} -body {
list [catch foo m] $m
} -cleanup {
unset -nocomplain m
- interp delete slave
+ interp delete child
} -result {0 {}}
# Clean up after expand tests
diff --git a/tests/binary.test b/tests/binary.test
index b2a2a40..8b326d4 100644
--- a/tests/binary.test
+++ b/tests/binary.test
@@ -4,14 +4,14 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1997 by Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
testConstraint bigEndian [expr {$tcl_platform(byteOrder) eq "bigEndian"}]
@@ -759,7 +759,16 @@ test binary-21.12 {Tcl_BinaryObjCmd: scan} -setup {
} -body {
list [binary scan "abc def \x00ghi " A* arg1] $arg1
} -result [list 1 "abc def \x00ghi"]
-
+test binary-21.13 {Tcl_BinaryObjCmd: scan} -setup {
+ unset -nocomplain arg1
+} -body {
+ list [binary scan "abc def \x00 " C* arg1] $arg1
+} -result {1 {abc def }}
+test binary-21.12 {Tcl_BinaryObjCmd: scan} -setup {
+ unset -nocomplain arg1
+} -body {
+ list [binary scan "abc def \x00ghi" C* arg1] $arg1
+} -result {1 {abc def }}
test binary-22.1 {Tcl_BinaryObjCmd: scan} -returnCodes error -body {
binary scan abc b
} -result {not enough arguments for all format specifiers}
diff --git a/tests/case.test b/tests/case.test
index 0aba5cd..1c12e3a 100644
--- a/tests/case.test
+++ b/tests/case.test
@@ -4,9 +4,9 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -17,7 +17,7 @@ if {![llength [info commands case]]} {
}
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/chan.test b/tests/chan.test
index 7d32a8f..3e65433 100644
--- a/tests/chan.test
+++ b/tests/chan.test
@@ -2,13 +2,13 @@
# command. Sourcing this file into Tcl runs the tests and generates
# output for errors. No output means no errors were found.
#
-# Copyright (c) 2005 Donal K. Fellows
+# Copyright © 2005 Donal K. Fellows
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -173,7 +173,7 @@ test chan-16.9 {chan command: pending input subcommand} -setup {
lappend ::chan-16.9-data $r $l $e $b $i
- if {$r != -1 || $e || $l || !$b || $i > 128} {
+ if {$r >= 0 || $e || $l || !$b || $i > 128} {
set data [read $sock $i]
lappend ::chan-16.9-data [string range $data 0 2]
lappend ::chan-16.9-data [string range $data end-2 end]
diff --git a/tests/chanio.test b/tests/chanio.test
index 4e6fcc1..dd45381 100644
--- a/tests/chanio.test
+++ b/tests/chanio.test
@@ -6,19 +6,24 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1994 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1994 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
}
namespace eval ::tcl::test::io {
- namespace import ::tcltest::*
+
+ if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+ }
variable umaskValue
variable path
@@ -42,7 +47,9 @@ namespace eval ::tcl::test::io {
testConstraint testchannelevent [llength [info commands testchannelevent]]
testConstraint testmainthread [llength [info commands testmainthread]]
testConstraint testservicemode [llength [info commands testservicemode]]
- testConstraint knownMsvcBug [expr {![info exists ::env(TRAVIS_OS_NAME)] || ![string match windows $::env(TRAVIS_OS_NAME)]}]
+ testConstraint notWinCI [expr {
+ $::tcl_platform(platform) ne "windows" || ![info exists ::env(CI)]}]
+ testConstraint notOSX [expr {$::tcl_platform(os) ne "Darwin"}]
# You need a *very* special environment to do some tests. In particular,
# many file systems do not support large-files...
@@ -1880,7 +1887,7 @@ test chan-io-20.3 {Tcl_CreateChannel: initial settings} -constraints {unix} -bod
} -result {{{} {}} {auto lf}}
test chan-io-20.5 {Tcl_CreateChannel: install channel in empty slot} -setup {
set path(stdout) [makeFile {} stdout]
-} -constraints {stdio knownMsvcBug} -body {
+} -constraints {stdio notWinCI} -body {
set f [open $path(script) w]
chan puts -nonewline $f {
chan close stdout
@@ -2790,7 +2797,7 @@ test chan-io-29.34 {Tcl_Chan Close, async flush on chan close, using sockets} -s
chan puts $s $l
}
}
-} -constraints {socket tempNotMac fileevent knownMsvcBug} -body {
+} -constraints {socket tempNotMac fileevent notWinCI} -body {
proc accept {s a p} {
variable x
chan event $s readable [namespace code [list readit $s]]
@@ -3044,7 +3051,7 @@ test chan-io-30.13 {Tcl_Write crlf on block boundary, Tcl_Read auto} -setup {
string length [chan read $f]
} -cleanup {
chan close $f
-} -result [expr 700*15+1]
+} -result [expr {700*15 + 1}]
test chan-io-30.14 {Tcl_Write crlf on block boundary, Tcl_Read crlf} -setup {
file delete $path(test1)
} -body {
@@ -3061,7 +3068,7 @@ test chan-io-30.14 {Tcl_Write crlf on block boundary, Tcl_Read crlf} -setup {
string length [chan read $f]
} -cleanup {
chan close $f
-} -result [expr 700*15+1]
+} -result [expr {700*15 + 1}]
test chan-io-30.15 {Tcl_Write mixed, Tcl_Read auto} -setup {
file delete $path(test1)
} -body {
@@ -3903,7 +3910,7 @@ test chan-io-31.31 {Tcl_Write crlf on block boundary, Tcl_Gets crlf} -setup {
}
chan close $f
string length $c
-} -result [expr 700*15+1]
+} -result [expr {700*15 + 1}]
test chan-io-31.32 {Tcl_Write crlf on block boundary, Tcl_Gets auto} -setup {
file delete $path(test1)
set c ""
@@ -3923,7 +3930,7 @@ test chan-io-31.32 {Tcl_Write crlf on block boundary, Tcl_Gets auto} -setup {
}
chan close $f
string length $c
-} -result [expr 700*15+1]
+} -result [expr {700*15 + 1}]
# Test Tcl_Read and buffering.
@@ -5334,7 +5341,7 @@ test chan-io-40.2 {POSIX open access modes: CREAT} -setup {
} -constraints {unix} -body {
set f [open $path(test3) {WRONLY CREAT} 0600]
file stat $path(test3) stats
- set x [format "%#o" [expr $stats(mode)&0o777]]
+ set x [format "%#o" [expr {$stats(mode) & 0o777}]]
chan puts $f "line 1"
chan close $f
set f [open $path(test3) r]
@@ -5348,7 +5355,7 @@ test chan-io-40.3 {POSIX open access modes: CREAT} -setup {
# This test only works if your umask is 2, like ouster's.
chan close [open $path(test3) {WRONLY CREAT}]
file stat $path(test3) stats
- format "%#o" [expr $stats(mode)&0o777]
+ format "%#o" [expr {$stats(mode) & 0o777}]
} -result [format %#5o [expr {0o666 & ~ $umaskValue}]]
test chan-io-40.4 {POSIX open access modes: CREAT} -setup {
file delete $path(test3)
@@ -5720,7 +5727,7 @@ test chan-io-45.3 {DeleteFileEvent, cleanup on chan close} {fileevent} {
# Execute these tests only if the "testfevent" command is present.
-test chan-io-46.1 {Tcl event loop vs multiple interpreters} {testfevent fileevent} {
+test chan-io-46.1 {Tcl event loop vs multiple interpreters} {testfevent fileevent notOSX} {
testfevent create
set script "set f \[[list open $path(foo) r]]\n"
append script {
@@ -6478,7 +6485,7 @@ test chan-io-50.5 {testing handler deletion vs reentrant calls} -setup {
set f [open $path(test1) w]
chan close $f
update
-} -constraints {testchannelevent testservicemode} -body {
+} -constraints {testchannelevent testservicemode notOSX} -body {
proc notcalled {f} {
variable z
lappend z "notcalled was called!! $f"
@@ -6715,7 +6722,7 @@ test chan-io-52.6 {TclCopyChannel} -setup {
set f2 [open $path(test1) w]
chan configure $f1 -translation lf -blocking 0
chan configure $f2 -translation lf -blocking 0
- set s0 [chan copy $f1 $f2 -size [expr [file size $thisScript] + 5]]
+ set s0 [chan copy $f1 $f2 -size [expr {[file size $thisScript] + 5}]]
set result [list [chan configure $f1 -blocking] [chan configure $f2 -blocking]]
chan close $f1
chan close $f2
@@ -6957,7 +6964,7 @@ test chan-io-53.5 {CopyData: error during chan copy} {socket fcopy} {
chan close $listen ;# This means the socket open never really succeeds
chan copy $in $out -command [namespace code FcopyTestDone]
variable fcopyTestDone
- if ![info exists fcopyTestDone] {
+ if {![info exists fcopyTestDone]} {
vwait [namespace which -variable fcopyTestDone] ;# The error occurs here in the b.g.
}
chan close $in
@@ -6977,7 +6984,7 @@ test chan-io-53.6 {CopyData: error during chan copy} -setup {
set out [open $path(test1) w]
chan copy $in $out -command [namespace code FcopyTestDone]
variable fcopyTestDone
- if ![info exists fcopyTestDone] {
+ if {![info exists fcopyTestDone]} {
vwait [namespace which -variable fcopyTestDone]
}
return $fcopyTestDone ;# 0 for plain end of file
@@ -7030,7 +7037,7 @@ test chan-io-53.7 {CopyData: Flooding chan copy from pipe} -setup {
vwait [namespace which -variable fcopyTestDone]
}
# -1=error 0=script error N=number of bytes
- expr ($fcopyTestDone == 0) ? $fcopyTestCount : -1
+ expr {($fcopyTestDone == 0) ? $fcopyTestCount : -1}
} -cleanup {
catch {chan close $in}
chan close $out
diff --git a/tests/clock.test b/tests/clock.test
index 9052990..4283020 100644
--- a/tests/clock.test
+++ b/tests/clock.test
@@ -6,13 +6,13 @@
# 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) 2004 by Kevin B. Kenny. All rights reserved.
+# Copyright © 2004 Kevin B. Kenny. All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -35436,7 +35436,7 @@ test clock-32.1 {scan/format across the Gregorian change} {
# clock clicks
test clock-33.1 {clock clicks tests} {
- expr [clock clicks]+1
+ expr {[clock clicks] + 1}
concat {}
} {}
test clock-33.2 {clock clicks tests} {
@@ -35449,7 +35449,7 @@ test clock-33.3 {clock clicks tests} {
list [catch {clock clicks foo} msg] $msg
} {1 {bad option "foo": must be -milliseconds or -microseconds}}
test clock-33.4 {clock clicks tests} {
- expr [clock clicks -milliseconds]+1
+ expr {[clock clicks -milliseconds] + 1}
concat {}
} {}
test clock-33.4a {clock milliseconds} {
@@ -35905,7 +35905,7 @@ test clock-34.68 {clock scan tests (merid and TZ)} {
# clock seconds
test clock-35.1 {clock seconds tests} {
- expr [clock seconds]+1
+ expr {[clock seconds] + 1}
concat {}
} {}
test clock-35.2 {clock seconds tests} {
diff --git a/tests/cmdAH.test b/tests/cmdAH.test
index 992a8f4..9e07b2a 100644
--- a/tests/cmdAH.test
+++ b/tests/cmdAH.test
@@ -4,14 +4,14 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1996-1998 by Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1996-1998 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.1
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -30,6 +30,7 @@ testConstraint linkDirectory [expr {
($::tcl_platform(osVersion) >= 5.0
&& [lindex [file system [temporaryDirectory]] 1] eq "NTFS")
}]
+testConstraint notWine [expr {![info exists ::env(CI_USING_WINE)]}]
global env
set cmdAHwd [pwd]
@@ -261,7 +262,7 @@ test cmdAH-6.3 {Tcl_FileObjCmd: volumes} -constraints unix -body {
test cmdAH-6.4 {Tcl_FileObjCmd: volumes} -constraints win -body {
set volumeList [string tolower [file volumes]]
set element [lsearch -exact $volumeList "c:/"]
- list [expr {$element>-1}] [glob -nocomplain [lindex $volumeList $element]*]
+ list [expr {$element>=0}] [glob -nocomplain [lindex $volumeList $element]*]
} -match glob -result {1 *}
# attributes
@@ -1092,7 +1093,7 @@ test cmdAH-23.4 {Tcl_FileObjCmd: lstat} -setup {
unset -nocomplain stat
} -constraints {unix nonPortable} -body {
file lstat $linkfile stat
- list $stat(nlink) [expr $stat(mode)&0777] $stat(type)
+ list $stat(nlink) [expr {$stat(mode) & 0o777}] $stat(type)
} -result {1 511 link}
test cmdAH-23.5 {Tcl_FileObjCmd: lstat errors} {nonPortable} {
list [catch {file lstat _bogus_ stat} msg] [string tolower $msg] \
@@ -1348,7 +1349,7 @@ test cmdAH-25.2.1 {Tcl_FileObjCmd: owned} -constraints unix -setup {
test cmdAH-25.3 {Tcl_FileObjCmd: owned} {unix notRoot} {
file owned /
} 0
-test cmdAH-25.3.1 {Tcl_FileObjCmd: owned} -constraints win -body {
+test cmdAH-25.3.1 {Tcl_FileObjCmd: owned} -constraints {win notWine} -body {
if {[info exists env(SystemRoot)]} {
file owned $env(SystemRoot)
} else {
@@ -1538,7 +1539,7 @@ test cmdAH-29.4 {Tcl_FileObjCmd: type} -constraints {unix} -setup {
} -cleanup {
file delete $linkfile
} -result link
-test cmdAH-29.4.1 {Tcl_FileObjCmd: type} -constraints {linkDirectory} -setup {
+test cmdAH-29.4.1 {Tcl_FileObjCmd: type} -constraints {linkDirectory notWine} -setup {
set tempdir [makeDirectory temp]
} -body {
set linkdir [file join [temporaryDirectory] link.dir]
@@ -1638,7 +1639,7 @@ test cmdAH-31.9 {Tcl_FileObjCmd: channels in other interp} {
lsort [safeInterp eval [list file channels]]
} [lsort [list stdout $newFileId]]
test cmdAH-31.10 {Tcl_FileObjCmd: channels in other interp} {
- # we can now write to $newFileId from slave
+ # we can now write to $newFileId from child
safeInterp eval [list puts $newFileId "hello"]
} {}
interp transfer {} $newFileId safeInterp
diff --git a/tests/cmdIL.test b/tests/cmdIL.test
index 57607bd..5f43aec 100644
--- a/tests/cmdIL.test
+++ b/tests/cmdIL.test
@@ -2,17 +2,18 @@
# tclCmdIL.c. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
+
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -513,7 +514,7 @@ test cmdIL-5.5 {lsort with list style index and sharing} -body {
foreach e $l {lappend n [list [expr {rand()}] $e]}
lindex [lsort -real -index $l $n] 1 1
}
- expr srand(1)
+ expr {srand(1)}
test_lsort 0
} -result 0 -cleanup {
rename test_lsort ""
diff --git a/tests/cmdInfo.test b/tests/cmdInfo.test
index 0a587e8..57072e6 100644
--- a/tests/cmdInfo.test
+++ b/tests/cmdInfo.test
@@ -6,15 +6,17 @@
# and generates output for errors. No output means no errors were
# found.
#
-# Copyright (c) 1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
diff --git a/tests/cmdMZ.test b/tests/cmdMZ.test
index 43b3703..8977cbf 100644
--- a/tests/cmdMZ.test
+++ b/tests/cmdMZ.test
@@ -4,16 +4,16 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-if {[catch {package require tcltest 2.1}]} {
- puts stderr "Skipping tests in [info script]. tcltest 2.1 required."
- return
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
}
namespace eval ::tcl::test::cmdMZ {
diff --git a/tests/compExpr-old.test b/tests/compExpr-old.test
index 237aab4..a09c440 100644
--- a/tests/compExpr-old.test
+++ b/tests/compExpr-old.test
@@ -6,17 +6,18 @@
# "compExpr.test". Sourcing this file into Tcl runs the tests and generates
# output for errors. No output means no errors were found.
#
-# Copyright (c) 1996-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1996-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
+
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -577,13 +578,13 @@ test compExpr-old-15.3 {CompileMathFuncCall: too many arguments} -body {
test compExpr-old-15.4 {CompileMathFuncCall: ')' found before last required arg} -body {
catch {expr sin()} msg
set ::errorInfo
-} -match glob -result {too few arguments for math function*
+} -match glob -result {not enough arguments for math function*
while *ing
"expr sin()"}
-test compExpr-old-15.5 {CompileMathFuncCall: too few arguments} -body {
+test compExpr-old-15.5 {CompileMathFuncCall: not enough arguments} -body {
catch {expr pow(1)} msg
set ::errorInfo
-} -match glob -result {too few arguments for math function*
+} -match glob -result {not enough arguments for math function*
while *ing
"expr pow(1)"}
test compExpr-old-15.6 {CompileMathFuncCall: missing ')'} -body {
diff --git a/tests/compExpr.test b/tests/compExpr.test
index 3b44af8..3693931 100644
--- a/tests/compExpr.test
+++ b/tests/compExpr.test
@@ -2,14 +2,14 @@
# tclCompExpr.c. Sourcing this file into Tcl runs the tests and generates
# output for errors. No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -308,16 +308,16 @@ test compExpr-4.9 {CompileCondExpr procedure, error in "false" clause} {
} {0 15}
test compExpr-5.1 {CompileMathFuncCall procedure, math function found} {
- format %.6g [expr atan2(1.0, 2.0)]
+ format %.6g [expr {atan2(1.0, 2.0)}]
} 0.463648
test compExpr-5.2 {CompileMathFuncCall procedure, math function not found} -body {
expr {do_it()}
} -returnCodes error -match glob -result {* "*do_it"}
-test compExpr-5.5 {CompileMathFuncCall procedure, too few arguments} -body {
+test compExpr-5.5 {CompileMathFuncCall procedure, not enough arguments} -body {
expr {atan2(1.0)}
-} -returnCodes error -match glob -result {too few arguments for math function*}
+} -returnCodes error -match glob -result {not enough arguments for math function*}
test compExpr-5.6 {CompileMathFuncCall procedure, complex argument} {
- format %.6g [expr pow(2.1, 27.5-(24.4*(5%2)))]
+ format %.6g [expr {pow(2.1, 27.5-(24.4*(5%2)))}]
} 9.97424
test compExpr-5.7 {CompileMathFuncCall procedure, error in argument} -body {
expr {sinh(2.*)}
@@ -341,9 +341,9 @@ test compExpr-7.1 {Memory Leak} -constraints memory -setup {
} -body {
set end [getbytes]
for {set i 0} {$i < 5} {incr i} {
- interp create slave
- slave eval expr 1+2+3+4+5+6+7+8+9+10+11+12+13
- interp delete slave
+ interp create child
+ child eval expr 1+2+3+4+5+6+7+8+9+10+11+12+13
+ interp delete child
set tmp $end
set end [getbytes]
}
@@ -371,10 +371,46 @@ test compExpr-7.2 {[Bug 1869989]: expr parser memleak} -constraints memory -setu
unset end i tmp
rename getbytes {}
} -result 0
+
+proc extract {opcodes descriptor} {
+ set instructions [dict values [dict get $descriptor instructions]]
+ return [lmap i $instructions {
+ if {[lindex $i 0] in $opcodes} {string cat $i} else continue
+ }]
+}
+
+test compExpr-8.1 {TIP 582: expression comments} -setup {} -body {
+ extract {loadStk add} [tcl::unsupported::getbytecode script {expr {
+ $abc
+ # + $def
+ + $ghi
+ }}]
+} -result {loadStk loadStk add}
+test compExpr-8.2 {TIP 582: expression comments} -setup {} -body {
+ extract {loadStk add} [tcl::unsupported::getbytecode script {expr {
+ $abc
+ # + $def
+ # + $ghi }}]
+} -result loadStk
+test compExpr-8.3 {TIP 582: expression comments} -setup {} -body {
+ extract {loadStk add} [tcl::unsupported::getbytecode script {expr {
+ $abc
+ # + $def\
+ + $ghi
+ }}]
+} -result loadStk
+test compExpr-8.4 {TIP 582: expression comments} -setup {} -body {
+ extract {loadStk add} [tcl::unsupported::getbytecode script {expr {
+ $abc
+ # + $def\\
+ + $ghi
+ }}]
+} -result {loadStk loadStk add}
# cleanup
catch {unset a}
catch {unset b}
+catch {rename extract ""}
::tcltest::cleanupTests
return
diff --git a/tests/compile.test b/tests/compile.test
index 18e978f..6eeb4fe 100644
--- a/tests/compile.test
+++ b/tests/compile.test
@@ -5,14 +5,17 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1997 by Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import -force ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
+
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -201,7 +204,7 @@ test compile-4.1 {TclCompileForCmd: command substituted test expression} {
set i 0
set j 0
# Should be "forever"
- for {} [expr $i < 3] {} {
+ for {} [expr {$i < 3}] {} {
set j [incr i]
if {$j > 3} break
}
@@ -275,7 +278,7 @@ test compile-7.1 {TclCompileWhileCmd: command substituted test expression} {
set i 0
set j 0
# Should be "forever"
- while [expr $i < 3] {
+ while [expr {$i < 3}] {
set j [incr i]
if {$j > 3} break
}
@@ -334,7 +337,7 @@ test compile-11.6 {Tcl_Append*: ensure Tcl_ResetResult is used properly} -body {
apply {{} { set r [list foobar] ; incr}}
} -returnCodes error -result {wrong # args: should be "incr varName ?increment?"}
test compile-11.7 {Tcl_Append*: ensure Tcl_ResetResult is used properly} -body {
- apply {{} { set r [list foobar] ; expr !a }}
+ apply {{} { set r [list foobar] ; expr [concat !a] }}
} -returnCodes error -match glob -result *
test compile-11.8 {Tcl_Append*: ensure Tcl_ResetResult is used properly} -body {
apply {{} { set r [list foobar] ; expr {!a} }}
@@ -563,7 +566,7 @@ test compile-15.5 {proper TCL_RETURN code from [return]} {
# Do all tests once byte compiled and once with direct string evaluation
foreach noComp {0 1} {
-if $noComp {
+if {$noComp} {
interp alias {} run {} testevalex
set constraints testevalex
} else {
diff --git a/tests/concat.test b/tests/concat.test
index eeb11ca..976591e 100644
--- a/tests/concat.test
+++ b/tests/concat.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/config.test b/tests/config.test
index 1767f59..f87250a 100644
--- a/tests/config.test
+++ b/tests/config.test
@@ -5,15 +5,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/coroutine.test b/tests/coroutine.test
index 9546492..c7688b2 100644
--- a/tests/coroutine.test
+++ b/tests/coroutine.test
@@ -4,13 +4,13 @@
# found in ::tcl::unsupported. The tests will migrate to normal test files
# if/when the commands find their way into the core.
#
-# Copyright (c) 2008 by Miguel Sofer.
+# Copyright © 2008 Miguel Sofer.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -771,25 +771,25 @@ test coroutine-8.0.1 {coro inject after error} -body {
lappend ::result [catch {demo} err] $err
} -result {inject-executed 1 test}
test coroutine-8.1.1 {coro inject, ticket 42202ba1e5ff566e} -body {
- interp create slave
- slave eval {
+ interp create child
+ child eval {
coroutine demo apply {{} { while {1} yield }}
demo
tcl::unsupported::inject demo set ::result inject-executed
}
- interp delete slave
+ interp delete child
} -result {}
test coroutine-8.1.2 {coro inject with result, ticket 42202ba1e5ff566e} -body {
- interp create slave
- slave eval {
+ interp create child
+ child eval {
coroutine demo apply {{} { while {1} yield }}
demo
tcl::unsupported::inject demo set ::result inject-executed
}
- slave eval demo
- set result [slave eval {set ::result}]
+ child eval demo
+ set result [child eval {set ::result}]
- interp delete slave
+ interp delete child
set result
} -result {inject-executed}
diff --git a/tests/dcall.test b/tests/dcall.test
index 41dd777..17d0d69 100644
--- a/tests/dcall.test
+++ b/tests/dcall.test
@@ -4,15 +4,17 @@
# Sourcing this file into Tcl runs the tests and generates output for
# errors. No output means no errors were found.
#
-# Copyright (c) 1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
diff --git a/tests/dict.test b/tests/dict.test
index 01e4bde..d67f703 100644
--- a/tests/dict.test
+++ b/tests/dict.test
@@ -5,7 +5,7 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 2003-2009 Donal K. Fellows
+# Copyright © 2003-2009 Donal K. Fellows
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
diff --git a/tests/dstring.test b/tests/dstring.test
index 5feb355..24b2a96 100644
--- a/tests/dstring.test
+++ b/tests/dstring.test
@@ -4,15 +4,15 @@
# procedures. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/encoding.test b/tests/encoding.test
index f483160..c0a3a69 100644
--- a/tests/encoding.test
+++ b/tests/encoding.test
@@ -2,19 +2,21 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
+
namespace eval ::tcl::test::encoding {
variable x
-namespace import -force ::tcltest::*
-
catch {
::tcltest::loadTestedCommands
package require -exact Tcltest [info patchlevel]
@@ -62,12 +64,12 @@ test encoding-1.2 {Tcl_GetEncoding: existing encoding} {testencoding} {
return $x
} {{fromutf }}
test encoding-1.3 {Tcl_GetEncoding: load encoding} {
- list [encoding convertto jis0208 \u4e4e] \
+ list [encoding convertto jis0208 乎] \
[encoding convertfrom jis0208 8C]
-} "8C \u4e4e"
+} "8C 乎"
test encoding-2.1 {Tcl_FreeEncoding: refcount == 0} {
- encoding convertto jis0208 \u4e4e
+ encoding convertto jis0208 乎
} {8C}
test encoding-2.2 {Tcl_FreeEncoding: refcount != 0} -setup {
set system [encoding system]
@@ -75,15 +77,15 @@ test encoding-2.2 {Tcl_FreeEncoding: refcount != 0} -setup {
} -constraints {testencoding} -body {
encoding system shiftjis ;# incr ref count
encoding dirs [list [pwd]]
- set x [encoding convertto shiftjis \u4e4e] ;# old one found
+ set x [encoding convertto shiftjis 乎] ;# old one found
encoding system iso8859-1
llength shiftjis ;# Shimmer away any cache of Tcl_Encoding
- lappend x [catch {encoding convertto shiftjis \u4e4e} msg] $msg
+ lappend x [catch {encoding convertto shiftjis 乎} msg] $msg
} -cleanup {
encoding system iso8859-1
encoding dirs $path
encoding system $system
-} -result "\u008c\u00c1 1 {unknown encoding \"shiftjis\"}"
+} -result "\x8C\xC1 1 {unknown encoding \"shiftjis\"}"
test encoding-3.1 {Tcl_GetEncodingName, NULL} -setup {
set old [encoding system]
@@ -135,7 +137,7 @@ test encoding-5.1 {Tcl_SetSystemEncoding} -setup {
set old [encoding system]
} -body {
encoding system jis0208
- encoding convertto \u4e4e
+ encoding convertto 乎
} -cleanup {
encoding system iso8859-1
encoding system $old
@@ -167,7 +169,7 @@ test encoding-6.2 {Tcl_CreateEncoding: replace encoding} {testencoding} {
test encoding-7.1 {Tcl_ExternalToUtfDString: small buffer} {
encoding convertfrom jis0208 8c8c8c8c
-} "\u543e\u543e\u543e\u543e"
+} "吾吾吾吾"
test encoding-7.2 {Tcl_UtfToExternalDString: big buffer} {
set a 8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C
append a $a
@@ -176,7 +178,7 @@ test encoding-7.2 {Tcl_UtfToExternalDString: big buffer} {
append a $a
set x [encoding convertfrom jis0208 $a]
list [string length $x] [string index $x 0]
-} "512 \u4e4e"
+} "512 乎"
test encoding-8.1 {Tcl_ExternalToUtf} {
set f [open [file join [temporaryDirectory] dummy] w]
@@ -189,13 +191,13 @@ test encoding-8.1 {Tcl_ExternalToUtf} {
close $f
file delete [file join [temporaryDirectory] dummy]
return $x
-} "ab\u4e4eg"
+} "ab乎g"
test encoding-9.1 {Tcl_UtfToExternalDString: small buffer} {
- encoding convertto jis0208 "\u543e\u543e\u543e\u543e"
+ encoding convertto jis0208 "吾吾吾吾"
} {8c8c8c8c}
test encoding-9.2 {Tcl_UtfToExternalDString: big buffer} {
- set a \u4e4e\u4e4e\u4e4e\u4e4e\u4e4e\u4e4e\u4e4e\u4e4e
+ set a 乎乎乎乎乎乎乎乎
append a $a
append a $a
append a $a
@@ -209,7 +211,7 @@ test encoding-9.2 {Tcl_UtfToExternalDString: big buffer} {
test encoding-10.1 {Tcl_UtfToExternal} {
set f [open [file join [temporaryDirectory] dummy] w]
fconfigure $f -translation binary -encoding shiftjis
- puts -nonewline $f "ab\u4e4eg"
+ puts -nonewline $f "ab乎g"
close $f
set f [open [file join [temporaryDirectory] dummy] r]
fconfigure $f -translation binary -encoding iso8859-1
@@ -237,25 +239,25 @@ test encoding-11.1 {LoadEncodingFile: unknown encoding} {testencoding} {
encoding system iso8859-1
encoding dirs {}
llength jis0208 ;# Shimmer any cached Tcl_Encoding in shared literal
- set x [list [catch {encoding convertto jis0208 \u4e4e} msg] $msg]
+ set x [list [catch {encoding convertto jis0208 乎} msg] $msg]
encoding dirs $path
encoding system $system
- lappend x [encoding convertto jis0208 \u4e4e]
+ lappend x [encoding convertto jis0208 乎]
} {1 {unknown encoding "jis0208"} 8C}
test encoding-11.2 {LoadEncodingFile: single-byte} {
- encoding convertfrom jis0201 \xa1
-} "\uff61"
+ encoding convertfrom jis0201 \xA1
+} "。"
test encoding-11.3 {LoadEncodingFile: double-byte} {
encoding convertfrom jis0208 8C
-} "\u4e4e"
+} 乎
test encoding-11.4 {LoadEncodingFile: multi-byte} {
- encoding convertfrom shiftjis \x8c\xc1
-} "\u4e4e"
+ encoding convertfrom shiftjis \x8C\xC1
+} 乎
test encoding-11.5 {LoadEncodingFile: escape file} {
- viewable [encoding convertto iso2022 \u4e4e]
-} [viewable "\x1b\$B8C\x1b(B"]
+ viewable [encoding convertto iso2022 乎]
+} [viewable "\x1B\$B8C\x1B(B"]
test encoding-11.5.1 {LoadEncodingFile: escape file} {
- viewable [encoding convertto iso2022-jp \u4e4e]
+ viewable [encoding convertto iso2022-jp 乎]
} [viewable "\x1b\$B8C\x1b(B"]
test encoding-11.6 {LoadEncodingFile: invalid file} -constraints {testencoding} -setup {
set system [encoding system]
@@ -270,7 +272,7 @@ test encoding-11.6 {LoadEncodingFile: invalid file} -constraints {testencoding}
fconfigure $f -translation binary
puts $f "abcdefghijklmnop"
close $f
- encoding convertto splat \u4e4e
+ encoding convertto splat 乎
} -returnCodes error -cleanup {
file delete [file join [temporaryDirectory] tmp encoding splat.enc]
removeDirectory [file join tmp encoding]
@@ -279,45 +281,50 @@ test encoding-11.6 {LoadEncodingFile: invalid file} -constraints {testencoding}
encoding dirs $path
encoding system $system
} -result {invalid encoding file "splat"}
-
+test encoding-11.8 {encoding: extended Unicode UTF-16} {
+ viewable [encoding convertto utf-16le 😹]
+} {=Ø9Þ (=\u00d89\u00de)}
+test encoding-11.9 {encoding: extended Unicode UTF-16} {
+ viewable [encoding convertto utf-16be 😹]
+} {Ø=Þ9 (\u00d8=\u00de9)}
# OpenEncodingFile is fully tested by the rest of the tests in this file.
test encoding-12.1 {LoadTableEncoding: normal encoding} {
set x [encoding convertto iso8859-3 \u0120]
append x [encoding convertto iso8859-3 \xD5]
append x [encoding convertfrom iso8859-3 \xD5]
-} "\xd5?\u120"
+} "\xD5?\u120"
test encoding-12.2 {LoadTableEncoding: single-byte encoding} {
set x [encoding convertto iso8859-3 ab\u0120g]
append x [encoding convertfrom iso8859-3 ab\xD5g]
-} "ab\xd5gab\u120g"
+} "ab\xD5gab\u120g"
test encoding-12.3 {LoadTableEncoding: multi-byte encoding} {
- set x [encoding convertto shiftjis ab\u4E4Eg]
+ set x [encoding convertto shiftjis ab乎g]
append x [encoding convertfrom shiftjis ab\x8c\xc1g]
-} "ab\x8c\xc1gab\u4e4eg"
+} "ab\x8C\xC1gab乎g"
test encoding-12.4 {LoadTableEncoding: double-byte encoding} {
- set x [encoding convertto jis0208 \u4e4e\u3b1]
+ set x [encoding convertto jis0208 乎α]
append x [encoding convertfrom jis0208 8C&A]
-} "8C&A\u4e4e\u3b1"
+} "8C&A乎α"
test encoding-12.5 {LoadTableEncoding: symbol encoding} {
- set x [encoding convertto symbol \u3b3]
- append x [encoding convertto symbol \u67]
- append x [encoding convertfrom symbol \x67]
-} "\x67\x67\u3b3"
+ set x [encoding convertto symbol γ]
+ append x [encoding convertto symbol g]
+ append x [encoding convertfrom symbol g]
+} "ggγ"
test encoding-13.1 {LoadEscapeTable} {
- viewable [set x [encoding convertto iso2022 ab\u4e4e\u68d9g]]
-} [viewable "ab\x1b\$B8C\x1b\$\(DD%\x1b(Bg"]
+ viewable [set x [encoding convertto iso2022 ab乎棙g]]
+} [viewable "ab\x1B\$B8C\x1B\$\(DD%\x1B(Bg"]
test encoding-15.1 {UtfToUtfProc} {
- encoding convertto utf-8 \xa3
-} "\xc2\xa3"
+ encoding convertto utf-8 \xA3
+} "\xC2\xA3"
test encoding-15.2 {UtfToUtfProc null character output} testbytestring {
- binary scan [testbytestring [encoding convertto utf-8 \u0000]] H* z
+ binary scan [testbytestring [encoding convertto utf-8 \x00]] H* z
set z
} 00
test encoding-15.3 {UtfToUtfProc null character input} teststringbytes {
- set y [encoding convertfrom utf-8 [encoding convertto utf-8 \u0000]]
+ set y [encoding convertfrom utf-8 [encoding convertto utf-8 \x00]]
binary scan [teststringbytes $y] H* z
set z
} c080
@@ -325,12 +332,12 @@ test encoding-15.4 {UtfToUtfProc emoji character input} -body {
set x \xED\xA0\xBD\xED\xB8\x82
set y [encoding convertfrom utf-8 \xED\xA0\xBD\xED\xB8\x82]
list [string length $x] $y
-} -result "6 \U1F602"
+} -result "6 😂"
test encoding-15.5 {UtfToUtfProc emoji character input} {
set x \xF0\x9F\x98\x82
set y [encoding convertfrom utf-8 \xF0\x9F\x98\x82]
list [string length $x] $y
-} "4 \U1F602"
+} "4 😂"
test encoding-15.6 {UtfToUtfProc emoji character output} {
set x \uDE02\uD83D\uDE02\uD83D
set y [encoding convertto utf-8 \uDE02\uD83D\uDE02\uD83D]
@@ -397,8 +404,8 @@ test encoding-15.16 {UtfToUtfProc: Invalid 4-byte UTF-8, see [ed29806ba]} {
list [string length $x] $y
} "4 \xF0\xA0\xA1\xC2"
test encoding-15.17 {UtfToUtfProc emoji character output} {
- set x \U1F602
- set y [encoding convertto utf-8 \U1F602]
+ set x 😂
+ set y [encoding convertto utf-8 😂]
binary scan $y H* z
list [string length $y] $z
} {4 f09f9882}
@@ -406,7 +413,7 @@ test encoding-15.17 {UtfToUtfProc emoji character output} {
test encoding-16.1 {Utf16ToUtfProc} -body {
set val [encoding convertfrom utf-16 NN]
list $val [format %x [scan $val %c]]
-} -result "\u4E4E 4e4e"
+} -result "乎 4e4e"
test encoding-16.2 {Utf16ToUtfProc} -body {
set val [encoding convertfrom utf-16 "\xD8\xD8\xDC\xDC"]
list $val [format %x [scan $val %c]]
@@ -528,7 +535,7 @@ test encoding-24.2 {EscapeFreeProc on open channels} {exec} {
viewable [runInSubprocess {
encoding system cp1252; # Bug #2891556 crash revelator
fconfigure stdout -encoding iso2022-jp
- puts ab\u4e4e\u68d9g
+ puts ab乎\u68d9g
set env(TCL_FINALIZE_ON_EXIT) 1
exit
}]
@@ -538,7 +545,7 @@ test encoding-24.3 {EscapeFreeProc on open channels} {stdio} {
# closure, we go boom
set file [makeFile {
encoding system iso2022-jp
- set a "\u4e4e\u4e5e\u4e5f"; # 3 Japanese Kanji letters
+ set a "乎\u4e5e\u4e5f"; # 3 Japanese Kanji letters
puts $a
} iso2022.tcl]
set f [open "|[list [interpreter] $file]"]
@@ -547,7 +554,7 @@ test encoding-24.3 {EscapeFreeProc on open channels} {stdio} {
close $f
removeFile iso2022.tcl
list $count [viewable $line]
-} [list 3 "\u4e4e\u4e5e\u4e5f (\\u4e4e\\u4e5e\\u4e5f)"]
+} [list 3 "乎\u4e5e\u4e5f (\\u4e4e\\u4e5e\\u4e5f)"]
test encoding-24.4 {Parse valid or invalid utf-8} {
string length [encoding convertfrom utf-8 "\xc0\x80"]
diff --git a/tests/env.test b/tests/env.test
index 774617c..767f5f9 100644
--- a/tests/env.test
+++ b/tests/env.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -102,9 +102,11 @@ proc cleanup1 {} {
variable keep {
TCL_LIBRARY PATH LD_LIBRARY_PATH LIBPATH PURE_PROG_NAME DISPLAY
SHLIB_PATH SYSTEMDRIVE SYSTEMROOT DYLD_LIBRARY_PATH DYLD_FRAMEWORK_PATH
- DYLD_NEW_LOCAL_SHARED_REGIONS DYLD_NO_FIX_PREBINDING
+ DYLD_NEW_LOCAL_SHARED_REGIONS DYLD_NO_FIX_PREBINDING MSYSTEM
__CF_USER_TEXT_ENCODING SECURITYSESSIONID LANG WINDIR TERM
- CommonProgramFiles ProgramFiles CommonProgramW6432 ProgramW6432
+ CommonProgramFiles CommonProgramFiles(x86) ProgramFiles
+ ProgramFiles(x86) CommonProgramW6432 ProgramW6432
+ WINECONFIGDIR WINEDATADIR WINEDLLDIR0 WINEHOMEDIR
}
variable printenvScript [makeFile [string map [list @keep@ [list $keep]] {
@@ -326,11 +328,11 @@ test env-5.2 {corner cases - unset the env array} -setup {
} -result {0}
-test env-5.3 {corner cases: unset the env in master should unset child} -setup {
+test env-5.3 {corner cases: unset the env in parent should unset child} -setup {
setup1
interp create i
} -body {
- # Variables deleted in a master interp should be deleted in child interp
+ # Variables deleted in a parent interp should be deleted in child interp
# too.
i eval {set env(THIS_SHOULD_EXIST) a}
set result [set env(THIS_SHOULD_EXIST)]
diff --git a/tests/error.test b/tests/error.test
index 28e4f5c..064edc7 100644
--- a/tests/error.test
+++ b/tests/error.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/eval.test b/tests/eval.test
index 70ceac8..5ffe309 100644
--- a/tests/eval.test
+++ b/tests/eval.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/event.test b/tests/event.test
index 70d4cff..d6c6041 100644
--- a/tests/event.test
+++ b/tests/event.test
@@ -3,13 +3,13 @@
# this file into Tcl runs the tests and generates output for errors. No
# output means no errors were found.
#
-# Copyright (c) 1995-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
+package require tcltest 2.5
namespace import -force ::tcltest::*
catch {
diff --git a/tests/exec.test b/tests/exec.test
index 36aeae5..3e616ac 100644
--- a/tests/exec.test
+++ b/tests/exec.test
@@ -4,9 +4,9 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1994 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1994 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -14,8 +14,10 @@
# There is no point in running Valgrind on cases where [exec] forks but then
# fails and the child process doesn't go through full cleanup.
-package require tcltest 2
-namespace import -force ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -24,7 +26,8 @@ package require tcltests
# All tests require the "exec" command.
# Skip them if exec is not defined.
testConstraint exec [llength [info commands exec]]
-testConstraint noosx [expr {![info exists ::env(TRAVIS_OSX_IMAGE)] || ![string match xcode* $::env(TRAVIS_OSX_IMAGE)]}]
+# Some skips when running in a macOS CI environment
+testConstraint noosxCI [expr {![info exists ::env(MAC_CI)]}]
unset -nocomplain path
@@ -671,7 +674,9 @@ test exec-18.2 {exec cat deals with weird file names} -body {
# Note that this test cannot be adapted to work on Windows; that platform has
# no kernel support for an analog of O_APPEND. OTOH, that means we can assume
# that there is a POSIX shell...
-test exec-19.1 {exec >> uses O_APPEND} -constraints {exec unix notValgrind noosx} -setup {
+#
+# This test also fails in some cases when building with macOS
+test exec-19.1 {exec >> uses O_APPEND} -constraints {exec unix notValgrind noosxCI} -setup {
set tmpfile [makeFile {0} tmpfile.exec-19.1]
} -body {
# Note that we have to allow for the current contents of the temporary
diff --git a/tests/execute.test b/tests/execute.test
index fbc4f99..eed6c72 100644
--- a/tests/execute.test
+++ b/tests/execute.test
@@ -8,14 +8,14 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -657,56 +657,56 @@ test execute-6.8 {TclCompEvalObj: bytecode name resolution epoch validation} -se
namespace delete foo
} -result {0 AHA!}
test execute-6.9 {TclCompEvalObj: bytecode interp validation} -setup {
- interp create slave
+ interp create child
} -body {
set script { llength {} }
- slave eval {proc llength args {return AHA!}}
+ child eval {proc llength args {return AHA!}}
set result {}
lappend result [if 1 $script]
- lappend result [slave eval $script]
+ lappend result [child eval $script]
} -cleanup {
- interp delete slave
+ interp delete child
} -result {0 AHA!}
test execute-6.10 {TclCompEvalObj: bytecode interp validation} -body {
set script { llength {} }
- interp create slave
+ interp create child
set result {}
- lappend result [slave eval $script]
- interp delete slave
- interp create slave
- lappend result [slave eval $script]
+ lappend result [child eval $script]
+ interp delete child
+ interp create child
+ lappend result [child eval $script]
} -cleanup {
- catch {interp delete slave}
+ catch {interp delete child}
} -result {0 0}
test execute-6.11 {Tcl_ExprObj: exprcode interp validation} -setup {
- interp create slave
+ interp create child
} -constraints testexprlongobj -body {
set e { [llength {}]+1 }
set result {}
- load {} Tcltest slave
- interp alias {} e slave testexprlongobj
+ load {} Tcltest child
+ interp alias {} e child testexprlongobj
lappend result [e $e]
- interp delete slave
- interp create slave
- load {} Tcltest slave
- interp alias {} e slave testexprlongobj
+ interp delete child
+ interp create child
+ load {} Tcltest child
+ interp alias {} e child testexprlongobj
lappend result [e $e]
} -cleanup {
- interp delete slave
+ interp delete child
} -result {{This is a result: 1} {This is a result: 1}}
test execute-6.12 {Tcl_ExprObj: exprcode interp validation} -setup {
- interp create slave
+ interp create child
} -body {
set e { [llength {}]+1 }
set result {}
- interp alias {} e slave expr
+ interp alias {} e child expr
lappend result [e $e]
- interp delete slave
- interp create slave
- interp alias {} e slave expr
+ interp delete child
+ interp create child
+ interp alias {} e child expr
lappend result [e $e]
} -cleanup {
- interp delete slave
+ interp delete child
} -result {1 1}
test execute-6.13 {Tcl_ExprObj: exprcode epoch validation} -body {
set e { [llength {}]+1 }
@@ -747,16 +747,16 @@ test execute-6.15 {Tcl_ExprObj: exprcode name resolution epoch validation} -setu
namespace delete foo
} -result {1 2}
test execute-6.16 {Tcl_ExprObj: exprcode interp validation} -setup {
- interp create slave
+ interp create child
} -body {
set e { [llength {}]+1 }
- interp alias {} e slave expr
- slave eval {proc llength args {return 1}}
+ interp alias {} e child expr
+ child eval {proc llength args {return 1}}
set result {}
lappend result [expr $e]
lappend result [e $e]
} -cleanup {
- interp delete slave
+ interp delete child
} -result {1 2}
test execute-6.17 {Tcl_ExprObj: exprcode context validation} -body {
proc foo e {set v 0; expr $e}
@@ -821,49 +821,49 @@ test execute-7.10 {Wide int handling in INST_MOD} {
expr {((wide(1)<<60)-1) % 0x400000000}
} 17179869183
test execute-7.11 {Wide int handling in INST_LSHIFT} {
- expr wide(42)<<30
+ expr {wide(42) << 30}
} 45097156608
test execute-7.12 {Wide int handling in INST_LSHIFT} {
- expr 12345678901<<3
+ expr {12345678901 << 3}
} 98765431208
test execute-7.13 {Wide int handling in INST_RSHIFT} {
- expr 0x543210febcda9876>>7
+ expr {0x543210febcda9876 >> 7}
} 47397893236700464
test execute-7.14 {Wide int handling in INST_RSHIFT} {
- expr wide(0x9876543210febcda)>>7
+ expr {wide(0x9876543210febcda) >> 7}
} -58286587177206407
test execute-7.15 {Wide int handling in INST_BITOR} {
- expr wide(0x9876543210febcda) | 0x543210febcda9876
+ expr {wide(0x9876543210febcda) | 0x543210febcda9876}
} -2560765885044310786
test execute-7.16 {Wide int handling in INST_BITXOR} {
- expr wide(0x9876543210febcda) ^ 0x543210febcda9876
+ expr {wide(0x9876543210febcda) ^ 0x543210febcda9876}
} -3727778945703861076
test execute-7.17 {Wide int handling in INST_BITAND} {
- expr wide(0x9876543210febcda) & 0x543210febcda9876
+ expr {wide(0x9876543210febcda) & 0x543210febcda9876}
} 1167013060659550290
test execute-7.18 {Wide int handling in INST_ADD} {
- expr wide(0x7fffffff)+wide(0x7fffffff)
+ expr {wide(0x7fffffff) + wide(0x7fffffff)}
} 4294967294
test execute-7.19 {Wide int handling in INST_ADD} {
- expr 0x7fffffff+wide(0x7fffffff)
+ expr {0x7fffffff + wide(0x7fffffff)}
} 4294967294
test execute-7.20 {Wide int handling in INST_ADD} {
- expr wide(0x7fffffff)+0x7fffffff
+ expr {wide(0x7fffffff) + 0x7fffffff}
} 4294967294
test execute-7.21 {Wide int handling in INST_ADD} {
- expr double(0x7fffffff)+wide(0x7fffffff)
+ expr {double(0x7fffffff) + wide(0x7fffffff)}
} 4294967294.0
test execute-7.22 {Wide int handling in INST_ADD} {
- expr wide(0x7fffffff)+double(0x7fffffff)
+ expr {wide(0x7fffffff) + double(0x7fffffff)}
} 4294967294.0
test execute-7.23 {Wide int handling in INST_SUB} {
- expr 0x123456789a-0x20406080a
+ expr {0x123456789a - 0x20406080a}
} 69530054800
test execute-7.24 {Wide int handling in INST_MULT} {
- expr 0x123456789a*193
+ expr {0x123456789a * 193}
} 15090186251290
test execute-7.25 {Wide int handling in INST_DIV} {
- expr 0x123456789a/193
+ expr {0x123456789a / 193}
} 405116546
test execute-7.26 {Wide int handling in INST_UPLUS} {
set x 0x123456871234568
@@ -982,9 +982,9 @@ test execute-8.5 {Bug 2038069} -setup {
"catch \[list error FOO\] m o"} -errorline 2}
test execute-8.6 {Compile epoch bump in global level (bug [fa6bf38d07])} -setup {
- interp create slave
- slave eval {
- package require tcltest
+ interp create child
+ child eval {
+ package require tcltest 2.5
catch [list package require -exact Tcltest [info patchlevel]]
::tcltest::loadTestedCommands
if {[namespace which -command testbumpinterpepoch] eq ""} {
@@ -992,32 +992,32 @@ test execute-8.6 {Compile epoch bump in global level (bug [fa6bf38d07])} -setup
}
}
} -body {
- slave eval {
+ child eval {
lappend res A; testbumpinterpepoch; lappend res B; return; lappend res C;
}
- slave eval {
+ child eval {
set i 0; while {[incr i] < 3} {
lappend res A; testbumpinterpepoch; lappend res B; return; lappend res C;
}
}
- slave eval {
+ child eval {
set i 0; while {[incr i] < 3} {
lappend res A; testbumpinterpepoch; lappend res B; break; lappend res C;
}
}
- slave eval {
+ child eval {
catch {
lappend res A; testbumpinterpepoch; lappend res B; error test; lappend res C;
}
}
- slave eval {set res}
+ child eval {set res}
} -cleanup {
- interp delete slave
+ interp delete child
} -result [lrepeat 4 A B]
test execute-8.7 {Compile epoch bump in global level (bug [fa6bf38d07]), exception case} -setup {
- interp create slave
- slave eval {
- package require tcltest
+ interp create child
+ child eval {
+ package require tcltest 2.5
catch [list package require -exact Tcltest [info patchlevel]]
::tcltest::loadTestedCommands
if {[namespace which -command testbumpinterpepoch] eq ""} {
@@ -1027,28 +1027,28 @@ test execute-8.7 {Compile epoch bump in global level (bug [fa6bf38d07]), excepti
} -body {
set res {}
lappend res [catch {
- slave eval {
+ child eval {
lappend res A; testbumpinterpepoch; lappend res B; return -code error test; lappend res C;
}
} e] $e
lappend res [catch {
- slave eval {
+ child eval {
lappend res A; testbumpinterpepoch; lappend res B; error test; lappend res C;
}
} e] $e
lappend res [catch {
- slave eval {
+ child eval {
lappend res A; testbumpinterpepoch; lappend res B; return -code return test; lappend res C;
}
} e] $e
lappend res [catch {
- slave eval {
+ child eval {
lappend res A; testbumpinterpepoch; lappend res B; break; lappend res C;
}
} e] $e
- list $res [slave eval {set res}]
+ list $res [child eval {set res}]
} -cleanup {
- interp delete slave
+ interp delete child
} -result [list {1 test 1 test 2 test 3 {}} [lrepeat 4 A B]]
test execute-9.1 {Interp result resetting [Bug 1522803]} {
@@ -1069,16 +1069,16 @@ test execute-10.1 {TclExecuteByteCode, INST_CONCAT1, bytearrays} {
apply {s {binary scan $s c x; list $x [scan $s$s %c%c]}} \u0130
} {48 {304 304}}
test execute-10.2 {Bug 2802881} -setup {
- interp create slave
+ interp create child
} -body {
# If [Bug 2802881] is not fixed, this will segfault
- slave eval {
+ child eval {
trace add variable ::errorInfo write {expr {$foo} ;#}
proc demo {} {a {}{}}
demo
}
} -cleanup {
- interp delete slave
+ interp delete child
} -returnCodes error -match glob -result *
test execute-10.3 {Bug 3072640} -setup {
proc generate {n} {
@@ -1103,9 +1103,9 @@ test execute-10.3 {Bug 3072640} -setup {
} -result 4
test execute-11.1 {Bug 3142026: GrowEvaluationStack off-by-one} -setup {
- interp create slave
+ interp create child
} -body {
- slave eval {
+ child eval {
set x [lrepeat 1320 199]
for {set i 0} {$i < 20} {incr i} {
lappend x $i
@@ -1115,7 +1115,7 @@ test execute-11.1 {Bug 3142026: GrowEvaluationStack off-by-one} -setup {
return ok
}
} -cleanup {
- interp delete slave
+ interp delete child
} -result ok
test execute-11.2 {Bug 268b23df11} -setup {
diff --git a/tests/expr-old.test b/tests/expr-old.test
index 003ee00..9801c19 100644
--- a/tests/expr-old.test
+++ b/tests/expr-old.test
@@ -6,15 +6,17 @@
# "compExpr.test". Sourcing this file into Tcl runs the tests and generates
# output for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1994 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-2000 by Scriptics Corporation.
+# Copyright © 1991-1994 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-2000 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2.1
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -522,7 +524,7 @@ test expr-old-26.10b {error conditions} ieeeFloatingPoint {
list [catch {expr 2.0/0.0} msg] $msg
} {0 Inf}
test expr-old-26.11 {error conditions} -body {
- expr 2#
+ expr 2`
} -returnCodes error -match glob -result *
test expr-old-26.12 {error conditions} -body {
expr a.b
@@ -850,7 +852,7 @@ test expr-old-32.46 {math functions in expressions} -body {
} -match glob -result {1 {too many arguments for math function*}}
test expr-old-32.47 {math functions in expressions} -body {
list [catch {expr srand()} msg] $msg
-} -match glob -result {1 {too few arguments for math function*}}
+} -match glob -result {1 {not enough arguments for math function*}}
test expr-old-32.48 {math functions in expressions} -body {
expr srand(3.79)
} -returnCodes error -match glob -result *
@@ -907,7 +909,7 @@ test expr-old-34.6 {errors in math functions} -body {
} -returnCodes error -match glob -result *
test expr-old-34.7 {errors in math functions} -body {
list [catch {expr hypot(1.0)} msg] $msg
-} -match glob -result {1 {too few arguments for math function*}}
+} -match glob -result {1 {not enough arguments for math function*}}
test expr-old-34.8 {errors in math functions} -body {
list [catch {expr hypot(1.0, 2.0, 3.0)} msg] $msg
} -match glob -result {1 {too many arguments for math function*}}
@@ -1148,7 +1150,7 @@ test expr-old-40.2 {min math function} -body {
} -result 0.0
test expr-old-40.3 {min math function} -body {
expr {min()}
-} -returnCodes error -result {too few arguments for math function "min"}
+} -returnCodes error -result {not enough arguments for math function "min"}
test expr-old-40.4 {min math function} -body {
expr {min(wide(-1) << 30, 4.5, -10)}
} -result [expr {wide(-1) << 30}]
@@ -1173,7 +1175,7 @@ test expr-old-41.2 {max math function} -body {
} -result 0.0
test expr-old-41.3 {max math function} -body {
expr {max()}
-} -returnCodes error -result {too few arguments for math function "max"}
+} -returnCodes error -result {not enough arguments for math function "max"}
test expr-old-41.4 {max math function} -body {
expr {max(wide(1) << 30, 4.5, -10)}
} -result [expr {wide(1) << 30}]
diff --git a/tests/expr.test b/tests/expr.test
index 632f1c4..43d3ada 100644
--- a/tests/expr.test
+++ b/tests/expr.test
@@ -4,14 +4,14 @@
# 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) 1996-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-2000 by Scriptics Corporation.
+# Copyright © 1996-1997 Sun Microsystems, Inc.
+# Copyright © 1998-2000 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.1
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -685,13 +685,13 @@ test expr-15.3 {CompileMathFuncCall: too many arguments} -body {
test expr-15.4 {CompileMathFuncCall: ')' found before last required arg} -body {
catch {expr sin()} msg
set ::errorInfo
-} -match glob -result {too few arguments for math function*
+} -match glob -result {not enough arguments for math function*
while *ing
"expr sin()"}
-test expr-15.5 {CompileMathFuncCall: too few arguments} -body {
+test expr-15.5 {CompileMathFuncCall: not enough arguments} -body {
catch {expr pow(1)} msg
set ::errorInfo
-} -match glob -result {too few arguments for math function*
+} -match glob -result {not enough arguments for math function*
while *ing
"expr pow(1)"}
test expr-15.6 {CompileMathFuncCall: missing ')'} -body {
@@ -7251,7 +7251,7 @@ test expr-52.1 {
foreach func {isfinite isinf isnan isnormal issubnormal} {
test expr-53.1.$func {float classification: basic arg handling} -body {
expr ${func}()
- } -returnCodes error -result "too few arguments for math function \"$func\""
+ } -returnCodes error -result "not enough arguments for math function \"$func\""
test expr-53.2.$func {float classification: basic arg handling} -body {
expr ${func}(1,2)
} -returnCodes error -result "too many arguments for math function \"$func\""
@@ -7346,10 +7346,10 @@ test expr-59.12 {float classification: fpclassify} -returnCodes error -body {
test expr-60.1 {float classification: basic arg handling} -body {
expr isunordered()
-} -returnCodes error -result {too few arguments for math function "isunordered"}
+} -returnCodes error -result {not enough arguments for math function "isunordered"}
test expr-60.2 {float classification: basic arg handling} -body {
expr isunordered(1)
-} -returnCodes error -result {too few arguments for math function "isunordered"}
+} -returnCodes error -result {not enough arguments for math function "isunordered"}
test expr-60.3 {float classification: basic arg handling} -body {
expr {isunordered(1, 2, 3)}
} -returnCodes error -result {too many arguments for math function "isunordered"}
@@ -7384,6 +7384,67 @@ foreach v1 $values r1 $results {
}
}
unset -nocomplain values results ctr
+
+test expr-62.1 {TIP 582: comments} -body {
+ expr {1 # + 2}
+} -result 1
+test expr-62.2 {TIP 582: comments} -body {
+ expr "1 #\n+ 2"
+} -result 3
+test expr-62.3 {TIP 582: comments} -setup {
+ set ctr 0
+} -body {
+ expr {
+ # This is a demonstration of a comment
+ 1 + 2 + 3
+ # and another comment
+ + 4 + 5
+ # + [incr ctr]
+ + [incr ctr]
+ }
+} -result 16
+# Buggy because line breaks aren't tracked inside expressions at all
+test expr-62.4 {TIP 582: comments don't hide line breaks} -setup {
+ proc getline {} {
+ dict get [info frame -1] line
+ }
+ set base [getline]
+} -constraints knownBug -body {
+ expr {
+ 0
+ # a comment
+ + [getline] - $base
+ }
+} -cleanup {
+ rename getline ""
+} -result 5
+test expr-62.5 {TIP 582: comments don't splice tokens} {
+ set a False
+ expr {$a#don't splice
+ne#don't splice
+false}
+} 1
+test expr-62.6 {TIP 582: comments don't splice tokens} {
+ expr {0x2#don't splice
+ne#don't splice
+2}
+} 1
+test expr-62.7 {TIP 582: comments can go inside function calls} {
+ expr {max(1,# comment
+ 2)}
+} 2
+test expr-62.8 {TIP 582: comments can go inside function calls} {
+ expr {max(1# comment
+ ,2)}
+} 2
+test expr-62.9 {TIP 582: comments can go inside function calls} {
+ expr {max(# comment
+ 1,2)}
+} 2
+test expr-62.10 {TIP 582: comments can go inside function calls} {
+ expr {max# comment
+ (1,2)}
+} 2
# cleanup
unset -nocomplain a
diff --git a/tests/fCmd.test b/tests/fCmd.test
index e8ed6f9..8f21d1a 100644
--- a/tests/fCmd.test
+++ b/tests/fCmd.test
@@ -4,14 +4,14 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1996-1997 Sun Microsystems, Inc.
-# Copyright (c) 1999 by Scriptics Corporation.
+# Copyright © 1996-1997 Sun Microsystems, Inc.
+# Copyright © 1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -41,6 +41,7 @@ if {[testConstraint win]} {
testConstraint reg 1
}
}
+testConstraint notInCIenv [expr {![info exists ::env(CI)] || !$::env(CI)}]
set tmpspace /tmp;# default value
# Find a group that exists on this Unix system, or else skip tests that
@@ -78,6 +79,7 @@ testConstraint darwin9 [expr {
&& [package vsatisfies 1.$::tcl_platform(osVersion) 1.9]
}]
testConstraint notDarwin9 [expr {![testConstraint darwin9]}]
+testConstraint notContinuousIntegration [expr {![info exists ::env(CI)]}]
testConstraint fileSharing 0
testConstraint notFileSharing 1
@@ -416,7 +418,7 @@ test fCmd-5.4 {TclFileDeleteCmd: multiple files} -constraints notRoot -setup {
} -cleanup {cleanup} -result {1 1 1 0 0 0}
test fCmd-5.5 {TclFileDeleteCmd: stop at first error} -setup {
cleanup
-} -constraints {notRoot unixOrWin} -body {
+} -constraints {notRoot unixOrWin notWine} -body {
createfile tf1
createfile tf2
file mkdir td1
@@ -563,7 +565,7 @@ test fCmd-6.15 {CopyRenameOneFile: TclpRenameFile succeeds} -setup {
} -result 1
test fCmd-6.16 {CopyRenameOneFile: TclpCopyRenameOneFile fails} -setup {
cleanup
-} -constraints {notRoot} -body {
+} -constraints {notRoot notWine} -body {
file mkdir [file join td1 td2]
createfile [file join td1 td2 tf1]
file mkdir td2
@@ -572,12 +574,12 @@ test fCmd-6.16 {CopyRenameOneFile: TclpCopyRenameOneFile fails} -setup {
[subst {error renaming "td2" to "[file join td1 td2]": file *}]
test fCmd-6.17 {CopyRenameOneFile: errno == EINVAL} -setup {
cleanup
-} -constraints {notRoot} -returnCodes error -body {
+} -constraints {notRoot notWine} -returnCodes error -body {
file rename -force $root tf1
} -result [subst {error renaming "$root" to "tf1": trying to rename a volume or move a directory into itself}]
test fCmd-6.18 {CopyRenameOneFile: errno != EXDEV} -setup {
cleanup
-} -constraints {notRoot} -body {
+} -constraints {notRoot notWine} -body {
file mkdir [file join td1 td2]
createfile [file join td1 td2 tf1]
file mkdir td2
@@ -811,7 +813,7 @@ test fCmd-9.4.b {file rename: comprehensive: dir to new name} -setup {
} -result {{td3 td4} 1 0}
test fCmd-9.5 {file rename: comprehensive: file to self} -setup {
cleanup
-} -constraints {notRoot testchmod} -body {
+} -constraints {notRoot testchmod notWine} -body {
createfile tf1 tf1
createfile tf2 tf2
testchmod 0o444 tf2
@@ -841,7 +843,7 @@ test fCmd-9.6.b {file rename: comprehensive: dir to self} -setup {
} -result {{td1 td2} 1 0}
test fCmd-9.7 {file rename: comprehensive: file to existing file} -setup {
cleanup
-} -constraints {notRoot testchmod} -body {
+} -constraints {notRoot testchmod notWine} -body {
createfile tf1
createfile tf2
createfile tfs1
@@ -902,7 +904,7 @@ test fCmd-9.8 {file rename: comprehensive: dir to empty dir} -setup {
# Test can hit EEXIST or EBUSY, depending on underlying filesystem
test fCmd-9.9 {file rename: comprehensive: dir to non-empty dir} -setup {
cleanup
-} -constraints {notRoot testchmod} -body {
+} -constraints {notRoot testchmod notWine} -body {
file mkdir tds1
file mkdir tds2
file mkdir [file join tdd1 tds1 xxx]
@@ -966,14 +968,14 @@ test fCmd-9.12 {file rename: comprehensive: target exists} -setup {
# Test can hit EEXIST or EBUSY, depending on underlying filesystem
test fCmd-9.13 {file rename: comprehensive: can't overwrite target} -setup {
cleanup
-} -constraints {notRoot} -body {
+} -constraints {notRoot notWine} -body {
file mkdir [file join td1 td2] [file join td2 td1 td4]
file rename -force td1 td2
} -returnCodes error -match glob -result \
[subst {error renaming "td1" to "[file join td2 td1]": file *}]
test fCmd-9.14 {file rename: comprehensive: dir into self} -setup {
cleanup
-} -constraints {notRoot} -body {
+} -constraints {notRoot notWine} -body {
file mkdir td1
list [glob td*] [list [catch {file rename td1 td1} msg] $msg]
} -result [subst {td1 {1 {error renaming "td1" to "[file join td1 td1]": trying to rename a volume or move a directory into itself}}}]
@@ -1068,7 +1070,7 @@ test fCmd-10.3.1 {file copy: comprehensive: dir to new name} -setup {
} -result [list {td1 td2 td3 td4} [file join td3 tdx] [file join td4 tdy] 1 1]
test fCmd-10.4 {file copy: comprehensive: file to existing file} -setup {
cleanup
-} -constraints {notRoot testchmod} -body {
+} -constraints {notRoot testchmod notWine} -body {
createfile tf1
createfile tf2
createfile tfs1
@@ -2401,7 +2403,7 @@ test fCmd-28.10.1 {file link: linking to nonexistent path} -setup {
test fCmd-28.11 {file link: success with directory} -setup {
cd [temporaryDirectory]
file delete -force abc.link
-} -constraints {linkDirectory} -body {
+} -constraints {linkDirectory notWine} -body {
file link abc.link abc.dir
} -cleanup {
cd [workingDirectory]
@@ -2409,7 +2411,7 @@ test fCmd-28.11 {file link: success with directory} -setup {
test fCmd-28.12 {file link: cd into a link} -setup {
cd [temporaryDirectory]
file delete -force abc.link
-} -constraints {linkDirectory} -body {
+} -constraints {linkDirectory notWine} -body {
file link abc.link abc.dir
set orig [pwd]
cd abc.link
@@ -2435,7 +2437,7 @@ test fCmd-28.12 {file link: cd into a link} -setup {
file delete -force abc.link
cd [workingDirectory]
} -result ok
-test fCmd-28.13 {file link} -constraints {linkDirectory} -setup {
+test fCmd-28.13 {file link} -constraints {linkDirectory notWine} -setup {
cd [temporaryDirectory]
file link abc.link abc.dir
} -body {
@@ -2469,7 +2471,7 @@ test fCmd-28.15.1 {file link: copies link not dir} -setup {
test fCmd-28.15.2 {file link: copies link not dir} -setup {
cd [temporaryDirectory]
file delete -force abc.link
-} -constraints {linkDirectory} -body {
+} -constraints {linkDirectory notWine} -body {
file link abc.link abc.dir
file copy abc.link abc2.link
list [file type abc2.link] [file tail [file link abc2.link]]
@@ -2490,7 +2492,7 @@ cd [workingDirectory]
test fCmd-28.16 {file link: glob inside link} -setup {
cd [temporaryDirectory]
file delete -force abc.link
-} -constraints {linkDirectory} -body {
+} -constraints {linkDirectory notWine} -body {
file link abc.link abc.dir
lsort [glob -dir abc.link -tails *]
} -cleanup {
@@ -2500,13 +2502,13 @@ test fCmd-28.16 {file link: glob inside link} -setup {
test fCmd-28.17 {file link: glob -type l} -setup {
cd [temporaryDirectory]
file link abc.link abc.dir
-} -constraints {linkDirectory} -body {
+} -constraints {linkDirectory notWine} -body {
glob -dir [pwd] -type l -tails abc*
} -cleanup {
file delete -force abc.link
cd [workingDirectory]
} -result {abc.link}
-test fCmd-28.18 {file link: glob -type d} -constraints linkDirectory -setup {
+test fCmd-28.18 {file link: glob -type d} -constraints {linkDirectory notWine} -setup {
cd [temporaryDirectory]
file link abc.link abc.dir
} -body {
@@ -2517,7 +2519,7 @@ test fCmd-28.18 {file link: glob -type d} -constraints linkDirectory -setup {
} -result [lsort [list abc.link abc.dir abc2.dir]]
test fCmd-28.19 {file link: relative paths} -setup {
cd [temporaryDirectory]
-} -constraints {win linkDirectory} -body {
+} -constraints {win linkDirectory notWine} -body {
file mkdir d1/d2/d3
file link d1/l2 d1/d2
} -cleanup {
@@ -2575,12 +2577,14 @@ test fCmd-30.1 {file writable on 'My Documents'} -setup {
} -constraints {win reg} -body {
file writable $mydocsname
} -result 1
-test fCmd-30.2 {file readable on 'NTUSER.DAT'} -constraints {win} -body {
+test fCmd-30.2 {file readable on 'NTUSER.DAT'} -constraints {win notWine} -body {
expr {[info exists env(USERPROFILE)]
&& [file exists $env(USERPROFILE)/NTUSER.DAT]
&& [file readable $env(USERPROFILE)/NTUSER.DAT]}
} -result {1}
-test fCmd-30.3 {file readable on 'pagefile.sys'} -constraints {win} -body {
+# At least one CI environment (GitHub Actions) is set up with the page file in
+# an unusual location; skip the test if that is so.
+test fCmd-30.3 {file readable on 'pagefile.sys'} -constraints {win notInCIenv} -body {
set r {}
if {[info exists env(SystemDrive)]} {
set path $env(SystemDrive)/pagefile.sys
diff --git a/tests/fileName.test b/tests/fileName.test
index 0e4cb9e..14d7a3b 100644
--- a/tests/fileName.test
+++ b/tests/fileName.test
@@ -4,17 +4,18 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1995-1996 Sun Microsystems, Inc.
-# Copyright (c) 1999 by Scriptics Corporation.
+# Copyright © 1995-1996 Sun Microsystems, Inc.
+# Copyright © 1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
+
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -30,6 +31,7 @@ if {[testConstraint win]} {
testConstraint symbolicLinkFile 0
testConstraint sharedCdrive [expr {![catch {cd //[info hostname]/c}]}]
}
+testConstraint notWine [expr {![info exists ::env(CI_USING_WINE)]}]
# This match compares the first two words of the result. If the wanted result
# is "equal", then this is successful if the words are equal. If the wanted
# result is "not equal", then this is successful if the words are different.
@@ -788,7 +790,7 @@ test filename-11.17 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
-test filename-11.17.1 {Tcl_GlobCmd} {win} {
+test filename-11.17.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -directory $globname *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -799,7 +801,7 @@ test filename-11.17.1 {Tcl_GlobCmd} {win} {
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-11.17.2 {Tcl_GlobCmd} -setup {
set dir [pwd]
-} -constraints {notRoot linkDirectory} -body {
+} -constraints {notRoot linkDirectory notWine} -body {
cd $globname
file link -symbolic link a1
cd $dir
@@ -812,7 +814,7 @@ test filename-11.17.2 {Tcl_GlobCmd} -setup {
# Simpler version of the above test to illustrate a given bug.
test filename-11.17.3 {Tcl_GlobCmd} -setup {
set dir [pwd]
-} -constraints {notRoot linkDirectory} -body {
+} -constraints {notRoot linkDirectory notWine} -body {
cd $globname
file link -symbolic link a1
cd $dir
@@ -827,7 +829,7 @@ test filename-11.17.3 {Tcl_GlobCmd} -setup {
# Make sure the bugfix isn't too simple. We don't want to break 'glob -type l'
test filename-11.17.4 {Tcl_GlobCmd} -setup {
set dir [pwd]
-} -constraints {notRoot linkDirectory} -body {
+} -constraints {notRoot linkDirectory notWine} -body {
cd $globname
file link -symbolic link a1
cd $dir
@@ -845,7 +847,7 @@ test filename-11.17.6 {Tcl_GlobCmd} {
[list "weird name.c" x,z1.c x1.c y1.c z1.c]]]
test filename-11.17.7 {Tcl_GlobCmd: broken link and glob -l} -setup {
set dir [pwd]
-} -constraints {linkDirectory} -body {
+} -constraints {linkDirectory notWine} -body {
cd $globname
file mkdir nonexistent
file link -symbolic link nonexistent
@@ -877,7 +879,7 @@ test filename-11.18 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
-test filename-11.18.1 {Tcl_GlobCmd} {win} {
+test filename-11.18.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -path $globname/ *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -894,7 +896,7 @@ test filename-11.19 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
-test filename-11.19.1 {Tcl_GlobCmd} {win} {
+test filename-11.19.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -join -path [string range $globname 0 5] * *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -903,7 +905,7 @@ test filename-11.19.1 {Tcl_GlobCmd} {win} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
-test filename-11.20 {Tcl_GlobCmd} {
+test filename-11.20 {Tcl_GlobCmd} notWine {
lsort [glob -type d -dir $globname *]
} [lsort [list [file join $globname a1]\
[file join $globname a2]\
@@ -933,7 +935,7 @@ test filename-11.22 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
-test filename-11.22.1 {Tcl_GlobCmd} {win} {
+test filename-11.22.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -dir $globname *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -950,7 +952,7 @@ test filename-11.23 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
-test filename-11.23.1 {Tcl_GlobCmd} {win} {
+test filename-11.23.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -path $globname/ *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -967,7 +969,7 @@ test filename-11.24 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
-test filename-11.24.1 {Tcl_GlobCmd} {win} {
+test filename-11.24.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -join -path [string range $globname 0 5] * *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -976,17 +978,17 @@ test filename-11.24.1 {Tcl_GlobCmd} {win} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
-test filename-11.25 {Tcl_GlobCmd} {
+test filename-11.25 {Tcl_GlobCmd} notWine {
lsort [glob -type d -dir $globname *]
} [lsort [list [file join $globname a1]\
[file join $globname a2]\
[file join $globname a3]]]
-test filename-11.25.1 {Tcl_GlobCmd} {
+test filename-11.25.1 {Tcl_GlobCmd} notWine {
lsort [glob -type {d r} -dir $globname *]
} [lsort [list [file join $globname a1]\
[file join $globname a2]\
[file join $globname a3]]]
-test filename-11.25.2 {Tcl_GlobCmd} {
+test filename-11.25.2 {Tcl_GlobCmd} notWine {
lsort [glob -type {d r w} -dir $globname *]
} [lsort [list [file join $globname a1]\
[file join $globname a2]\
@@ -1083,6 +1085,12 @@ test filename-11.48 {Tcl_GlobCmd} -returnCodes error -body {
test filename-11.49 {Tcl_GlobCmd} -returnCodes error -body {
glob -types abcde -path foo -join * *
} -result {bad argument to "-types": abcde}
+test filename-11.50 {Tcl_GlobCmd} -returnCodes error -body {
+ glob -path hello -path salut *
+} -result {"-path" may only be used once}
+test filename-11.51 {Tcl_GlobCmd} -returnCodes error -body {
+ glob -dir hello -dir salut *
+} -result {"-directory" may only be used once}
file rename $horribleglobname globTest
file delete -force $tildeglobname
@@ -1224,10 +1232,10 @@ test filename-14.5 {asterisks, question marks, and brackets} -setup {
test filename-14.7 {asterisks, question marks, and brackets} {unix} {
lsort [glob globTest/*]
} {globTest/a1 globTest/a2 globTest/a3 {globTest/weird name.c} globTest/x,z1.c globTest/x1.c globTest/y1.c globTest/z1.c}
-test filename-14.7.1 {asterisks, question marks, and brackets} {win} {
+test filename-14.7.1 {asterisks, question marks, and brackets} {win notWine} {
lsort [glob globTest/*]
} {globTest/.1 globTest/a1 globTest/a2 globTest/a3 {globTest/weird name.c} globTest/x,z1.c globTest/x1.c globTest/y1.c globTest/z1.c}
-test filename-14.9 {asterisks, question marks, and brackets} {unixOrWin} {
+test filename-14.9 {asterisks, question marks, and brackets} {unixOrWin notWine} {
lsort [glob globTest/.*]
} {globTest/. globTest/.. globTest/.1}
test filename-14.11 {asterisks, question marks, and brackets} {unixOrWin} {
@@ -1236,7 +1244,7 @@ test filename-14.11 {asterisks, question marks, and brackets} {unixOrWin} {
test filename-14.13 {asterisks, question marks, and brackets} {unixOrWin} {
lsort [glob {globTest/[xyab]1.*}]
} {globTest/x1.c globTest/y1.c}
-test filename-14.15 {asterisks, question marks, and brackets} {unixOrWin} {
+test filename-14.15 {asterisks, question marks, and brackets} {unixOrWin notWine} {
lsort [glob globTest/*/]
} {globTest/a1/ globTest/a2/ globTest/a3/}
test filename-14.17 {asterisks, question marks, and brackets} -setup {
@@ -1276,7 +1284,7 @@ test filename-14.25 {type specific globbing} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
-test filename-14.25.1 {type specific globbing} {win} {
+test filename-14.25.1 {type specific globbing} {win notWine} {
lsort [glob -dir globTest -types f *]
} [lsort [list \
[file join $globname .1]\
diff --git a/tests/fileSystem.test b/tests/fileSystem.test
index 361542d..a546564 100644
--- a/tests/fileSystem.test
+++ b/tests/fileSystem.test
@@ -4,14 +4,17 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 2002 Vincent Darley.
+# Copyright © 2002 Vincent Darley.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
namespace eval ::tcl::test::fileSystem {
- namespace import ::tcltest::*
+
+ if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+ }
catch {
file delete -force link.file
@@ -34,7 +37,9 @@ catch {
testConstraint testfilesystem [llength [info commands ::testfilesystem]]
testConstraint testsetplatform [llength [info commands ::testsetplatform]]
testConstraint testsimplefilesystem [llength [info commands ::testsimplefilesystem]]
-testConstraint knownMsvcBug [expr {![info exists ::env(TRAVIS_OS_NAME)] || ![string match windows $::env(TRAVIS_OS_NAME)]}]
+# Some things fail under all Continuous Integration systems for subtle reasons
+# such as CI often running with elevated privileges in a container.
+testConstraint notInCIenv [expr {![info exists ::env(CI)]}]
cd [tcltest::temporaryDirectory]
makeFile "test file" gorp.file
@@ -313,7 +318,7 @@ test filesystem-1.37 {file normalisation with '/./'} -body {
} -match regexp -result {^(?:[^/]|/(?:[^/]|$))+$}
test filesystem-1.38 {file normalisation with volume relative} -setup {
set dir [pwd]
-} -constraints {win moreThanOneDrive knownMsvcBug} -body {
+} -constraints {win moreThanOneDrive notInCIenv} -body {
set path "[string range [lindex $drives 0] 0 1]foo"
cd [lindex $drives 1]
file norm $path
@@ -562,7 +567,7 @@ test filesystem-7.1.1 {load from vfs} -setup {
cd [file dirname $::ddelib]
testsimplefilesystem 1
# This loads dde via a complex copy-to-temp operation
- load simplefs:/[file tail $::ddelib] dde
+ load simplefs:/[file tail $::ddelib] Dde
testsimplefilesystem 0
return ok
# The real result of this test is what happens when Tcl exits.
diff --git a/tests/fileSystemEncoding.test b/tests/fileSystemEncoding.test
index 0f8a2a7..848b570 100644
--- a/tests/fileSystemEncoding.test
+++ b/tests/fileSystemEncoding.test
@@ -1,14 +1,17 @@
#! /usr/bin/env tclsh
-# Copyright (c) 2019 Poor Yorick
+# Copyright © 2019 Poor Yorick
if {[string equal $::tcl_platform(os) "Windows NT"]} {
return
}
namespace eval ::tcl::test::fileSystemEncoding {
- package require tcltest 2
- namespace import ::tcltest::*
+
+ if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+ }
variable fname1 \u767b\u9e1b\u9d72\u6a13
diff --git a/tests/for-old.test b/tests/for-old.test
index bf69376..f5d1de9 100644
--- a/tests/for-old.test
+++ b/tests/for-old.test
@@ -6,14 +6,14 @@
# into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -22,23 +22,23 @@ if {"::tcltest" ni [namespace children]} {
catch {unset a i}
test for-old-1.1 {for tests} {
set a {}
- for {set i 1} {$i<6} {set i [expr $i+1]} {
+ for {set i 1} {$i<6} {incr i} {
set a [concat $a $i]
}
set a
} {1 2 3 4 5}
test for-old-1.2 {for tests} {
set a {}
- for {set i 1} {$i<6} {set i [expr $i+1]} {
- if $i==4 continue
+ for {set i 1} {$i<6} {incr i} {
+ if {$i==4} continue
set a [concat $a $i]
}
set a
} {1 2 3 5}
test for-old-1.3 {for tests} {
set a {}
- for {set i 1} {$i<6} {set i [expr $i+1]} {
- if $i==4 break
+ for {set i 1} {$i<6} {incr i} {
+ if {$i==4} break
set a [concat $a $i]
}
set a
@@ -55,12 +55,12 @@ test for-old-1.7 {for tests} {
} {wrong # args: should be "for start test next command"}
test for-old-1.8 {for tests} {
set a {xyz}
- for {set i 1} {$i<6} {set i [expr $i+1]} {}
+ for {set i 1} {$i<6} {incr i} {}
set a
} xyz
test for-old-1.9 {for tests} {
set a {}
- for {set i 1} {$i<6} {set i [expr $i+1]; if $i==4 break} {
+ for {set i 1} {$i<6} {incr i; if {$i==4} break} {
set a [concat $a $i]
}
set a
diff --git a/tests/for.test b/tests/for.test
index bc2f40e..8284a09 100644
--- a/tests/for.test
+++ b/tests/for.test
@@ -4,13 +4,13 @@
# 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) 1996 Sun Microsystems, Inc.
+# Copyright © 1996 Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -62,15 +62,15 @@ test for-1.8 {TclCompileForCmd: error compiling command body} -body {
catch {unset a}
test for-1.9 {TclCompileForCmd: simple command body} {
set a {}
- for {set i 1} {$i<6} {set i [expr $i+1]} {
- if $i==4 break
+ for {set i 1} {$i<6} {incr i} {
+ if {$i==4} break
set a [concat $a $i]
}
set a
} {1 2 3}
test for-1.10 {TclCompileForCmd: command body in quotes} {
set a {}
- for {set i 1} {$i<6} {set i [expr $i+1]} "append a x"
+ for {set i 1} {$i<6} {incr i} "append a x"
set a
} {xxxxx}
test for-1.11 {TclCompileForCmd: computed command body} {
@@ -81,7 +81,7 @@ test for-1.11 {TclCompileForCmd: computed command body} {
set bb {break}
set x2 {; append a x2}
set a {}
- for {set i 1} {$i<6} {set i [expr $i+1]} $x1$bb$x2
+ for {set i 1} {$i<6} {incr i} $x1$bb$x2
set a
} {x1}
test for-1.12 {TclCompileForCmd: error in "next" command} -body {
@@ -92,9 +92,9 @@ test for-1.12 {TclCompileForCmd: error in "next" command} -body {
"set"*}
test for-1.13 {TclCompileForCmd: long command body} {
set a {}
- for {set i 1} {$i<6} {set i [expr $i+1]} {
- if $i==4 break
- if $i>5 continue
+ for {set i 1} {$i<6} {incr i} {
+ if {$i==4} break
+ if {$i>5} continue
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -129,7 +129,7 @@ test for-1.14 {TclCompileForCmd: for command result} {
set a
} {}
test for-1.15 {TclCompileForCmd: for command result} {
- set a [for {set i 0} {$i < 5} {incr i} {if $i==3 break}]
+ set a [for {set i 0} {$i < 5} {incr i} {if {$i==3} break}]
set a
} {}
@@ -144,7 +144,7 @@ test for-2.2 {TclCompileContinueCmd: continue result} {
} 4
test for-2.3 {continue tests} {
set a {}
- for {set i 1} {$i <= 4} {set i [expr $i+1]} {
+ for {set i 1} {$i <= 4} {incr i} {
if {$i == 2} continue
set a [concat $a $i]
}
@@ -152,7 +152,7 @@ test for-2.3 {continue tests} {
} {1 3 4}
test for-2.4 {continue tests} {
set a {}
- for {set i 1} {$i <= 4} {set i [expr $i+1]} {
+ for {set i 1} {$i <= 4} {incr i} {
if {$i != 2} continue
set a [concat $a $i]
}
@@ -170,10 +170,10 @@ test for-2.5 {continue tests, nested loops} {
} {1.1 1.2 2.1 3.1 4.1}
test for-2.6 {continue tests, long command body} {
set a {}
- for {set i 1} {$i<6} {set i [expr $i+1]} {
- if $i==2 continue
- if $i==4 break
- if $i>5 continue
+ for {set i 1} {$i<6} {incr i} {
+ if {$i==2} continue
+ if {$i==4} break
+ if {$i>5} continue
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -246,10 +246,10 @@ test for-3.4 {break tests, nested loops} {
} {1.1 1.2 2.1 3.1 4.1}
test for-3.5 {break tests, long command body} {
set a {}
- for {set i 1} {$i<6} {set i [expr $i+1]} {
- if $i==2 continue
- if $i==5 break
- if $i>5 continue
+ for {set i 1} {$i<6} {incr i} {
+ if {$i==2} continue
+ if {$i==5} break
+ if {$i>5} continue
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -265,7 +265,7 @@ test for-3.5 {break tests, long command body} {
catch {incr i 5} msg
catch {incr i -5} msg
}
- if $i==4 break
+ if {$i==4} break
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -386,7 +386,7 @@ proc formatMail {} {
continue
}
}
- if $inheaders {
+ if {$inheaders} {
set limit 55
} else {
set limit 55
@@ -430,12 +430,12 @@ proc formatMail {} {
continue
}
}
- set climit [expr $limit-1]
+ set climit [expr {$limit-1}]
set cutoff 50
set continuation 0
while {[string length $line] > $limit} {
- for {set c [expr $limit-1]} {$c >= $cutoff} {incr c -1} {
+ for {set c [expr {$limit-1}]} {$c >= $cutoff} {incr c -1} {
set char [string index $line $c]
if {$char == " " || $char == "\t"} {
break
@@ -446,7 +446,7 @@ proc formatMail {} {
}
if {$c < $cutoff} {
if {! $inheaders} {
- set c [expr $limit-1]
+ set c [expr {$limit-1}]
} else {
set c [string length $line]
}
@@ -585,7 +585,7 @@ Tcl/Tk Shop. Check it out!
test for-4.1 {break must reset the interp result} {
catch {
set z GLOBTESTDIR/dir2/file2.c
- if [string match GLOBTESTDIR/dir2/* $z] {
+ if {[string match GLOBTESTDIR/dir2/* $z]} {
break
}
} j
@@ -696,8 +696,8 @@ test for-6.9 {Tcl_ForObjCmd: error executing command body} -body {
test for-6.10 {Tcl_ForObjCmd: simple command body} {
set z for
set a {}
- $z {set i 1} {$i<6} {set i [expr $i+1]} {
- if $i==4 break
+ $z {set i 1} {$i<6} {incr i} {
+ if {$i==4} break
set a [concat $a $i]
}
set a
@@ -705,7 +705,7 @@ test for-6.10 {Tcl_ForObjCmd: simple command body} {
test for-6.11 {Tcl_ForObjCmd: command body in quotes} {
set z for
set a {}
- $z {set i 1} {$i<6} {set i [expr $i+1]} "append a x"
+ $z {set i 1} {$i<6} {incr i} "append a x"
set a
} {xxxxx}
test for-6.12 {Tcl_ForObjCmd: computed command body} {
@@ -717,7 +717,7 @@ test for-6.12 {Tcl_ForObjCmd: computed command body} {
set bb {break}
set x2 {; append a x2}
set a {}
- $z {set i 1} {$i<6} {set i [expr $i+1]} $x1$bb$x2
+ $z {set i 1} {$i<6} {incr i} $x1$bb$x2
set a
} {x1}
test for-6.13 {Tcl_ForObjCmd: error in "next" command} -body {
@@ -733,9 +733,9 @@ test for-6.13 {Tcl_ForObjCmd: error in "next" command} -body {
test for-6.14 {Tcl_ForObjCmd: long command body} {
set z for
set a {}
- $z {set i 1} {$i<6} {set i [expr $i+1]} {
- if $i==4 break
- if $i>5 continue
+ $z {set i 1} {$i<6} {incr i} {
+ if {$i==4} break
+ if {$i>5} continue
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
diff --git a/tests/foreach.test b/tests/foreach.test
index 6ef608e..85dc3da 100644
--- a/tests/foreach.test
+++ b/tests/foreach.test
@@ -4,14 +4,14 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/format.test b/tests/format.test
index ded8a4c..c807c9e 100644
--- a/tests/format.test
+++ b/tests/format.test
@@ -4,14 +4,14 @@
# 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) 1991-1994 The Regents of the University of California.
-# Copyright (c) 1994-1998 Sun Microsystems, Inc.
+# Copyright © 1991-1994 The Regents of the University of California.
+# Copyright © 1994-1998 Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -20,7 +20,10 @@ testConstraint longIs32bit [expr {$tcl_platform(wordSize) == 4}]
testConstraint longIs64bit [expr {$tcl_platform(wordSize) == 8}]
testConstraint wideIs64bit [expr {wide(0x8000000000000000) < 0}]
testConstraint pointerIs64bit [expr {$tcl_platform(pointerSize) >= 8}]
-testConstraint knownMsvcBug [expr {![info exists ::env(TRAVIS_OS_NAME)] || ![string match windows $::env(TRAVIS_OS_NAME)]}]
+# MSVC uses a broken libc that gets sprintf("%g") wrong. This is a pain
+# particularly in Continuous Integration, and there isn't anything much we can
+# do about it.
+testConstraint knownMsvcBug [expr {![info exists ::env(CI_BUILD_WITH_MSVC)]}]
test format-1.1 {integer formatting} {
format "%*d %d %d %d" 6 34 16923 -12 -1
diff --git a/tests/get.test b/tests/get.test
index e39097c..a36dfd0 100644
--- a/tests/get.test
+++ b/tests/get.test
@@ -4,14 +4,14 @@
# file tclGet.c. Sourcing this file into Tcl runs the tests and
# generates output for errors. No output means no errors were found.
#
-# Copyright (c) 1995-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/history.test b/tests/history.test
index 9ff41f2..557c856 100644
--- a/tests/history.test
+++ b/tests/history.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -40,7 +40,7 @@ test history-1.1 {event option} history {history event -1} \
{set b [format {A test %s} string]}
test history-1.2 {event option} history {history event $num} \
{set a 12345}
-test history-1.3 {event option} history {history event [expr $num+2]} \
+test history-1.3 {event option} history {history event [expr {$num+2}]} \
{Another test}
test history-1.4 {event option} history {history event set} \
{set b [format {A test %s} string]}
@@ -149,11 +149,11 @@ test history-5.1 {info option} history {history info} [format {%6d set a {b
%6d set b 1234
%6d set c {a
b
- c}} $num [expr $num+1] [expr $num+2]]
+ c}} $num [expr {$num+1}] [expr {$num+2}]]
test history-5.2 {info option} history {history i 2} [format {%6d set b 1234
%6d set c {a
b
- c}} [expr $num+1] [expr $num+2]]
+ c}} [expr {$num+1}] [expr {$num+2}]]
test history-5.3 {info option} history {catch {history i 2 3}} 1
test history-5.4 {info option} history {
catch {history i 2 3} msg
@@ -164,7 +164,7 @@ test history-5.5 {info option} history {history} [format {%6d set a {b
%6d set b 1234
%6d set c {a
b
- c}} $num [expr $num+1] [expr $num+2]]
+ c}} $num [expr {$num+1}] [expr {$num+2}]]
# "history keep"
@@ -174,7 +174,9 @@ if {[testConstraint history]} {
history add "foo3"
history keep 2
}
-test history-6.1 {keep option} history {history event [expr [history n]-1]} foo3
+test history-6.1 {keep option} history {
+ history event [expr {[history n]-1}]
+} foo3
test history-6.2 {keep option} history {history event -1} foo2
test history-6.3 {keep option} history {catch {history event -3}} 1
test history-6.4 {keep option} history {
@@ -216,7 +218,7 @@ if {[testConstraint history]} {
history add "Testing2"
}
test history-7.1 {nextid option} history {history event} "Testing"
-test history-7.2 {nextid option} history {history next} [expr $num+2]
+test history-7.2 {nextid option} history {history next} [expr {$num+2}]
test history-7.3 {nextid option} history {catch {history nextid garbage}} 1
test history-7.4 {nextid option} history {
catch {history nextid garbage} msg
@@ -262,7 +264,7 @@ test history-10.1 {references kept by history} -constraints history -setup {
} -body {
histtest eval {
# A fresh object, refcount 1 from the variable we write it to
- set obj [expr rand()]
+ set obj [expr {rand()}]
set baseline [refcount $obj]
lappend result [refcount $obj]
history add [list list $obj]
@@ -288,7 +290,7 @@ test history-10.2 {references kept by history} -constraints history -setup {
} -body {
histtest eval {
# A fresh object, refcount 1 from the variable we write it to
- set obj [expr rand()]
+ set obj [expr {rand()}]
set baseline [refcount $obj]
lappend result [refcount $obj]
history add [list list $obj]
diff --git a/tests/http.test b/tests/http.test
index 8eac3c3..4a07789 100644
--- a/tests/http.test
+++ b/tests/http.test
@@ -4,22 +4,24 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-2000 by Ajuba Solutions.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-2000 Ajuba Solutions.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import -force ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
if {[catch {package require http 2} version]} {
if {[info exists http2]} {
catch {puts "Cannot load http 2.* package"}
return
} else {
- catch {puts "Running http 2.* tests in slave interp"}
+ catch {puts "Running http 2.* tests in child interp"}
set interp [interp create http2]
$interp eval [list set http2 "running"]
$interp eval [list set argv $argv]
@@ -122,7 +124,7 @@ test http-3.2 {http::geturl} -returnCodes error -body {
http::geturl http:junk
} -result {Unsupported URL: http:junk}
set url //${::HOST}:$port
-set badurl //${::HOST}:[expr $port+1]
+set badurl //${::HOST}:[expr {$port+1}]
test http-3.3 {http::geturl} -body {
set token [http::geturl $url]
http::data $token
@@ -442,6 +444,9 @@ test http-3.33 {http::geturl application/xml is text} -body {
} -cleanup {
catch { http::cleanup $token }
} -result {test 4660 /test}
+test http-3.34 {http::geturl -headers not a dict} -returnCodes error -body {
+ http::geturl http://test/t -headers NoDict
+} -result {Bad value for -headers (NoDict), must be dict}
test http-4.1 {http::Event} -body {
set token [http::geturl $url -keepalive 0]
diff --git a/tests/http11.test b/tests/http11.test
index 989b00f..f243e56 100644
--- a/tests/http11.test
+++ b/tests/http11.test
@@ -7,8 +7,10 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import -force ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
package require http 2.9
@@ -17,7 +19,7 @@ variable httpd_output
proc create_httpd {} {
proc httpd_read {chan} {
variable httpd_output
- if {[gets $chan line] != -1} {
+ if {[gets $chan line] >= 0} {
#puts stderr "read '$line'"
set httpd_output $line
}
diff --git a/tests/httpPipeline.test b/tests/httpPipeline.test
index de1a7d8..4306149 100644
--- a/tests/httpPipeline.test
+++ b/tests/httpPipeline.test
@@ -8,8 +8,10 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import -force ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
package require http 2.9
diff --git a/tests/httpTest.tcl b/tests/httpTest.tcl
index 4345845..8a96d95 100644
--- a/tests/httpTest.tcl
+++ b/tests/httpTest.tcl
@@ -60,7 +60,7 @@ proc http::Log {args} {
variable TestStartTimeInMs
set time [expr {[clock milliseconds] - $TestStartTimeInMs}]
set txt [list $time {*}$args]
- if {[string first ^ $txt] != -1} {
+ if {[string first ^ $txt] >= 0} {
::httpTest::LogRecord $txt
::httpTest::Puts $txt
} elseif {$::httpTest::testOptions(-verbose) > 1} {
@@ -86,7 +86,7 @@ proc httpTest::LogRecord {txt} {
puts stdout "Fix this call to Log in http-*.tm so it has ^ then\
a letter then a numeral."
flush stdout
- } elseif {$pos == -1} {
+ } elseif {$pos < 0} {
# Called by mistake.
} else {
set letter [string index $txt [incr pos]]
@@ -153,7 +153,7 @@ proc httpTest::TestOverlaps {someResults n term msg badTrans notPiped} {
set myStart [lsearch -exact $someResults [list B $i]]
set myEnd [lsearch -exact $someResults [list $term $i]]
- if {($myStart == -1 || $myEnd == -1)} {
+ if {($myStart < 0 || $myEnd < 0)} {
set res "Cannot find positions of transaction $i"
append msg $res \n
Puts $res
@@ -374,7 +374,7 @@ proc httpTest::ProcessRetries {someResults n msg skipOverlaps notIncluded notPip
variable testOptions
set nextRetry [lsearch -glob -index 0 $someResults {[PQR]}]
- if {$nextRetry == -1} {
+ if {$nextRetry < 0} {
return [MostAnalysis $someResults $n $msg $skipOverlaps $notIncluded $notPiped]
}
set badTrans $notIncluded
@@ -391,7 +391,7 @@ proc httpTest::ProcessRetries {someResults n msg skipOverlaps notIncluded notPip
for {set i 1} {$i <= $n} {incr i} {
set first [lsearch -exact $beforeTry [list A $i]]
set last [lsearch -exact $beforeTry [list F $i]]
- if {$first == -1} {
+ if {$first < 0} {
set res "Transaction $i was not started in connection number $tryCount"
# So lappend it to badTrans and don't include it in the call below of MostAnalysis.
# append msg $res \n
@@ -400,7 +400,7 @@ proc httpTest::ProcessRetries {someResults n msg skipOverlaps notIncluded notPip
lappend badTrans $i
} else {
}
- } elseif {$last == -1} {
+ } elseif {$last < 0} {
set res "Transaction $i was started but unfinished in connection number $tryCount"
# So lappend it to badTrans and don't include it in the call below of MostAnalysis.
# append msg $res \n
diff --git a/tests/httpcookie.test b/tests/httpcookie.test
index b3c5412..329330d 100644
--- a/tests/httpcookie.test
+++ b/tests/httpcookie.test
@@ -4,21 +4,20 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 2014 Donal K. Fellows.
+# Copyright © 2014 Donal K. Fellows.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import -force ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
::tcltest::loadTestedCommands
-testConstraint notOSXtravis [apply {{} {
- upvar 1 env(TRAVIS_OSX_IMAGE) travis
- return [expr {![info exists travis] || ![string match xcode* $travis]}]
-}}]
-testConstraint sqlite3 [expr {[testConstraint notOSXtravis] && ![catch {
+testConstraint notMacCI [expr {![info exists ::env(MAC_CI)]}]
+testConstraint sqlite3 [expr {[testConstraint notMacCI] && ![catch {
package require sqlite3
}]}]
testConstraint cookiejar [expr {[testConstraint sqlite3] && ![catch {
diff --git a/tests/httpd b/tests/httpd
index 982f3b8..37343aa 100644
--- a/tests/httpd
+++ b/tests/httpd
@@ -2,8 +2,8 @@
#
# The httpd_ procedures implement a stub http server.
#
-# Copyright (c) 1997-1998 Sun Microsystems, Inc.
-# Copyright (c) 1999-2000 Scriptics Corporation
+# Copyright © 1997-1998 Sun Microsystems, Inc.
+# Copyright © 1999-2000 Scriptics Corporation
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
diff --git a/tests/httpd11.tcl b/tests/httpd11.tcl
index 0b02319..89590ec 100644
--- a/tests/httpd11.tcl
+++ b/tests/httpd11.tcl
@@ -237,7 +237,7 @@ proc Accept {chan addr port} {
}
proc Control {chan} {
- if {[gets $chan line] != -1} {
+ if {[gets $chan line] >= 0} {
if {[string trim $line] eq "quit"} {
set ::forever 1
}
diff --git a/tests/if-old.test b/tests/if-old.test
index db23889..378c8a6 100644
--- a/tests/if-old.test
+++ b/tests/if-old.test
@@ -6,15 +6,15 @@
# into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/if.test b/tests/if.test
index d7fce19..c5babdd 100644
--- a/tests/if.test
+++ b/tests/if.test
@@ -4,14 +4,14 @@
# 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) 1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -142,7 +142,7 @@ test if-1.16 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 2
@@ -165,7 +165,7 @@ test if-1.16 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 3
@@ -239,7 +239,7 @@ test if-2.5 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 2
@@ -262,7 +262,7 @@ test if-2.5 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 3
@@ -287,7 +287,7 @@ test if-2.5 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 5
@@ -310,7 +310,7 @@ test if-2.5 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 6
@@ -389,7 +389,7 @@ test if-3.6 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 2
@@ -412,7 +412,7 @@ test if-3.6 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 3
@@ -437,7 +437,7 @@ test if-3.6 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 5
@@ -460,7 +460,7 @@ test if-3.6 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 6
@@ -485,7 +485,7 @@ test if-3.6 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 8
@@ -508,7 +508,7 @@ test if-3.6 {TclCompileIfCmd: test jumpFalse instruction replacement after long
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 9
@@ -713,7 +713,7 @@ test if-5.16 {if cmd with computed command names: test jumpFalse instruction rep
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 2
@@ -736,7 +736,7 @@ test if-5.16 {if cmd with computed command names: test jumpFalse instruction rep
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 3
@@ -816,7 +816,7 @@ test if-6.5 {if cmd with computed command names: test jumpFalse instruction repl
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 2
@@ -839,7 +839,7 @@ test if-6.5 {if cmd with computed command names: test jumpFalse instruction repl
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 3
@@ -864,7 +864,7 @@ test if-6.5 {if cmd with computed command names: test jumpFalse instruction repl
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 5
@@ -887,7 +887,7 @@ test if-6.5 {if cmd with computed command names: test jumpFalse instruction repl
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 6
@@ -975,7 +975,7 @@ test if-7.6 {if cmd with computed command names: test jumpFalse instruction repl
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 2
@@ -998,7 +998,7 @@ test if-7.6 {if cmd with computed command names: test jumpFalse instruction repl
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 3
@@ -1023,7 +1023,7 @@ test if-7.6 {if cmd with computed command names: test jumpFalse instruction repl
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 5
@@ -1046,7 +1046,7 @@ test if-7.6 {if cmd with computed command names: test jumpFalse instruction repl
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 6
@@ -1071,7 +1071,7 @@ test if-7.6 {if cmd with computed command names: test jumpFalse instruction repl
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 8
@@ -1094,7 +1094,7 @@ test if-7.6 {if cmd with computed command names: test jumpFalse instruction repl
set i $i
set i [lindex $s $i]
}
- set i [expr $i-1]
+ incr i -1
}
}
set a 9
diff --git a/tests/incr-old.test b/tests/incr-old.test
index 77597a5..818bccc 100644
--- a/tests/incr-old.test
+++ b/tests/incr-old.test
@@ -6,15 +6,15 @@
# into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/incr.test b/tests/incr.test
index aa2872a..04c3652 100644
--- a/tests/incr.test
+++ b/tests/incr.test
@@ -4,14 +4,14 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/indexObj.test b/tests/indexObj.test
index b70b6d9..cb4c631 100644
--- a/tests/indexObj.test
+++ b/tests/indexObj.test
@@ -2,14 +2,14 @@
# tkIndexObj.c, which implement indexed table lookups. The tests here are
# organized in the standard fashion for Tcl tests.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/info.test b/tests/info.test
index 7ac6d8c..07b71e7 100644
--- a/tests/info.test
+++ b/tests/info.test
@@ -5,10 +5,10 @@
# 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) 1991-1994 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
-# Copyright (c) 2006 ActiveState
+# Copyright © 1991-1994 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright © 2006 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -16,7 +16,7 @@
# DO NOT DELETE THIS LINE
if {{::tcltest} ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
::tcltest::loadTestedCommands
@@ -325,7 +325,7 @@ test info-9.2 {info level option} {
} {1 {t1 146 testString}}
test info-9.3 {info level option} {
proc t1 {a b} {
- t2 [expr $a*2] $b
+ t2 [expr {$a*2}] $b
}
proc t2 {x y} {
list [info level] [info level 1] [info level 2] [info level -1] \
diff --git a/tests/init.test b/tests/init.test
index 91df4a1..0074625 100644
--- a/tests/init.test
+++ b/tests/init.test
@@ -4,14 +4,14 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.3.4
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/internals.tcl b/tests/internals.tcl
index e859afe..ff6c42b 100644
--- a/tests/internals.tcl
+++ b/tests/internals.tcl
@@ -4,7 +4,7 @@
#
# source [file join [file dirname [info script]] internals.tcl]
#
-# Copyright (c) 2020 Sergey G. Brester (sebres).
+# Copyright © 2020 Sergey G. Brester (sebres).
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
diff --git a/tests/interp.test b/tests/interp.test
index 599ac08..5838059 100644
--- a/tests/interp.test
+++ b/tests/interp.test
@@ -4,14 +4,14 @@
# 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-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.1
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -22,7 +22,7 @@ testConstraint testinterpdelete [llength [info commands testinterpdelete]]
set hidden_cmds {cd encoding exec exit fconfigure file glob load open pwd socket source tcl:encoding:dirs tcl:encoding:system tcl:file:atime tcl:file:attributes tcl:file:copy tcl:file:delete tcl:file:dirname tcl:file:executable tcl:file:exists tcl:file:extension tcl:file:isdirectory tcl:file:isfile tcl:file:link tcl:file:lstat tcl:file:mkdir tcl:file:mtime tcl:file:nativename tcl:file:normalize tcl:file:owned tcl:file:readable tcl:file:readlink tcl:file:rename tcl:file:rootname tcl:file:size tcl:file:stat tcl:file:tail tcl:file:tempdir tcl:file:tempfile tcl:file:type tcl:file:volumes tcl:file:writable tcl:info:cmdtype tcl:info:nameofexecutable tcl:process:autopurge tcl:process:list tcl:process:purge tcl:process:status tcl:zipfs:lmkimg tcl:zipfs:lmkzip tcl:zipfs:mkimg tcl:zipfs:mkkey tcl:zipfs:mkzip tcl:zipfs:mount tcl:zipfs:mount_data tcl:zipfs:unmount unload}
-foreach i [interp slaves] {
+foreach i [interp children] {
interp delete $i
}
@@ -32,7 +32,7 @@ test interp-1.1 {options for interp command} -returnCodes error -body {
} -result {wrong # args: should be "interp cmd ?arg ...?"}
test interp-1.2 {options for interp command} -returnCodes error -body {
interp frobox
-} -result {bad option "frobox": must be alias, aliases, bgerror, cancel, create, debug, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, slaves, share, target, or transfer}
+} -result {bad option "frobox": must be alias, aliases, bgerror, cancel, children, create, debug, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, share, target, or transfer}
test interp-1.3 {options for interp command} {
interp delete
} ""
@@ -46,17 +46,17 @@ test interp-1.5 {options for interp command} -returnCodes error -body {
# test interp-0.6 was removed
#
test interp-1.6 {options for interp command} -returnCodes error -body {
- interp slaves foo bar zop
-} -result {wrong # args: should be "interp slaves ?path?"}
+ interp children foo bar zop
+} -result {wrong # args: should be "interp children ?path?"}
test interp-1.7 {options for interp command} -returnCodes error -body {
interp hello
-} -result {bad option "hello": must be alias, aliases, bgerror, cancel, create, debug, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, slaves, share, target, or transfer}
+} -result {bad option "hello": must be alias, aliases, bgerror, cancel, children, create, debug, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, share, target, or transfer}
test interp-1.8 {options for interp command} -returnCodes error -body {
interp -froboz
-} -result {bad option "-froboz": must be alias, aliases, bgerror, cancel, create, debug, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, slaves, share, target, or transfer}
+} -result {bad option "-froboz": must be alias, aliases, bgerror, cancel, children, create, debug, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, share, target, or transfer}
test interp-1.9 {options for interp command} -returnCodes error -body {
interp -froboz -safe
-} -result {bad option "-froboz": must be alias, aliases, bgerror, cancel, create, debug, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, slaves, share, target, or transfer}
+} -result {bad option "-froboz": must be alias, aliases, bgerror, cancel, children, create, debug, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, share, target, or transfer}
test interp-1.10 {options for interp command} -returnCodes error -body {
interp target
} -result {wrong # args: should be "interp target path alias"}
@@ -105,7 +105,7 @@ test interp-2.11 {anonymous interps vs existing procs} {
proc interp$thenum {} {}
set x [interp create]
regexp "interp(\[0-9]+)" $x dummy anothernum
- expr $anothernum > $thenum
+ expr {$anothernum > $thenum}
} 1
test interp-2.12 {anonymous interps vs existing procs} {
set x [interp create -safe]
@@ -114,51 +114,51 @@ test interp-2.12 {anonymous interps vs existing procs} {
proc interp$thenum {} {}
set x [interp create -safe]
regexp "interp(\[0-9]+)" $x dummy anothernum
- expr $anothernum - $thenum
+ expr {$anothernum - $thenum}
} 1
test interp-2.13 {correct default when no $path arg is given} -body {
interp create --
} -match regexp -result {interp[0-9]+}
-foreach i [interp slaves] {
+foreach i [interp children] {
interp delete $i
}
-# Part 2: Testing "interp slaves" and "interp exists"
-test interp-3.1 {testing interp exists and interp slaves} {
- interp slaves
+# Part 2: Testing "interp children" and "interp exists"
+test interp-3.1 {testing interp exists and interp children} {
+ interp children
} ""
-test interp-3.2 {testing interp exists and interp slaves} {
+test interp-3.2 {testing interp exists and interp children} {
interp create a
interp exists a
} 1
-test interp-3.3 {testing interp exists and interp slaves} {
+test interp-3.3 {testing interp exists and interp children} {
interp exists nonexistent
} 0
-test interp-3.4 {testing interp exists and interp slaves} -body {
- interp slaves a b c
-} -returnCodes error -result {wrong # args: should be "interp slaves ?path?"}
-test interp-3.5 {testing interp exists and interp slaves} -body {
+test interp-3.4 {testing interp exists and interp children} -body {
+ interp children a b c
+} -returnCodes error -result {wrong # args: should be "interp children ?path?"}
+test interp-3.5 {testing interp exists and interp children} -body {
interp exists a b c
} -returnCodes error -result {wrong # args: should be "interp exists ?path?"}
-test interp-3.6 {testing interp exists and interp slaves} {
+test interp-3.6 {testing interp exists and interp children} {
interp exists
} 1
-test interp-3.7 {testing interp exists and interp slaves} -setup {
+test interp-3.7 {testing interp exists and interp children} -setup {
catch {interp create a}
} -body {
- interp slaves
+ interp children
} -result a
-test interp-3.8 {testing interp exists and interp slaves} -body {
- interp slaves a b c
-} -returnCodes error -result {wrong # args: should be "interp slaves ?path?"}
-test interp-3.9 {testing interp exists and interp slaves} -setup {
+test interp-3.8 {testing interp exists and interp children} -body {
+ interp children a b c
+} -returnCodes error -result {wrong # args: should be "interp children ?path?"}
+test interp-3.9 {testing interp exists and interp children} -setup {
catch {interp create a}
} -body {
interp create {a a2} -safe
- expr {"a2" in [interp slaves a]}
+ expr {"a2" in [interp children a]}
} -result 1
-test interp-3.10 {testing interp exists and interp slaves} -setup {
+test interp-3.10 {testing interp exists and interp children} -setup {
catch {interp create a}
catch {interp create {a a2}}
} -body {
@@ -186,7 +186,7 @@ test interp-4.5 {testing interp delete} {
interp create a
interp create {a x1}
interp delete {a x1}
- expr {"x1" in [interp slaves a]}
+ expr {"x1" in [interp children a]}
} 0
test interp-4.6 {testing interp delete} {
interp create c1
@@ -203,14 +203,14 @@ test interp-4.8 {testing interp delete} -returnCodes error -body {
interp delete {}
} -result {cannot delete the current interpreter}
-foreach i [interp slaves] {
+foreach i [interp children] {
interp delete $i
}
# Part 4: Consistency checking - all nondeleted interpreters should be
# there:
test interp-5.1 {testing consistency} {
- interp slaves
+ interp children
} ""
test interp-5.2 {testing consistency} {
interp exists a
@@ -224,22 +224,22 @@ interp create a
# Part 5: Testing eval in interpreter object command and with interp command
test interp-6.1 {testing eval} {
- a eval expr 3 + 5
+ a eval expr {{3 + 5}}
} 8
test interp-6.2 {testing eval} -returnCodes error -body {
a eval foo
} -result {invalid command name "foo"}
test interp-6.3 {testing eval} {
- a eval {proc foo {} {expr 3 + 5}}
+ a eval {proc foo {} {expr {3 + 5}}}
a eval foo
} 8
-catch {a eval {proc foo {} {expr 3 + 5}}}
+catch {a eval {proc foo {} {expr {3 + 5}}}}
test interp-6.4 {testing eval} {
interp eval a foo
} 8
test interp-6.5 {testing eval} {
interp create {a x2}
- interp eval {a x2} {proc frob {} {expr 4 * 9}}
+ interp eval {a x2} {proc frob {} {expr {4 * 9}}}
interp eval {a x2} frob
} 36
catch {interp create {a x2}}
@@ -247,27 +247,27 @@ test interp-6.6 {testing eval} -returnCodes error -body {
interp eval {a x2} foo
} -result {invalid command name "foo"}
-# UTILITY PROCEDURE RUNNING IN MASTER INTERPRETER:
-proc in_master {args} {
- return [list seen in master: $args]
+# UTILITY PROCEDURE RUNNING IN PARENT INTERPRETER:
+proc in_parent {args} {
+ return [list seen in parent: $args]
}
# Part 6: Testing basic alias creation
test interp-7.1 {testing basic alias creation} {
- a alias foo in_master
+ a alias foo in_parent
} foo
-catch {a alias foo in_master}
+catch {a alias foo in_parent}
test interp-7.2 {testing basic alias creation} {
- a alias bar in_master a1 a2 a3
+ a alias bar in_parent a1 a2 a3
} bar
-catch {a alias bar in_master a1 a2 a3}
+catch {a alias bar in_parent a1 a2 a3}
# Test 6.3 has been deleted.
test interp-7.3 {testing basic alias creation} {
a alias foo
-} in_master
+} in_parent
test interp-7.4 {testing basic alias creation} {
a alias bar
-} {in_master a1 a2 a3}
+} {in_parent a1 a2 a3}
test interp-7.5 {testing basic alias creation} {
lsort [a aliases]
} {bar foo}
@@ -278,14 +278,14 @@ test interp-7.6 {testing basic aliases arg checking} -returnCodes error -body {
# Part 7: testing basic alias invocation
test interp-8.1 {testing basic alias invocation} {
catch {interp create a}
- a alias foo in_master
+ a alias foo in_parent
a eval foo s1 s2 s3
-} {seen in master: {s1 s2 s3}}
+} {seen in parent: {s1 s2 s3}}
test interp-8.2 {testing basic alias invocation} {
catch {interp create a}
- a alias bar in_master a1 a2 a3
+ a alias bar in_parent a1 a2 a3
a eval bar s1 s2 s3
-} {seen in master: {a1 a2 a3 s1 s2 s3}}
+} {seen in parent: {a1 a2 a3 s1 s2 s3}}
test interp-8.3 {testing basic alias invocation} -returnCodes error -body {
catch {interp create a}
a alias
@@ -294,13 +294,13 @@ test interp-8.3 {testing basic alias invocation} -returnCodes error -body {
# Part 8: Testing aliases for non-existent or hidden targets
test interp-9.1 {testing aliases for non-existent targets} {
catch {interp create a}
- a alias zop nonexistent-command-in-master
+ a alias zop nonexistent-command-in-parent
list [catch {a eval zop} msg] $msg
-} {1 {invalid command name "nonexistent-command-in-master"}}
+} {1 {invalid command name "nonexistent-command-in-parent"}}
test interp-9.2 {testing aliases for non-existent targets} {
catch {interp create a}
- a alias zop nonexistent-command-in-master
- proc nonexistent-command-in-master {} {return i_exist!}
+ a alias zop nonexistent-command-in-parent
+ proc nonexistent-command-in-parent {} {return i_exist!}
a eval zop
} i_exist!
test interp-9.3 {testing aliases for hidden commands} {
@@ -329,8 +329,8 @@ test interp-9.4 {testing aliases and namespace commands} {
set res
} {GLOBAL GLOBAL}
-if {[info command nonexistent-command-in-master] != ""} {
- rename nonexistent-command-in-master {}
+if {[info command nonexistent-command-in-parent] != ""} {
+ rename nonexistent-command-in-parent {}
}
# Part 9: Aliasing between interpreters
@@ -380,9 +380,9 @@ test interp-10.6 {testing aliasing between interpreters} {
interp create a
interp create b
interp alias a a_command b b_command a1 a2 a3
- b alias b_command in_master b1 b2 b3
+ b alias b_command in_parent b1 b2 b3
a eval a_command m1 m2 m3
-} {seen in master: {b1 b2 b3 a1 a2 a3 m1 m2 m3}}
+} {seen in parent: {b1 b2 b3 a1 a2 a3 m1 m2 m3}}
test interp-10.7 {testing aliases between interpreters} {
catch {interp delete a}
interp create a
@@ -513,7 +513,7 @@ test interp-14.3 {testing interp aliases} {
interp alias {a x3} froboz "" puts
interp aliases {a x3}
} froboz
-test interp-14.4 {testing interp alias - alias over master} {
+test interp-14.4 {testing interp alias - alias over parent} {
# SF Bug 641195
catch {interp delete a}
interp create a
@@ -746,7 +746,7 @@ test interp-16.5 {testing deletion order, bgerror} {
xxx eval {proc bgerror {args} {exit}}
xxx alias exit kill xxx
proc kill {i} {interp delete $i}
- xxx eval after 100 expr a + b
+ xxx eval after 100 expr {a + b}
after 200
update
interp exists xxx
@@ -793,32 +793,32 @@ test interp-17.6 {alias loop prevention} {
} {1 {cannot define or rename alias "b": would create a loop}}
#
-# Test robustness of Tcl_DeleteInterp when applied to a slave interpreter.
+# Test robustness of Tcl_DeleteInterp when applied to a child interpreter.
# If there are bugs in the implementation these tests are likely to expose
# the bugs as a core dump.
#
-test interp-18.1 {testing Tcl_DeleteInterp vs slaves} testinterpdelete {
+test interp-18.1 {testing Tcl_DeleteInterp vs children} testinterpdelete {
list [catch {testinterpdelete} msg] $msg
} {1 {wrong # args: should be "testinterpdelete path"}}
-test interp-18.2 {testing Tcl_DeleteInterp vs slaves} testinterpdelete {
+test interp-18.2 {testing Tcl_DeleteInterp vs children} testinterpdelete {
catch {interp delete a}
interp create a
testinterpdelete a
} ""
-test interp-18.3 {testing Tcl_DeleteInterp vs slaves} testinterpdelete {
+test interp-18.3 {testing Tcl_DeleteInterp vs children} testinterpdelete {
catch {interp delete a}
interp create a
interp create {a b}
testinterpdelete {a b}
} ""
-test interp-18.4 {testing Tcl_DeleteInterp vs slaves} testinterpdelete {
+test interp-18.4 {testing Tcl_DeleteInterp vs children} testinterpdelete {
catch {interp delete a}
interp create a
interp create {a b}
testinterpdelete a
} ""
-test interp-18.5 {testing Tcl_DeleteInterp vs slaves} testinterpdelete {
+test interp-18.5 {testing Tcl_DeleteInterp vs children} testinterpdelete {
catch {interp delete a}
interp create a
interp create {a b}
@@ -826,7 +826,7 @@ test interp-18.5 {testing Tcl_DeleteInterp vs slaves} testinterpdelete {
proc dodel {x} {testinterpdelete $x}
list [catch {interp eval {a b} {dodel {a b}}} msg] $msg
} {0 {}}
-test interp-18.6 {testing Tcl_DeleteInterp vs slaves} testinterpdelete {
+test interp-18.6 {testing Tcl_DeleteInterp vs children} testinterpdelete {
catch {interp delete a}
interp create a
interp create {a b}
@@ -966,7 +966,7 @@ test interp-19.9 {alias deletion, renaming} {
interp create a
interp alias a foo a bar
interp eval a rename foo blotz
- interp eval a {proc foo {} {expr 34 * 34}}
+ interp eval a {proc foo {} {expr {34 * 34}}}
interp alias a foo {}
set l [interp eval a foo]
interp delete a
@@ -1615,36 +1615,36 @@ test interp-20.49 {interp invokehidden -namespace} -setup {
set script [makeFile {
set x [namespace current]
} script]
- interp create -safe slave
+ interp create -safe child
} -body {
- slave invokehidden -namespace ::foo source $script
- slave eval {set ::foo::x}
+ child invokehidden -namespace ::foo source $script
+ child eval {set ::foo::x}
} -cleanup {
- interp delete slave
+ interp delete child
removeFile script
} -result ::foo
test interp-20.50 {Bug 2486550} -setup {
- interp create slave
+ interp create child
} -body {
- slave hide coroutine
- slave invokehidden coroutine
+ child hide coroutine
+ child invokehidden coroutine
} -cleanup {
- interp delete slave
+ interp delete child
} -returnCodes error -match glob -result *
test interp-20.50.1 {Bug 2486550} -setup {
- interp create slave
+ interp create child
} -body {
- slave hide coroutine
- catch {slave invokehidden coroutine} m o
+ child hide coroutine
+ catch {child invokehidden coroutine} m o
dict get $o -errorinfo
} -cleanup {
unset -nocomplain m 0
- interp delete slave
+ interp delete child
} -returnCodes ok -result {wrong # args: should be "coroutine name cmd ?arg ...?"
while executing
"coroutine"
invoked from within
-"slave invokehidden coroutine"}
+"child invokehidden coroutine"}
test interp-21.1 {interp hidden} {
interp hidden {}
@@ -2058,8 +2058,8 @@ test interp-25.1 {testing aliasing of string commands} -setup {
test interp-26.1 {result code transmission : interp eval direct} {
# Test that all the possibles error codes from Tcl get passed up
- # from the slave interp's context to the master, even though the
- # slave nominally thinks the command is running at the root level.
+ # from the child interp's context to the parent, even though the
+ # child nominally thinks the command is running at the root level.
catch {interp delete a}
interp create a
set res {}
@@ -2085,7 +2085,7 @@ test interp-26.2 {result code transmission : interp eval indirect} {
} {-1 ret-1 0 ret0 1 ret1 0 ret2 3 ret3 4 ret4 5 ret5}
test interp-26.3 {result code transmission : aliases} {
# Test that all the possibles error codes from Tcl get passed up from the
- # slave interp's context to the master, even though the slave nominally
+ # child interp's context to the parent, even though the child nominally
# thinks the command is running at the root level.
catch {interp delete a}
interp create a
@@ -2180,7 +2180,7 @@ test interp-26.8 {errorInfo transmission: safe interps--bug 1637} -setup {
} -constraints knownBug -body {
# this test fails because the errorInfo is fully transmitted whether the
# interp is safe or not. The errorInfo should never report data from the
- # master interpreter because it could contain sensitive information.
+ # parent interpreter because it could contain sensitive information.
proc MyError {secret} {
return -code error "msg"
}
@@ -2275,22 +2275,22 @@ test interp-27.5 {interp hidden & namespaces} -setup {
test interp-27.6 {interp hidden & aliases & namespaces} -setup {
set i [interp create]
} -constraints knownBug -body {
- set v root-master
+ set v root-parent
namespace eval foo {
- variable v foo-master
+ variable v foo-parent
proc bar {interp args} {
variable v
- list "master bar called ($v) ([namespace current]) ($args)"\
+ list "parent bar called ($v) ([namespace current]) ($args)"\
[interp invokehidden $interp foo::bar $args]
}
}
interp eval $i {
namespace eval foo {
namespace export *
- variable v foo-slave
+ variable v foo-child
proc bar {args} {
variable v
- return "slave bar called ($v) ([namespace current]) ($args)"
+ return "child bar called ($v) ([namespace current]) ($args)"
}
}
}
@@ -2298,7 +2298,7 @@ test interp-27.6 {interp hidden & aliases & namespaces} -setup {
$i hide foo::bar
$i alias foo::bar foo::bar $i
set res [concat $res [interp eval $i {
- set v root-slave
+ set v root-child
namespace eval test {
variable v foo-test
namespace import ::foo::*
@@ -2308,29 +2308,29 @@ test interp-27.6 {interp hidden & aliases & namespaces} -setup {
} -cleanup {
namespace delete foo
interp delete $i
-} -result {{slave bar called (foo-slave) (::foo) (test1)} {master bar called (foo-master) (::foo) (test2)} {slave bar called (foo-slave) (::foo) (test2)}}
+} -result {{child bar called (foo-child) (::foo) (test1)} {parent bar called (foo-parent) (::foo) (test2)} {child bar called (foo-child) (::foo) (test2)}}
test interp-27.7 {interp hidden & aliases & imports & namespaces} -setup {
set i [interp create]
} -constraints knownBug -body {
- set v root-master
+ set v root-parent
namespace eval mfoo {
- variable v foo-master
+ variable v foo-parent
proc bar {interp args} {
variable v
- list "master bar called ($v) ([namespace current]) ($args)"\
+ list "parent bar called ($v) ([namespace current]) ($args)"\
[interp invokehidden $interp test::bar $args]
}
}
interp eval $i {
namespace eval foo {
namespace export *
- variable v foo-slave
+ variable v foo-child
proc bar {args} {
variable v
- return "slave bar called ($v) ([info level 0]) ([uplevel namespace current]) ([namespace current]) ($args)"
+ return "child bar called ($v) ([info level 0]) ([uplevel namespace current]) ([namespace current]) ($args)"
}
}
- set v root-slave
+ set v root-child
namespace eval test {
variable v foo-test
namespace import ::foo::*
@@ -2343,7 +2343,7 @@ test interp-27.7 {interp hidden & aliases & imports & namespaces} -setup {
} -cleanup {
namespace delete mfoo
interp delete $i
-} -result {{slave bar called (foo-slave) (bar test1) (::tcltest) (::foo) (test1)} {master bar called (foo-master) (::mfoo) (test2)} {slave bar called (foo-slave) (test::bar test2) (::) (::foo) (test2)}}
+} -result {{child bar called (foo-child) (bar test1) (::tcltest) (::foo) (test1)} {parent bar called (foo-parent) (::mfoo) (test2)} {child bar called (foo-child) (test::bar test2) (::) (::foo) (test2)}}
test interp-27.8 {hiding, namespaces and integrity} knownBug {
namespace eval foo {
variable v 3
@@ -2355,25 +2355,25 @@ test interp-27.8 {hiding, namespaces and integrity} knownBug {
list [catch {interp invokehidden {} foo::bar} msg] $msg
} {1 {invalid hidden command name "foo"}}
-test interp-28.1 {getting fooled by slave's namespace ?} -setup {
+test interp-28.1 {getting fooled by child's namespace ?} -setup {
set i [interp create -safe]
- proc master {interp args} {interp hide $interp list}
+ proc parent {interp args} {interp hide $interp list}
} -body {
- $i alias master master $i
+ $i alias parent parent $i
set r [interp eval $i {
namespace eval foo {
proc list {args} {
return "dummy foo::list"
}
- master
+ parent
}
info commands list
}]
} -cleanup {
- rename master {}
+ rename parent {}
interp delete $i
} -result {}
-test interp-28.2 {master's nsName cache should not cross} -setup {
+test interp-28.2 {parent's nsName cache should not cross} -setup {
set i [interp create]
$i eval {proc filter lst {lsearch -all -inline -not $lst "::tcl"}}
} -body {
@@ -2432,31 +2432,31 @@ test interp-29.1.7 {interp recursionlimit argument checking} {
interp delete moo
list $result [string range $msg 0 35]
} {1 {integer value too large to represent}}
-test interp-29.1.8 {slave recursionlimit argument checking} {
+test interp-29.1.8 {child recursionlimit argument checking} {
interp create moo
set result [catch {moo recursionlimit foo bar} msg]
interp delete moo
list $result $msg
} {1 {wrong # args: should be "moo recursionlimit ?newlimit?"}}
-test interp-29.1.9 {slave recursionlimit argument checking} {
+test interp-29.1.9 {child recursionlimit argument checking} {
interp create moo
set result [catch {moo recursionlimit foo} msg]
interp delete moo
list $result $msg
} {1 {expected integer but got "foo"}}
-test interp-29.1.10 {slave recursionlimit argument checking} {
+test interp-29.1.10 {child recursionlimit argument checking} {
interp create moo
set result [catch {moo recursionlimit 0} msg]
interp delete moo
list $result $msg
} {1 {recursion limit must be > 0}}
-test interp-29.1.11 {slave recursionlimit argument checking} {
+test interp-29.1.11 {child recursionlimit argument checking} {
interp create moo
set result [catch {moo recursionlimit -1} msg]
interp delete moo
list $result $msg
} {1 {recursion limit must be > 0}}
-test interp-29.1.12 {slave recursionlimit argument checking} {
+test interp-29.1.12 {child recursionlimit argument checking} {
interp create moo
set result [catch {moo recursionlimit [expr {wide(1)<<32}]} msg]
interp delete moo
@@ -2549,8 +2549,8 @@ test interp-29.3.3 {recursion limit} {
set r
} {1 {too many nested evaluations (infinite loop?)} 49}
test interp-29.3.4 {recursion limit error reporting} {
- interp create slave
- set r1 [slave eval {
+ interp create child
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2564,13 +2564,13 @@ test interp-29.3.4 {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {1 {falling back due to new recursion limit}}
test interp-29.3.5 {recursion limit error reporting} {
- interp create slave
- set r1 [slave eval {
+ interp create child
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2584,13 +2584,13 @@ test interp-29.3.5 {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {1 {falling back due to new recursion limit}}
test interp-29.3.6 {recursion limit error reporting} {
- interp create slave
- set r1 [slave eval {
+ interp create child
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2604,8 +2604,8 @@ test interp-29.3.6 {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {0 ok}
#
@@ -2613,9 +2613,9 @@ test interp-29.3.6 {recursion limit error reporting} {
# level will only be verified when it invokes a non-bcc'd command.
#
test interp-29.3.7a {recursion limit error reporting} {
- interp create slave
- after 0 {interp recursionlimit slave 5}
- set r1 [slave eval {
+ interp create child
+ after 0 {interp recursionlimit child 5}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2629,14 +2629,14 @@ test interp-29.3.7a {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {0 ok}
test interp-29.3.7b {recursion limit error reporting} {
- interp create slave
- after 0 {interp recursionlimit slave 5}
- set r1 [slave eval {
+ interp create child
+ after 0 {interp recursionlimit child 5}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2650,14 +2650,14 @@ test interp-29.3.7b {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {0 ok}
test interp-29.3.7c {recursion limit error reporting} {
- interp create slave
- after 0 {interp recursionlimit slave 5}
- set r1 [slave eval {
+ interp create child
+ after 0 {interp recursionlimit child 5}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2672,14 +2672,14 @@ test interp-29.3.7c {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {1 {too many nested evaluations (infinite loop?)}}
test interp-29.3.8a {recursion limit error reporting} {
- interp create slave
- after 0 {interp recursionlimit slave 4}
- set r1 [slave eval {
+ interp create child
+ after 0 {interp recursionlimit child 4}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2693,14 +2693,14 @@ test interp-29.3.8a {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {0 ok}
test interp-29.3.8b {recursion limit error reporting} {
- interp create slave
- after 0 {interp recursionlimit slave 4}
- set r1 [slave eval {
+ interp create child
+ after 0 {interp recursionlimit child 4}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2714,14 +2714,14 @@ test interp-29.3.8b {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {1 {too many nested evaluations (infinite loop?)}}
test interp-29.3.9a {recursion limit error reporting} {
- interp create slave
- after 0 {interp recursionlimit slave 6}
- set r1 [slave eval {
+ interp create child
+ after 0 {interp recursionlimit child 6}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2735,14 +2735,14 @@ test interp-29.3.9a {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {0 ok}
test interp-29.3.9b {recursion limit error reporting} {
- interp create slave
- after 0 {interp recursionlimit slave 6}
- set r1 [slave eval {
+ interp create child
+ after 0 {interp recursionlimit child 6}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2756,14 +2756,14 @@ test interp-29.3.9b {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {0 ok}
test interp-29.3.10a {recursion limit error reporting} {
- interp create slave
- after 0 {slave recursionlimit 4}
- set r1 [slave eval {
+ interp create child
+ after 0 {child recursionlimit 4}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2777,14 +2777,14 @@ test interp-29.3.10a {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {0 ok}
test interp-29.3.10b {recursion limit error reporting} {
- interp create slave
- after 0 {slave recursionlimit 4}
- set r1 [slave eval {
+ interp create child
+ after 0 {child recursionlimit 4}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2798,14 +2798,14 @@ test interp-29.3.10b {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {1 {too many nested evaluations (infinite loop?)}}
test interp-29.3.11a {recursion limit error reporting} {
- interp create slave
- after 0 {slave recursionlimit 5}
- set r1 [slave eval {
+ interp create child
+ after 0 {child recursionlimit 5}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2819,14 +2819,14 @@ test interp-29.3.11a {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {0 ok}
test interp-29.3.11b {recursion limit error reporting} {
- interp create slave
- after 0 {slave recursionlimit 5}
- set r1 [slave eval {
+ interp create child
+ after 0 {child recursionlimit 5}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2841,14 +2841,14 @@ test interp-29.3.11b {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {1 {too many nested evaluations (infinite loop?)}}
test interp-29.3.12a {recursion limit error reporting} {
- interp create slave
- after 0 {slave recursionlimit 6}
- set r1 [slave eval {
+ interp create child
+ after 0 {child recursionlimit 6}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2862,14 +2862,14 @@ test interp-29.3.12a {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {0 ok}
test interp-29.3.12b {recursion limit error reporting} {
- interp create slave
- after 0 {slave recursionlimit 6}
- set r1 [slave eval {
+ interp create child
+ after 0 {child recursionlimit 6}
+ set r1 [child eval {
catch { # nesting level 1
eval { # 2
eval { # 3
@@ -2884,8 +2884,8 @@ test interp-29.3.12b {recursion limit error reporting} {
}
} msg
}]
- set r2 [slave eval { set msg }]
- interp delete slave
+ set r2 [child eval { set msg }]
+ interp delete child
list $r1 $r2
} {0 ok}
test interp-29.4.1 {recursion limit inheritance} {
@@ -2916,121 +2916,121 @@ test interp-29.4.2 {recursion limit inheritance} {
interp delete $i
set r
} 50
-test interp-29.5.1 {does slave recursion limit affect master?} {
+test interp-29.5.1 {does child recursion limit affect parent?} {
set before [interp recursionlimit {}]
set i [interp create]
interp recursionlimit $i 20000
set after [interp recursionlimit {}]
- set slavelimit [interp recursionlimit $i]
+ set childlimit [interp recursionlimit $i]
interp delete $i
- list [expr {$before == $after}] $slavelimit
+ list [expr {$before == $after}] $childlimit
} {1 20000}
-test interp-29.5.2 {does slave recursion limit affect master?} {
+test interp-29.5.2 {does child recursion limit affect parent?} {
set before [interp recursionlimit {}]
set i [interp create]
interp recursionlimit $i 20000
set after [interp recursionlimit {}]
- set slavelimit [$i recursionlimit]
+ set childlimit [$i recursionlimit]
interp delete $i
- list [expr {$before == $after}] $slavelimit
+ list [expr {$before == $after}] $childlimit
} {1 20000}
-test interp-29.5.3 {does slave recursion limit affect master?} {
+test interp-29.5.3 {does child recursion limit affect parent?} {
set before [interp recursionlimit {}]
set i [interp create]
$i recursionlimit 20000
set after [interp recursionlimit {}]
- set slavelimit [interp recursionlimit $i]
+ set childlimit [interp recursionlimit $i]
interp delete $i
- list [expr {$before == $after}] $slavelimit
+ list [expr {$before == $after}] $childlimit
} {1 20000}
-test interp-29.5.4 {does slave recursion limit affect master?} {
+test interp-29.5.4 {does child recursion limit affect parent?} {
set before [interp recursionlimit {}]
set i [interp create]
$i recursionlimit 20000
set after [interp recursionlimit {}]
- set slavelimit [$i recursionlimit]
+ set childlimit [$i recursionlimit]
interp delete $i
- list [expr {$before == $after}] $slavelimit
+ list [expr {$before == $after}] $childlimit
} {1 20000}
test interp-29.6.1 {safe interpreter recursion limit} {
- interp create slave -safe
- set n [interp recursionlimit slave]
- interp delete slave
+ interp create child -safe
+ set n [interp recursionlimit child]
+ interp delete child
set n
} 1000
test interp-29.6.2 {safe interpreter recursion limit} {
- interp create slave -safe
- set n [slave recursionlimit]
- interp delete slave
+ interp create child -safe
+ set n [child recursionlimit]
+ interp delete child
set n
} 1000
test interp-29.6.3 {safe interpreter recursion limit} {
- interp create slave -safe
- set n1 [interp recursionlimit slave 42]
- set n2 [interp recursionlimit slave]
- interp delete slave
+ interp create child -safe
+ set n1 [interp recursionlimit child 42]
+ set n2 [interp recursionlimit child]
+ interp delete child
list $n1 $n2
} {42 42}
test interp-29.6.4 {safe interpreter recursion limit} {
- interp create slave -safe
- set n1 [slave recursionlimit 42]
- set n2 [interp recursionlimit slave]
- interp delete slave
+ interp create child -safe
+ set n1 [child recursionlimit 42]
+ set n2 [interp recursionlimit child]
+ interp delete child
list $n1 $n2
} {42 42}
test interp-29.6.5 {safe interpreter recursion limit} {
- interp create slave -safe
- set n1 [interp recursionlimit slave 42]
- set n2 [slave recursionlimit]
- interp delete slave
+ interp create child -safe
+ set n1 [interp recursionlimit child 42]
+ set n2 [child recursionlimit]
+ interp delete child
list $n1 $n2
} {42 42}
test interp-29.6.6 {safe interpreter recursion limit} {
- interp create slave -safe
- set n1 [slave recursionlimit 42]
- set n2 [slave recursionlimit]
- interp delete slave
+ interp create child -safe
+ set n1 [child recursionlimit 42]
+ set n2 [child recursionlimit]
+ interp delete child
list $n1 $n2
} {42 42}
test interp-29.6.7 {safe interpreter recursion limit} {
- interp create slave -safe
- set n1 [slave recursionlimit 42]
- set n2 [slave recursionlimit]
- interp delete slave
+ interp create child -safe
+ set n1 [child recursionlimit 42]
+ set n2 [child recursionlimit]
+ interp delete child
list $n1 $n2
} {42 42}
test interp-29.6.8 {safe interpreter recursion limit} {
- interp create slave -safe
- set n [catch {slave eval {interp recursionlimit {} 42}} msg]
- interp delete slave
+ interp create child -safe
+ set n [catch {child eval {interp recursionlimit {} 42}} msg]
+ interp delete child
list $n $msg
} {1 {permission denied: safe interpreters cannot change recursion limit}}
test interp-29.6.9 {safe interpreter recursion limit} {
- interp create slave -safe
+ interp create child -safe
set result [
- slave eval {
- interp create slave2 -safe
+ child eval {
+ interp create child2 -safe
set n [catch {
- interp recursionlimit slave2 42
+ interp recursionlimit child2 42
} msg]
list $n $msg
}
]
- interp delete slave
+ interp delete child
set result
} {1 {permission denied: safe interpreters cannot change recursion limit}}
test interp-29.6.10 {safe interpreter recursion limit} {
- interp create slave -safe
+ interp create child -safe
set result [
- slave eval {
- interp create slave2 -safe
+ child eval {
+ interp create child2 -safe
set n [catch {
- slave2 recursionlimit 42
+ child2 recursionlimit 42
} msg]
list $n $msg
}
]
- interp delete slave
+ interp delete child
set result
} {1 {permission denied: safe interpreters cannot change recursion limit}}
@@ -3171,7 +3171,7 @@ test interp-34.3.1 {basic test of limits - pure inside-command loop} -body {
}
}
# We use a time limit here; command limits don't trap this case
- $i limit time -seconds [expr {[clock seconds]+2}]
+ $i limit time -seconds [expr {[clock seconds] + 2}]
$i eval foobar
} -returnCodes error -result {time limit exceeded} -cleanup {
interp delete $i
@@ -3193,8 +3193,8 @@ test interp-34.4 {limits with callbacks: extending limits} -setup {
} -body {
interp alias $i foo {} cb1
set curlim [$i eval info cmdcount]
- $i limit command -command "cb2 [expr $curlim+100]" \
- -value [expr {$curlim+10}]
+ $i limit command -command "cb2 [expr {$curlim + 100}]" \
+ -value [expr {$curlim + 10}]
$i eval {for {set i 0} {$i<10} {incr i} {foo}}
list $a $b $c
} -result {6 4 b} -cleanup {
@@ -3222,7 +3222,7 @@ test interp-34.5 {limits with callbacks: removing limits} -setup {
} -body {
interp alias $i foo {} cb1
set curlim [$i eval info cmdcount]
- $i limit command -command "cb2 {}" -value [expr {$curlim+10}]
+ $i limit command -command "cb2 {}" -value [expr {$curlim + 10}]
$i eval {for {set i 0} {$i<10} {incr i} {foo}}
list $a $b $c
} -result {6 4 b} -cleanup {
@@ -3247,7 +3247,7 @@ test interp-34.6 {limits with callbacks: removing limits and handlers} -setup {
} -body {
interp alias $i foo {} cb1
set curlim [$i eval info cmdcount]
- $i limit command -command cb2 -value [expr {$curlim+10}]
+ $i limit command -command cb2 -value [expr {$curlim + 10}]
$i eval {for {set i 0} {$i<10} {incr i} {foo}}
list $a $b $c
} -result {6 4 b} -cleanup {
@@ -3266,7 +3266,7 @@ test interp-34.7 {limits with callbacks: deleting the handler interp} -setup {
proc cb2 {args} {
global c i curlim
set c b
- $i limit command -value [expr {$curlim+1000}]
+ $i limit command -value [expr {$curlim + 1000}]
trapToParent
}
}
@@ -3289,7 +3289,7 @@ test interp-34.7 {limits with callbacks: deleting the handler interp} -setup {
set c a
interp alias $i foo {} cb1
set curlim [$i eval info cmdcount]
- $i limit command -command cb2 -value [expr {$curlim+10}]
+ $i limit command -command cb2 -value [expr {$curlim + 10}]
}
$i eval {
$i eval {
@@ -3304,7 +3304,7 @@ test interp-34.7 {limits with callbacks: deleting the handler interp} -setup {
# Bug 1085023
test interp-34.8 {time limits trigger in vwaits} -body {
set i [interp create]
- interp limit $i time -seconds [expr {[clock seconds]+1}] -granularity 1
+ interp limit $i time -seconds [expr {[clock seconds] + 1}] -granularity 1
$i eval {
set x {}
vwait x
@@ -3352,8 +3352,8 @@ test interp-34.11 {time limit extension in callbacks} -setup {
} -body {
set i [interp create]
set t0 [clock seconds]
- $i limit time -seconds [expr {$t0+1}] -granularity 1 \
- -command "cb1 $i [expr {$t0+2}]"
+ $i limit time -seconds [expr {$t0 + 1}] -granularity 1 \
+ -command "cb1 $i [expr {$t0 + 2}]"
set ::result {}
lappend ::result [catch {
$i eval {
@@ -3380,8 +3380,8 @@ test interp-34.12 {time limit extension in callbacks} -setup {
} -body {
set i [interp create]
set t0 [clock seconds]
- set ::times "[expr {$t0+2}] [expr {$t0+100}]"
- $i limit time -seconds [expr {$t0+1}] -granularity 1 -command "cb1 $i"
+ set ::times "[expr {$t0 + 2}] [expr {$t0 + 100}]"
+ $i limit time -seconds [expr {$t0 + 1}] -granularity 1 -command "cb1 $i"
set ::result {}
lappend ::result [catch {
$i eval {
@@ -3559,44 +3559,44 @@ test interp-36.2 {interp bgerror syntax} -body {
interp bgerror x y z
} -returnCodes error -result {wrong # args: should be "interp bgerror path ?cmdPrefix?"}
test interp-36.3 {interp bgerror syntax} -setup {
- interp create slave
+ interp create child
} -body {
- slave bgerror x y
+ child bgerror x y
} -cleanup {
- interp delete slave
-} -returnCodes error -result {wrong # args: should be "slave bgerror ?cmdPrefix?"}
-test interp-36.4 {SlaveBgerror syntax} -setup {
- interp create slave
+ interp delete child
+} -returnCodes error -result {wrong # args: should be "child bgerror ?cmdPrefix?"}
+test interp-36.4 {ChildBgerror syntax} -setup {
+ interp create child
} -body {
- slave bgerror \{
+ child bgerror \{
} -cleanup {
- interp delete slave
+ interp delete child
} -returnCodes error -result {cmdPrefix must be list of length >= 1}
-test interp-36.5 {SlaveBgerror syntax} -setup {
- interp create slave
+test interp-36.5 {ChildBgerror syntax} -setup {
+ interp create child
} -body {
- slave bgerror {}
+ child bgerror {}
} -cleanup {
- interp delete slave
+ interp delete child
} -returnCodes error -result {cmdPrefix must be list of length >= 1}
-test interp-36.6 {SlaveBgerror returns handler} -setup {
- interp create slave
+test interp-36.6 {ChildBgerror returns handler} -setup {
+ interp create child
} -body {
- slave bgerror {foo bar soom}
+ child bgerror {foo bar soom}
} -cleanup {
- interp delete slave
+ interp delete child
} -result {foo bar soom}
-test interp-36.7 {SlaveBgerror sets error handler of slave [1999035]} -setup {
- interp create slave
- slave alias handler handler
- slave bgerror handler
+test interp-36.7 {ChildBgerror sets error handler of child [1999035]} -setup {
+ interp create child
+ child alias handler handler
+ child bgerror handler
variable result {untouched}
proc handler {args} {
variable result
set result [lindex $args 0]
}
} -body {
- slave eval {
+ child eval {
variable done {}
after 0 error foo
after 10 [list ::set [namespace which -variable done] {}]
@@ -3606,7 +3606,7 @@ test interp-36.7 {SlaveBgerror sets error handler of slave [1999035]} -setup {
} -cleanup {
variable result {}
unset -nocomplain result
- interp delete slave
+ interp delete child
} -result foo
test interp-37.1 {safe interps and min() and max(): Bug 2895741} -setup {
@@ -3615,8 +3615,8 @@ test interp-37.1 {safe interps and min() and max(): Bug 2895741} -setup {
set result {}
} -body {
interp create {a b} -safe
- lappend result [interp eval a {expr min(5,2,3)*max(7,13,11)}]
- lappend result [interp eval {a b} {expr min(5,2,3)*max(7,13,11)}]
+ lappend result [interp eval a {expr {min(5,2,3)*max(7,13,11)}}]
+ lappend result [interp eval {a b} {expr {min(5,2,3)*max(7,13,11)}}]
} -cleanup {
unset -nocomplain result
interp delete a
@@ -3667,7 +3667,7 @@ test interp-38.8 {interp debug basic setup} -body {
# cleanup
unset -nocomplain hidden_cmds
-foreach i [interp slaves] {
+foreach i [interp children] {
interp delete $i
}
::tcltest::cleanupTests
diff --git a/tests/io.test b/tests/io.test
index ca37870..4db1d33 100644
--- a/tests/io.test
+++ b/tests/io.test
@@ -6,15 +6,15 @@
# 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) 1991-1994 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1994 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
}
namespace eval ::tcl::test::io {
@@ -43,7 +43,11 @@ testConstraint testchannelevent [llength [info commands testchannelevent]]
testConstraint testmainthread [llength [info commands testmainthread]]
testConstraint testobj [llength [info commands testobj]]
testConstraint testservicemode [llength [info commands testservicemode]]
-testConstraint knownMsvcBug [expr {![info exists ::env(TRAVIS_OS_NAME)] || ![string match windows $::env(TRAVIS_OS_NAME)]}]
+# Some things fail under Windows in Continuous Integration systems for subtle
+# reasons such as CI often running with elevated privileges in a container.
+testConstraint notWinCI [expr {
+ $::tcl_platform(platform) ne "windows" || ![info exists ::env(CI)]}]
+testConstraint notOSX [expr {$::tcl_platform(os) ne "Darwin"}]
# You need a *very* special environment to do some tests. In
# particular, many file systems do not support large-files...
@@ -2229,7 +2233,7 @@ test io-27.5 {FlushChannel, implicit flush when buffer fills and on close} \
set path(pipe) [makeFile {} pipe]
set path(output) [makeFile {} output]
test io-27.6 {FlushChannel, async flushing, async close} \
- {stdio asyncPipeClose knownMsvcBug} {
+ {stdio asyncPipeClose notWinCI} {
# This test may fail on old Unix systems (seen on IRIX64 6.5) with
# obsolete gettimeofday() calls. See Tcl Bugs 3530533, 1942197.
file delete $path(pipe)
@@ -2833,7 +2837,7 @@ test io-29.31 {Tcl_WriteChars, background flush} stdio {
set result
} ok
test io-29.32 {Tcl_WriteChars, background flush to slow reader} \
- {stdio asyncPipeClose knownMsvcBug} {
+ {stdio asyncPipeClose notWinCI} {
# This test may fail on old Unix systems (seen on IRIX64 6.5) with
# obsolete gettimeofday() calls. See Tcl Bugs 3530533, 1942197.
file delete $path(pipe)
@@ -6087,7 +6091,7 @@ test io-45.3 {DeleteFileEvent, cleanup on close} {fileevent} {
# Execute these tests only if the "testfevent" command is present.
-test io-46.1 {Tcl event loop vs multiple interpreters} {testfevent fileevent} {
+test io-46.1 {Tcl event loop vs multiple interpreters} {testfevent fileevent notOSX} {
testfevent create
set script "set f \[[list open $path(foo) r]]\n"
append script {
@@ -6895,7 +6899,7 @@ test io-50.4 {testing handler deletion vs reentrant calls} -constraints {testcha
} -cleanup {
close $f
} -result {{delrecursive calling recursive} {delrecursive deleting recursive}}
-test io-50.5 {testing handler deletion vs reentrant calls} -constraints {testchannelevent testservicemode} -setup {
+test io-50.5 {testing handler deletion vs reentrant calls} -constraints {testchannelevent testservicemode notOSX} -setup {
file delete $path(test1)
} -body {
set f [open $path(test1) w]
@@ -7577,7 +7581,7 @@ test io-53.5 {CopyData: error during fcopy} {socket fcopy} {
close $listen ;# This means the socket open never really succeeds
fcopy $in $out -command [namespace code FcopyTestDone]
variable fcopyTestDone
- if ![info exists fcopyTestDone] {
+ if {![info exists fcopyTestDone]} {
vwait [namespace which -variable fcopyTestDone] ;# The error occurs here in the b.g.
}
close $in
@@ -7596,7 +7600,7 @@ test io-53.6 {CopyData: error during fcopy} {stdio fcopy} {
set out [open $path(test1) w]
fcopy $in $out -command [namespace code FcopyTestDone]
variable fcopyTestDone
- if ![info exists fcopyTestDone] {
+ if {![info exists fcopyTestDone]} {
vwait [namespace which -variable fcopyTestDone]
}
catch {close $in}
@@ -7643,7 +7647,7 @@ test io-53.7 {CopyData: Flooding fcopy from pipe} {stdio fcopy} {
set out [open $path(test1) w]
doFcopy $in $out
variable fcopyTestDone
- if ![info exists fcopyTestDone] {
+ if {![info exists fcopyTestDone]} {
vwait [namespace which -variable fcopyTestDone]
}
catch {close $in}
@@ -8131,7 +8135,7 @@ test io-53.17 {[7c187a3773] MBWrite: proper inQueueTail handling} -setup {
removeFile out
} -result {line 100 line}
-test io-54.1 {Recursive channel events} {socket fileevent knownMsvcBug} {
+test io-54.1 {Recursive channel events} {socket fileevent notWinCI} {
# This test checks to see if file events are delivered during recursive
# event loops when there is buffered data on the channel.
@@ -8758,16 +8762,16 @@ test io-74.1 {[104f2885bb] improper cache validity check} -setup {
set fn [makeFile {} io-74.1]
set rfd [open $fn r]
testobj freeallvars
- interp create slave
+ interp create child
} -constraints testobj -body {
teststringobj set 1 [string range $rfd 0 end]
read [teststringobj get 1]
testobj duplicate 1 2
- interp transfer {} $rfd slave
+ interp transfer {} $rfd child
catch {read [teststringobj get 1]}
read [teststringobj get 2]
} -cleanup {
- interp delete slave
+ interp delete child
testobj freeallvars
removeFile io-74.1
} -returnCodes error -match glob -result {can not find channel named "*"}
diff --git a/tests/ioCmd.test b/tests/ioCmd.test
index d1f1ebe..cd62b4d 100644
--- a/tests/ioCmd.test
+++ b/tests/ioCmd.test
@@ -6,9 +6,9 @@
# 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) 1991-1994 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1994 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -2084,7 +2084,7 @@ test iocmd-32.0 {origin interpreter of moved channel gone} -match glob -body {
set ida [interp create];#puts <<$ida>>
set idb [interp create];#puts <<$idb>>
- # Magic to get the test* commands in the slaves
+ # Magic to get the test* commands in the children
load {} Tcltest $ida
load {} Tcltest $idb
@@ -2122,7 +2122,7 @@ test iocmd-32.1 {origin interpreter of moved channel destroyed during access} -m
set ida [interp create];#puts <<$ida>>
set idb [interp create];#puts <<$idb>>
- # Magic to get the test* commands in the slaves
+ # Magic to get the test* commands in the children
load {} Tcltest $ida
load {} Tcltest $idb
@@ -2164,13 +2164,13 @@ test iocmd-32.2 {delete interp of reflected chan} {
# Bug 3034840
# Run this test in an interp with memory debugging to panic
# on the double free
- interp create slave
- slave eval {
+ interp create child
+ child eval {
proc no-op args {}
proc driver {sub args} {return {initialize finalize watch read}}
chan event [chan create read driver] readable no-op
}
- interp delete slave
+ interp delete child
} {}
# ### ### ### ######### ######### #########
diff --git a/tests/ioTrans.test b/tests/ioTrans.test
index fe85c94..1d5988f 100644
--- a/tests/ioTrans.test
+++ b/tests/ioTrans.test
@@ -5,14 +5,14 @@
# 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) 2007 Andreas Kupries <andreask@activestate.com>
+# Copyright © 2007 Andreas Kupries <andreask@activestate.com>
# <akupries@shaw.ca>
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -37,7 +37,7 @@ testConstraint thread [expr {0 == [catch {package require Thread 2.7-}]}]
set helperscript {
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -1162,7 +1162,7 @@ test iortrans-8.3 {chan flush, bug 2921116} -match glob -setup {
test iortrans-11.0 {origin interpreter of moved transform gone} -setup {
set ida [interp create]; #puts <<$ida>>
set idb [interp create]; #puts <<$idb>>
- # Magic to get the test* commands in the slaves
+ # Magic to get the test* commands in the children
load {} Tcltest $ida
load {} Tcltest $idb
} -constraints {testchannel} -match glob -body {
@@ -1205,7 +1205,7 @@ test iortrans-11.0 {origin interpreter of moved transform gone} -setup {
test iortrans-11.1 {origin interpreter of moved transform destroyed during access} -setup {
set ida [interp create]; #puts <<$ida>>
set idb [interp create]; #puts <<$idb>>
- # Magic to get the test* commands in the slaves
+ # Magic to get the test* commands in the children
load {} Tcltest $ida
load {} Tcltest $idb
} -constraints {testchannel} -match glob -body {
@@ -1244,16 +1244,16 @@ test iortrans-11.1 {origin interpreter of moved transform destroyed during acces
tempdone
} -result {Owner lost}
test iortrans-11.2 {delete interp of reflected transform} -setup {
- interp create slave
- # Magic to get the test* commands into the slave
- load {} Tcltest slave
+ interp create child
+ # Magic to get the test* commands into the child
+ load {} Tcltest child
} -constraints {testchannel} -body {
- # Get base channel into the slave
+ # Get base channel into the child
set c [tempchan]
testchannel cut $c
- interp eval slave [list testchannel splice $c]
- interp eval slave [list set c $c]
- slave eval {
+ interp eval child [list testchannel splice $c]
+ interp eval child [list set c $c]
+ child eval {
proc no-op args {}
proc driver {c sub args} {
return {initialize finalize read write}
@@ -1261,7 +1261,7 @@ test iortrans-11.2 {delete interp of reflected transform} -setup {
set t [chan push $c [list driver $c]]
chan event $c readable no-op
}
- interp delete slave
+ interp delete child
} -cleanup {
tempdone
} -result {}
diff --git a/tests/iogt.test b/tests/iogt.test
index 3cac2cf..4db1152 100644
--- a/tests/iogt.test
+++ b/tests/iogt.test
@@ -6,13 +6,13 @@
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# Copyright (c) 2000 Ajuba Solutions.
-# Copyright (c) 2000 Andreas Kupries.
+# Copyright © 2000 Ajuba Solutions.
+# Copyright © 2000 Andreas Kupries.
# All rights reserved.
-if {[catch {package require tcltest 2.1}]} {
- puts stderr "Skipping tests in [info script]. tcltest 2.1 required."
- return
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
}
::tcltest::loadTestedCommands
diff --git a/tests/join.test b/tests/join.test
index b29287b..3573fbd 100644
--- a/tests/join.test
+++ b/tests/join.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/lindex.test b/tests/lindex.test
index 41c803b..64bc4a5 100644
--- a/tests/lindex.test
+++ b/tests/lindex.test
@@ -4,16 +4,16 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
-# Copyright (c) 2001 by Kevin B. Kenny. All rights reserved.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright © 2001 Kevin B. Kenny. All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -449,6 +449,14 @@ test lindex-17.1 {Bug 1718580} -body {
lindex a end foo
} -match glob -result {bad index "foo"*} -returnCodes 1
+test lindex-18.0 {nested bytecode execution} -setup {
+ proc demo {i} {lindex {a b c} $i}
+} -body {
+ demo 0+0x10000000000000000
+} -cleanup {
+ rename demo {}
+}
+
catch { unset minus }
# cleanup
diff --git a/tests/link.test b/tests/link.test
index 336634b..01fb0b4 100644
--- a/tests/link.test
+++ b/tests/link.test
@@ -4,15 +4,15 @@
# procedures. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/linsert.test b/tests/linsert.test
index 2728360..16ade39 100644
--- a/tests/linsert.test
+++ b/tests/linsert.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/list.test b/tests/list.test
index 5477806..4cd3a75 100644
--- a/tests/list.test
+++ b/tests/list.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -98,26 +98,26 @@ concat {}
proc slowsort list {
set result {}
- set last [expr [llength $list] - 1]
+ set last [expr {[llength $list] - 1}]
while {$last > 0} {
- set minIndex [expr [llength $list] - 1]
+ set minIndex [expr {[llength $list] - 1}]
set min [lindex $list $last]
- set i [expr $minIndex-1]
+ set i [expr {$minIndex - 1}]
while {$i >= 0} {
if {[string compare [lindex $list $i] $min] < 0} {
set minIndex $i
set min [lindex $list $i]
}
- set i [expr $i-1]
+ incr i -1
}
set result [concat $result [list $min]]
if {$minIndex == 0} {
set list [lrange $list 1 end]
} else {
- set list [concat [lrange $list 0 [expr $minIndex-1]] \
- [lrange $list [expr $minIndex+1] end]]
+ set list [concat [lrange $list 0 [expr {$minIndex - 1}]] \
+ [lrange $list [expr {$minIndex + 1}] end]]
}
- set last [expr $last-1]
+ set last [expr {$last - 1}]
}
return [concat $result $list]
}
diff --git a/tests/listObj.test b/tests/listObj.test
index fb6397e..6b34f23 100644
--- a/tests/listObj.test
+++ b/tests/listObj.test
@@ -5,14 +5,14 @@
# 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-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/llength.test b/tests/llength.test
index 469cd5f..1122341 100644
--- a/tests/llength.test
+++ b/tests/llength.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/lmap.test b/tests/lmap.test
index 641eac2..7a802a8 100644
--- a/tests/lmap.test
+++ b/tests/lmap.test
@@ -4,9 +4,9 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 2011 Trevor Davel
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 2011 Trevor Davel
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -14,7 +14,7 @@
# RCS: @(#) $Id: $
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/load.test b/tests/load.test
index 13dd7ef..7dcbfff 100644
--- a/tests/load.test
+++ b/tests/load.test
@@ -4,14 +4,14 @@
# 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.
+# Copyright © 1995 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -45,30 +45,30 @@ testConstraint teststaticpkg [llength [info commands teststaticpkg]]
testConstraint testsimplefilesystem \
[llength [info commands testsimplefilesystem]]
-test load-1.1 {basic errors} {} {
- list [catch {load} msg] $msg
-} "1 {wrong \# args: should be \"load ?-global? ?-lazy? ?--? fileName ?packageName? ?interp?\"}"
-test load-1.2 {basic errors} {} {
- list [catch {load a b c d} msg] $msg
-} "1 {wrong \# args: should be \"load ?-global? ?-lazy? ?--? fileName ?packageName? ?interp?\"}"
-test load-1.3 {basic errors} {} {
- list [catch {load a b foobar} msg] $msg
-} {1 {could not find interpreter "foobar"}}
-test load-1.4 {basic errors} {} {
- list [catch {load -global {}} msg] $msg
-} {1 {must specify either file name or package name}}
-test load-1.5 {basic errors} {} {
- list [catch {load -lazy {} {}} msg] $msg
-} {1 {must specify either file name or package name}}
-test load-1.6 {basic errors} {} {
- list [catch {load {} Unknown} msg] $msg
-} {1 {package "Unknown" isn't loaded statically}}
-test load-1.7 {basic errors} {} {
- list [catch {load -abc foo} msg] $msg
-} "1 {bad option \"-abc\": must be -global, -lazy, or --}"
-test load-1.8 {basic errors} {} {
- list [catch {load -global} msg] $msg
-} "1 {couldn't figure out package name for -global}"
+test load-1.1 {basic errors} -returnCodes error -body {
+ load
+} -result {wrong # args: should be "load ?-global? ?-lazy? ?--? fileName ?packageName? ?interp?"}
+test load-1.2 {basic errors} -returnCodes error -body {
+ load a b c d
+} -result {wrong # args: should be "load ?-global? ?-lazy? ?--? fileName ?packageName? ?interp?"}
+test load-1.3 {basic errors} -returnCodes error -body {
+ load a b foobar
+} -result {could not find interpreter "foobar"}
+test load-1.4 {basic errors} -returnCodes error -body {
+ load -global {}
+} -result {must specify either file name or package name}
+test load-1.5 {basic errors} -returnCodes error -body {
+ load -lazy {} {}
+} -result {must specify either file name or package name}
+test load-1.6 {basic errors} -returnCodes error -body {
+ load {} Unknown
+} -result {package "Unknown" isn't loaded statically}
+test load-1.7 {basic errors} -returnCodes error -body {
+ load -abc foo
+} -result {bad option "-abc": must be -global, -lazy, or --}
+test load-1.8 {basic errors} -returnCodes error -body {
+ load -global
+} -result {couldn't figure out package name for -global}
test load-2.1 {basic loading, with guess for package name} \
[list $dll $loaded] {
@@ -103,7 +103,7 @@ test load-3.1 {error in _Init procedure, same interpreter} \
"if 44 {open non_existent}"
invoked from within
"load [file join $testDir pkge$ext] pkge"} {POSIX ENOENT {no such file or directory}}}
-test load-3.2 {error in _Init procedure, slave interpreter} \
+test load-3.2 {error in _Init procedure, child interpreter} \
[list $dll $loaded] {
catch {interp delete x}
interp create x
@@ -130,16 +130,16 @@ test load-4.2 {reloading package into same interpreter} -setup {
load [file join $testDir pkga$ext] pkgb
} -result "file \"[file join $testDir pkga$ext]\" is already loaded for package \"Pkga\""
-test load-5.1 {file name not specified and no static package: pick default} \
- [list $dll $loaded] {
+test load-5.1 {file name not specified and no static package: pick default} -setup {
catch {interp delete x}
interp create x
+} -constraints [list $dll $loaded] -body {
load -global [file join $testDir pkga$ext] pkga
load {} pkga x
- set result [info loaded x]
+ info loaded x
+} -cleanup {
interp delete x
- set result
-} [list [list [file join $testDir pkga$ext] Pkga]]
+} -result [list [list [file join $testDir pkga$ext] Pkga]]
# On some platforms, like SunOS 4.1.3, these tests can't be run because
# they cause the process to exit.
@@ -185,16 +185,16 @@ test load-7.4 {Tcl_StaticPackage procedure, redundant calls} -setup {
info loaded
} -result [list {{} Double} {{} More} {{} Another} {{} Test} {*}$currentRealPackages {*}$alreadyTotalLoaded]
-testConstraint teststaticpkg_8.x \
- [if {[testConstraint teststaticpkg]} {
+testConstraint teststaticpkg_8.x 0
+if {[testConstraint teststaticpkg]} {
+ catch {
teststaticpkg Test 1 1
teststaticpkg Another 0 1
teststaticpkg More 0 1
teststaticpkg Double 0 1
- expr 1
- } else {
- expr 0
- }]
+ testConstraint teststaticpkg_8.x 1
+ }
+}
test load-8.1 {TclGetLoadedPackages procedure} [list teststaticpkg_8.x $dll $loaded] {
lsort -index 1 [info loaded]
@@ -214,30 +214,32 @@ test load-8.4 {TclGetLoadedPackages procedure} [list teststaticpkg_8.x $dll $loa
} [list [lsort -index 1 [concat [list [list [file join $testDir pkgb$ext] Pkgb] {{} Double} {{} More} {{} Another} {{} Test} [list [file join $testDir pkga$ext] Pkga]] $alreadyLoaded]] {pkgb_demo pkgb_sub pkgb_unsafe}]
interp delete child
-test load-9.1 {Tcl_StaticPackage, load already-loaded package into another interp} \
- -constraints {teststaticpkg} \
- -setup {
- interp create child1
- interp create child2
- load {} Tcltest child1
- load {} Tcltest child2
- } \
- -body {
- child1 eval { teststaticpkg Loadninepointone 0 1 }
- child2 eval { teststaticpkg Loadninepointone 0 1 }
- list \
- [child1 eval { info loaded {} }] \
- [child2 eval { info loaded {} }]
- } \
- -match glob -result {{{{} Loadninepointone} {* Tcltest}} {{{} Loadninepointone} {* Tcltest}}} \
- -cleanup { interp delete child1 ; interp delete child2 }
-
-test load-10.1 {load from vfs} \
- -constraints [list $dll $loaded testsimplefilesystem] \
- -setup {set dir [pwd]; cd $testDir; testsimplefilesystem 1} \
- -body {list [catch {load simplefs:/pkgd$ext pkgd} msg] $msg} \
- -result {0 {}} \
- -cleanup {testsimplefilesystem 0; cd $dir; unset dir}
+test load-9.1 {Tcl_StaticPackage, load already-loaded package into another interp} -setup {
+ interp create child1
+ interp create child2
+ load {} Tcltest child1
+ load {} Tcltest child2
+} -constraints {teststaticpkg} -body {
+ child1 eval { teststaticpkg Loadninepointone 0 1 }
+ child2 eval { teststaticpkg Loadninepointone 0 1 }
+ list [child1 eval { info loaded {} }] \
+ [child2 eval { info loaded {} }]
+} -match glob -cleanup {
+ interp delete child1
+ interp delete child2
+} -result {{{{} Loadninepointone} {* Tcltest}} {{{} Loadninepointone} {* Tcltest}}}
+
+test load-10.1 {load from vfs} -setup {
+ set dir [pwd]
+ cd $testDir
+ testsimplefilesystem 1
+} -constraints [list $dll $loaded testsimplefilesystem] -body {
+ list [catch {load simplefs:/pkgd$ext pkgd} msg] $msg
+} -result {0 {}} -cleanup {
+ testsimplefilesystem 0
+ cd $dir
+ unset dir
+}
test load-11.1 {Load TclOO extension using Stubs (Bug [f51efe99a7])} \
[list $dll $loaded] {
diff --git a/tests/lpop.test b/tests/lpop.test
index 602e8e0..272c82f 100644
--- a/tests/lpop.test
+++ b/tests/lpop.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/lrange.test b/tests/lrange.test
index 8734078..3bd94e5 100644
--- a/tests/lrange.test
+++ b/tests/lrange.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/lrepeat.test b/tests/lrepeat.test
index 9ca5ba8..c1c8b02 100644
--- a/tests/lrepeat.test
+++ b/tests/lrepeat.test
@@ -4,13 +4,13 @@
# 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) 2003 by Simon Geard.
+# Copyright © 2003 Simon Geard.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/lreplace.test b/tests/lreplace.test
index d2d5cfb..0b26e86 100644
--- a/tests/lreplace.test
+++ b/tests/lreplace.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/lsearch.test b/tests/lsearch.test
index 2086615..06f3ae4 100644
--- a/tests/lsearch.test
+++ b/tests/lsearch.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -384,7 +384,7 @@ test lsearch-14.8 {combinations: -start, -inline and -not} {
} {c4}
test lsearch-15.1 {make sure no shimmering occurs} {
- set x [expr int(sin(0))]
+ set x [expr {int(sin(0))}]
lsearch -start $x $x $x
} 0
diff --git a/tests/lset.test b/tests/lset.test
index 3fdec90..b759b55 100644
--- a/tests/lset.test
+++ b/tests/lset.test
@@ -6,13 +6,13 @@
# 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) 2001 by Kevin B. Kenny. All rights reserved.
+# Copyright © 2001 Kevin B. Kenny. All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/lsetComp.test b/tests/lsetComp.test
index c13d23e..a719fe4 100644
--- a/tests/lsetComp.test
+++ b/tests/lsetComp.test
@@ -6,13 +6,13 @@
# 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) 2001 by Kevin B. Kenny. All rights reserved.
+# Copyright © 2001 Kevin B. Kenny. All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/macOSXFCmd.test b/tests/macOSXFCmd.test
index 08cedd7..5a62a2a 100644
--- a/tests/macOSXFCmd.test
+++ b/tests/macOSXFCmd.test
@@ -4,13 +4,13 @@
# 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) 2003 Tcl Core Team.
+# Copyright © 2003 Tcl Core Team.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/macOSXLoad.test b/tests/macOSXLoad.test
index fb56d7d..df35b8d 100644
--- a/tests/macOSXLoad.test
+++ b/tests/macOSXLoad.test
@@ -4,14 +4,14 @@
# 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.
+# Copyright © 1995 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
set oldTSF $::tcltest::testSingleFile
diff --git a/tests/main.test b/tests/main.test
index 0398d36..c7347b9 100644
--- a/tests/main.test
+++ b/tests/main.test
@@ -1,8 +1,8 @@
# This file contains a collection of tests for generic/tclMain.c.
-if {[catch {package require tcltest 2.0.2}]} {
- puts stderr "Skipping tests in [info script]. tcltest 2.0.2 required."
- return
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
}
namespace eval ::tcl::test::main {
diff --git a/tests/mathop.test b/tests/mathop.test
index 703a572..e38001d 100644
--- a/tests/mathop.test
+++ b/tests/mathop.test
@@ -4,14 +4,14 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 2006 Donal K. Fellows
-# Copyright (c) 2006 Peter Spjuth
+# Copyright © 2006 Donal K. Fellows
+# Copyright © 2006 Peter Spjuth
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.1
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -901,10 +901,10 @@ test mathop-22.2 { bitwise ops on bignums } {
set exp {}
foreach d {5 7 2 1 D C 1 F E 0 -D -D 8 -9 -1 -0 -E E} {
if {[string match "-*" $d]} {
- set d [format %X [expr 15-0x[string range $d 1 end]]]
- set val [expr -0x[string repeat $d $dig]-1]
+ set d [format %X [expr {15-"0x[string range $d 1 end]"}]]
+ set val [expr {-"0x[string repeat $d $dig]"-1}]
} else {
- set val [expr 0x[string repeat $d $dig]]
+ set val [expr {"0x[string repeat $d $dig]"}]
}
lappend exp $val
}
diff --git a/tests/misc.test b/tests/misc.test
index 0d93ea6..421e125 100644
--- a/tests/misc.test
+++ b/tests/misc.test
@@ -5,15 +5,15 @@
# tests are pathological cases that caused bugs in earlier Tcl
# releases.
#
-# Copyright (c) 1992-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1992-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/msgcat.test b/tests/msgcat.test
index 4ab3622..4549cee 100644
--- a/tests/msgcat.test
+++ b/tests/msgcat.test
@@ -2,8 +2,8 @@
# Sourcing this file into Tcl runs the tests and
# generates output for errors. No output means no errors were found.
#
-# Copyright (c) 1998 Mark Harrison.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1998 Mark Harrison.
+# Copyright © 1998-1999 Scriptics Corporation.
# Contributions from Don Porter, NIST, 2002. (not subject to US copyright)
#
# See the file "license.terms" for information on usage and redistribution
@@ -12,10 +12,9 @@
# Note that after running these tests, entries will be left behind in the
# message catalogs for locales foo, foo_BAR, and foo_BAR_baz.
-package require Tcl 8.5-
-if {[catch {package require tcltest 2}]} {
- puts stderr "Skipping tests in [info script]. tcltest 2 required."
- return
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
}
if {[catch {package require msgcat 1.6}]} {
puts stderr "Skipping tests in [info script]. No msgcat 1.6 found to test."
diff --git a/tests/namespace-old.test b/tests/namespace-old.test
index 1d6a805..06eedfd 100644
--- a/tests/namespace-old.test
+++ b/tests/namespace-old.test
@@ -7,15 +7,15 @@
# Sourcing this file into Tcl runs the tests and generates output for
# errors. No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1997 Lucent Technologies
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1997 Lucent Technologies
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -749,13 +749,13 @@ test namespace-old-9.14 {imported commands can be removed} {
} {{} 1 {invalid command name "cmd1"}}
test namespace-old-9.15 {existing commands can't be overwritten} {
proc cmd1 {x y} {
- return [expr $x+$y]
+ return [expr {$x+$y}]
}
list [catch {namespace import test_ns_import::cmd?} msg] $msg \
[cmd1 3 5]
} {1 {can't import command "cmd1": already exists} 8}
test namespace-old-9.16 {use "-force" option to override existing commands} {
- proc cmd1 {x y} { return [expr $x+$y] }
+ proc cmd1 {x y} { return [expr {$x+$y}] }
list [cmd1 3 5] \
[namespace import -force test_ns_import::cmd?] \
[cmd1 3 5]
diff --git a/tests/namespace.test b/tests/namespace.test
index ad24fce..e541c15 100644
--- a/tests/namespace.test
+++ b/tests/namespace.test
@@ -6,14 +6,16 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-2000 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-2000 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import -force ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
testConstraint memory [llength [info commands memory]]
::tcltest::loadTestedCommands
@@ -179,21 +181,21 @@ test namespace-7.6 {recursive Tcl_DeleteNamespace, no active call frames in ns}
namespace delete test_ns_2
} {}
test namespace-7.7 {Bug 1655305} -setup {
- interp create slave
+ interp create child
# Can't invoke through the ensemble, since deleting the global namespace
# (indirectly, via deleting ::tcl) deletes the ensemble.
- slave eval {rename ::tcl::info::commands ::infocommands}
- slave hide infocommands
- slave eval {
+ child eval {rename ::tcl::info::commands ::infocommands}
+ child hide infocommands
+ child eval {
proc foo {} {
namespace delete ::
}
}
} -body {
- slave eval foo
- slave invokehidden infocommands
+ child eval foo
+ child invokehidden infocommands
} -cleanup {
- interp delete slave
+ interp delete child
} -result {}
test namespace-7.8 {Bug ba1419303b4c} -setup {
@@ -269,28 +271,28 @@ test namespace-8.4 {TclTeardownNamespace, cmds imported from deleted ns go away}
[info commands test_ns_import::*]
} [list [lsort {::test_ns_import::p ::test_ns_import::cmd1 ::test_ns_import::cmd2}] {} ::test_ns_import::p]
test namespace-8.5 {TclTeardownNamespace: preserve errorInfo; errorCode values} {
- interp create slave
- slave eval {trace add execution error leave {namespace delete :: ;#}}
- catch {slave eval error foo bar baz}
- interp delete slave
+ interp create child
+ child eval {trace add execution error leave {namespace delete :: ;#}}
+ catch {child eval error foo bar baz}
+ interp delete child
set ::errorInfo
} {bar
invoked from within
-"slave eval error foo bar baz"}
+"child eval error foo bar baz"}
test namespace-8.6 {TclTeardownNamespace: preserve errorInfo; errorCode values} {
- interp create slave
- slave eval {trace add variable errorCode write {namespace delete :: ;#}}
- catch {slave eval error foo bar baz}
- interp delete slave
+ interp create child
+ child eval {trace add variable errorCode write {namespace delete :: ;#}}
+ catch {child eval error foo bar baz}
+ interp delete child
set ::errorInfo
} {bar
invoked from within
-"slave eval error foo bar baz"}
+"child eval error foo bar baz"}
test namespace-8.7 {TclTeardownNamespace: preserve errorInfo; errorCode values} {
- interp create slave
- slave eval {trace add execution error leave {namespace delete :: ;#}}
- catch {slave eval error foo bar baz}
- interp delete slave
+ interp create child
+ child eval {trace add execution error leave {namespace delete :: ;#}}
+ catch {child eval error foo bar baz}
+ interp delete child
set ::errorCode
} baz
@@ -2797,9 +2799,9 @@ test namespace-51.15 {namespace resolution path control} -body {
namespace delete ::test_ns_2
}
test namespace-51.16 {Bug 1566526} {
- interp create slave
- slave eval namespace eval demo namespace path ::
- interp delete slave
+ interp create child
+ child eval namespace eval demo namespace path ::
+ interp delete child
} {}
test namespace-51.17 {resolution epoch handling: Bug 2898722} -setup {
set result {}
@@ -3000,19 +3002,19 @@ test namespace-52.11 {unknown: with TCL_EVAL_INVOKE} -setup {
}
}
catch {rename ::noSuchCommand {}}
- set ::slave [interp create]
+ set ::child [interp create]
} -body {
- $::slave alias bar noSuchCommand
+ $::child alias bar noSuchCommand
namespace eval test_ns_1 {
namespace unknown unknown
proc unknown args {
return FAIL
}
- $::slave eval bar
+ $::child eval bar
}
} -cleanup {
- interp delete $::slave
- unset ::slave
+ interp delete $::child
+ unset ::child
namespace delete test_ns_1
rename ::unknown {}
rename unknown.save ::unknown
@@ -3373,7 +3375,7 @@ test namespace-57.0 {
rename ns2::p2 {}
return $res
} -cleanup {
- unset res
+ unset res
namespace delete ns2
namespace delete ns3
} -result success
diff --git a/tests/notify.test b/tests/notify.test
index e34392b..d3ba0c8 100644
--- a/tests/notify.test
+++ b/tests/notify.test
@@ -8,13 +8,13 @@
# 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) 2003 by Kevin B. Kenny. All rights reserved.
+# Copyright © 2003 Kevin B. Kenny. All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/nre.test b/tests/nre.test
index 5591862..6cc9a47 100644
--- a/tests/nre.test
+++ b/tests/nre.test
@@ -4,13 +4,13 @@
# avoids recursive calls to TEBC. Only the NRE behaviour is tested here, the
# actual command functionality is tested in the specific test file.
#
-# Copyright (c) 2008 by Miguel Sofer.
+# Copyright © 2008 Miguel Sofer.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/obj.test b/tests/obj.test
index 62bcae5..48c33ed 100644
--- a/tests/obj.test
+++ b/tests/obj.test
@@ -5,14 +5,14 @@
# Sourcing this file into Tcl runs the tests and generates output for
# errors. No output means no errors were found.
#
-# Copyright (c) 1995-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -34,7 +34,7 @@ test obj-1.1 {Tcl_AppendAllObjTypes, and InitTypeTable, Tcl_RegisterObjType} tes
string
} {
set first [string first $t [testobj types]]
- set r [expr {$r && ($first != -1)}]
+ set r [expr {$r && ($first >= 0)}]
}
set result $r
} {1}
diff --git a/tests/oo.test b/tests/oo.test
index c73c36c..8a8cce9 100644
--- a/tests/oo.test
+++ b/tests/oo.test
@@ -2,14 +2,14 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 2006-2013 Donal K. Fellows
+# Copyright © 2006-2013 Donal K. Fellows
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
package require TclOO 1.0.3
-package require tcltest 2
-if {"::tcltest" in [namespace children]} {
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -304,19 +304,19 @@ test oo-1.18.2 {Bug 75b8433707: memory leak in oo-1.18} -setup {
rename test-oo-1.18 {}
} -result 0
test oo-1.18.3 {Bug 21c144f0f5} -setup {
- interp create slave
+ interp create child
} -body {
- slave eval {
+ child eval {
oo::define [oo::class create foo] superclass oo::class
oo::class destroy
}
} -cleanup {
- interp delete slave
+ interp delete child
}
test oo-1.18.4 {correct handling of cleanup in superclass set error} -setup {
- interp create slave
+ interp create child
} -body {
- slave eval {
+ child eval {
oo::class create A
oo::class create B {
superclass oo::class
@@ -328,12 +328,12 @@ test oo-1.18.4 {correct handling of cleanup in superclass set error} -setup {
[B create C] create d
}
} -returnCodes error -cleanup {
- interp delete slave
+ interp delete child
} -result {class should only be a direct superclass once}
test oo-1.18.5 {correct handling of cleanup in superclass set error} -setup {
- interp create slave
+ interp create child
} -body {
- slave eval {
+ child eval {
oo::class create A
oo::class create B {
superclass oo::class
@@ -345,7 +345,7 @@ test oo-1.18.5 {correct handling of cleanup in superclass set error} -setup {
[B create C {B C}] create d
}
} -returnCodes error -cleanup {
- interp delete slave
+ interp delete child
} -result {attempt to form circular dependency graph}
test oo-1.19 {basic test of OO functionality: teardown order} -body {
oo::object create o
@@ -1439,16 +1439,16 @@ test oo-7.8 {OO: next at the end of the method chain} -setup {
} -result {foo2 foo 1 {no next method implementation}}
test oo-7.9 {OO: defining inheritance in namespaces} -setup {
set ::result {}
- oo::class create ::master
+ oo::class create ::parent
namespace eval ::foo {
- oo::class create mixin {superclass ::master}
+ oo::class create mixin {superclass ::parent}
}
} -cleanup {
- ::master destroy
+ ::parent destroy
namespace delete ::foo
} -body {
namespace eval ::foo {
- oo::class create bar {superclass master}
+ oo::class create bar {superclass parent}
oo::class create boo
oo::define boo {superclass bar}
oo::define boo {mixin mixin}
@@ -1967,7 +1967,7 @@ test oo-13.5 {OO: changing an object's class: non-class to class} -setup {
class oo::class
}
oo::define fooObj {
- method x {} {expr 1+2+3}
+ method x {} {expr {1+2+3}}
}
[fooObj new] x
} -cleanup {
@@ -1979,7 +1979,7 @@ test oo-13.6 {OO: changing an object's class: class to non-class} -setup {
} -body {
set result dangling
oo::define foo {
- method x {} {expr 1+2+3}
+ method x {} {expr {1+2+3}}
}
oo::class create boo {
superclass foo
@@ -2002,7 +2002,7 @@ test oo-13.7 {OO: changing an object's class} -setup {
} -body {
oo::define bar method x {} {return ok}
oo::define foo {
- method x {} {expr 1+2+3}
+ method x {} {expr {1+2+3}}
self mixin foo
}
lappend result [foo x]
@@ -2016,7 +2016,7 @@ test oo-13.8 {OO: changing an object's class to itself} -setup {
oo::class create foo
} -body {
oo::define foo {
- method x {} {expr 1+2+3}
+ method x {} {expr {1+2+3}}
}
oo::objdefine foo class foo
} -cleanup {
@@ -2135,18 +2135,18 @@ test oo-14.5 {OO and mixins and filters - advanced case} -setup {
mix destroy
} -result >>foobar<<
test oo-14.6 {OO and mixins of mixins - Bug 1960703} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create A {
- superclass master
+ superclass parent
method egg {} {
return chicken
}
}
oo::class create B {
- superclass master
+ superclass parent
mixin A
method bar {} {
# mixin from A
@@ -2154,7 +2154,7 @@ test oo-14.6 {OO and mixins of mixins - Bug 1960703} -setup {
}
}
oo::class create C {
- superclass master
+ superclass parent
mixin B
method foo {} {
# mixin from B
@@ -2164,12 +2164,12 @@ test oo-14.6 {OO and mixins of mixins - Bug 1960703} -setup {
[C new] foo
} -result chicken
test oo-14.7 {OO and filters from mixins of mixins} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create A {
- superclass master
+ superclass parent
method egg {} {
return chicken
}
@@ -2180,7 +2180,7 @@ test oo-14.7 {OO and filters from mixins of mixins} -setup {
}
}
oo::class create B {
- superclass master
+ superclass parent
mixin A
filter f
method bar {} {
@@ -2189,7 +2189,7 @@ test oo-14.7 {OO and filters from mixins of mixins} -setup {
}
}
oo::class create C {
- superclass master
+ superclass parent
mixin B
filter f
method foo {} {
@@ -2201,18 +2201,18 @@ test oo-14.7 {OO and filters from mixins of mixins} -setup {
} -result {(foo) (bar) (egg) chicken (egg) (bar) (foo)}
test oo-14.8 {OO: class mixin order - Bug 1998221} -setup {
set ::result {}
- oo::class create master {
+ oo::class create parent {
method test {} {}
}
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create mix {
- superclass master
+ superclass parent
method test {} {lappend ::result mix; next; return $::result}
}
oo::class create cls {
- superclass master
+ superclass parent
mixin mix
method test {} {lappend ::result cls; next; return $::result}
}
@@ -2915,13 +2915,13 @@ test oo-18.7 {OO: objdefine command support} -setup {
invoked from within
"oo::objdefine inst {rename ::inst ::INST;error foo}"}}
test oo-18.8 {OO: define/self command support} -setup {
- oo::class create master
- oo::class create ::foo {superclass master}
+ oo::class create parent
+ oo::class create ::foo {superclass parent}
} -body {
catch {oo::define foo {rename ::foo ::bar; self {error foobar}}} msg opt
dict get $opt -errorinfo
} -cleanup {
- master destroy
+ parent destroy
} -result {foobar
while executing
"error foobar"
@@ -2932,15 +2932,15 @@ test oo-18.8 {OO: define/self command support} -setup {
invoked from within
"oo::define foo {rename ::foo ::bar; self {error foobar}}"}
test oo-18.9 {OO: define/self command support} -setup {
- oo::class create master
+ oo::class create parent
set c [oo::class create now_this_is_a_very_very_long_class_name_indeed {
- superclass master
+ superclass parent
}]
} -body {
catch {oo::define $c {error err}} msg opt
dict get $opt -errorinfo
} -cleanup {
- master destroy
+ parent destroy
} -result {err
while executing
"error err"
@@ -2948,13 +2948,13 @@ test oo-18.9 {OO: define/self command support} -setup {
invoked from within
"oo::define $c {error err}"}
test oo-18.10 {OO: define/self command support} -setup {
- oo::class create master
- oo::class create ::foo {superclass master}
+ oo::class create parent
+ oo::class create ::foo {superclass parent}
} -body {
catch {oo::define foo {self {rename ::foo {}; error foobar}}} msg opt
dict get $opt -errorinfo
} -cleanup {
- master destroy
+ parent destroy
} -result {foobar
while executing
"error foobar"
@@ -2965,13 +2965,13 @@ test oo-18.10 {OO: define/self command support} -setup {
invoked from within
"oo::define foo {self {rename ::foo {}; error foobar}}"}
test oo-18.11 {OO: define/self command support} -setup {
- oo::class create master
- oo::class create ::foo {superclass master}
+ oo::class create parent
+ oo::class create ::foo {superclass parent}
} -body {
catch {oo::define foo {rename ::foo {}; self {error foobar}}} msg opt
dict get $opt -errorinfo
} -cleanup {
- master destroy
+ parent destroy
} -result {this command cannot be called when the object has been deleted
while executing
"self {error foobar}"
@@ -3594,12 +3594,12 @@ test oo-27.2 {variables declaration - object introspection} -setup {
info object variables foo
} -result {a b c}
test oo-27.3 {variables declaration - basic behaviour} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable x!
constructor {} {set x! 1}
method y {} {incr x!}
@@ -3609,13 +3609,13 @@ test oo-27.3 {variables declaration - basic behaviour} -setup {
bar y
} -result 3
test oo-27.4 {variables declaration - destructors too} -setup {
- oo::class create master
+ oo::class create parent
set result bad!
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable x!
constructor {} {set x! 1}
method y {} {incr x!}
@@ -3640,12 +3640,12 @@ test oo-27.5 {variables declaration - object-bound variables} -setup {
foo y
} -result 2
test oo-27.6 {variables declaration - non-interference of levels} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable x!
constructor {} {set x! 1}
method y {} {incr x!}
@@ -3660,12 +3660,12 @@ test oo-27.6 {variables declaration - non-interference of levels} -setup {
list [bar y] [lsort [info object vars bar]] [bar eval {info vars *!}]
} -result {{3 2 y! {}} {x! y!} {x! y!}}
test oo-27.7 {variables declaration - one underlying variable space} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable x!
constructor {} {set x! 1}
method y {} {incr x!}
@@ -3692,12 +3692,12 @@ test oo-27.9 {variables declaration - error cases - arrays} -body {
oo::define oo::object variable bad(var)
} -returnCodes error -result {invalid declared variable name "bad(var)": must not refer to an array element}
test oo-27.10 {variables declaration - no instance var leaks with class resolvers} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable clsvar
constructor {} {
set clsvar 0
@@ -3720,12 +3720,12 @@ test oo-27.10 {variables declaration - no instance var leaks with class resolver
list [inst1 value] [inst2 value]
} -result {3 2}
test oo-27.11 {variables declaration - no instance var leaks with class resolvers} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable clsvar
constructor {} {
set clsvar 0
@@ -3793,12 +3793,12 @@ test oo-27.13 {variables declaration: Bug 3185009: require refcount management}
foo destroy
} -result {0 7 1 7 {} 0 1 {can't read "x": no such variable}}
test oo-27.14 {variables declaration - multiple use} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable x
variable y
method boo {} {
@@ -3809,12 +3809,12 @@ test oo-27.14 {variables declaration - multiple use} -setup {
list [bar boo] [bar boo]
} -result {1,1 2,2}
test oo-27.15 {variables declaration - multiple use} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable
variable x y
method boo {} {
@@ -3825,12 +3825,12 @@ test oo-27.15 {variables declaration - multiple use} -setup {
list [bar boo] [bar boo]
} -result {1,1 2,2}
test oo-27.16 {variables declaration - multiple use} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable x
variable -clear
variable y
@@ -3842,12 +3842,12 @@ test oo-27.16 {variables declaration - multiple use} -setup {
list [bar boo] [bar boo]
} -result {1,1 1,2}
test oo-27.17 {variables declaration - multiple use} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable x
variable -set y
method boo {} {
@@ -3858,12 +3858,12 @@ test oo-27.17 {variables declaration - multiple use} -setup {
list [bar boo] [bar boo]
} -result {1,1 1,2}
test oo-27.18 {variables declaration - multiple use} -setup {
- oo::class create master
+ oo::class create parent
} -cleanup {
- master destroy
+ parent destroy
} -body {
oo::class create foo {
- superclass master
+ superclass parent
variable x
variable -? y
method boo {} {
@@ -3961,12 +3961,12 @@ test oo-27.22 {variables declaration uniqueifies: Bug 3396896} -setup {
} -result {v t}
test oo-27.23 {variable resolver leakage: Bug 1493a43044} -setup {
oo::class create Super
- oo::class create Master {
+ oo::class create Parent {
superclass Super
variable member1 member2
constructor {} {
- set member1 master1
- set member2 master2
+ set member1 parent1
+ set member2 parent2
}
method getChild {} {
Child new [self]
@@ -3987,10 +3987,10 @@ test oo-27.23 {variable resolver leakage: Bug 1493a43044} -setup {
method result {} {return $result}
}
} -body {
- [[Master new] getChild] result
+ [[Parent new] getChild] result
} -cleanup {
Super destroy
-} -result {master1 master2 master1 master2 master1 master2 master1 master2}
+} -result {parent1 parent2 parent1 parent2 parent1 parent2 parent1 parent2}
# A feature that's not supported because the mechanism may change without
# warning, but is supposed to work...
diff --git a/tests/ooNext2.test b/tests/ooNext2.test
index 6a48d28..b185c0f 100644
--- a/tests/ooNext2.test
+++ b/tests/ooNext2.test
@@ -2,14 +2,14 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 2006-2011 Donal K. Fellows
+# Copyright © 2006-2011 Donal K. Fellows
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
package require TclOO 1.0.3
-package require tcltest 2
-if {"::tcltest" in [namespace children]} {
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -882,9 +882,9 @@ test oo-call-3.4 {current call introspection: in destructors} -setup {
# caller
set testopts {
-setup {
- oo::class create Master
+ oo::class create Parent
oo::class create Foo {
- superclass Master
+ superclass Parent
method bar {} {
puts abc
tailcall puts hi
@@ -892,11 +892,11 @@ set testopts {
}
}
oo::class create Foo2 {
- superclass Master
+ superclass Parent
}
}
-cleanup {
- Master destroy
+ Parent destroy
}
}
diff --git a/tests/ooUtil.test b/tests/ooUtil.test
index ff7093f..faf4098 100644
--- a/tests/ooUtil.test
+++ b/tests/ooUtil.test
@@ -3,15 +3,15 @@
# the tests and generates output for errors. No output means no errors were
# found.
#
-# Copyright (c) 2014-2016 Andreas Kupries
-# Copyright (c) 2018 Donal K. Fellows
+# Copyright © 2014-2016 Andreas Kupries
+# Copyright © 2018 Donal K. Fellows
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
package require TclOO 1.0.3
-package require tcltest 2
-if {"::tcltest" in [namespace children]} {
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -153,7 +153,7 @@ test ooUtil-1.8 {TIP 478: classmethod in child interp} -setup {
oo::class create Table {
superclass ActiveRecord
}
- # This is confirming that this is not the master interpreter
+ # This is confirming that this is not the parent interpreter
list [Table find foo bar] [info globals childinterp]
}
} -cleanup {
diff --git a/tests/opt.test b/tests/opt.test
index a90e6b6..2d304c6 100644
--- a/tests/opt.test
+++ b/tests/opt.test
@@ -4,20 +4,20 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
# the package we are going to test
-package require opt 0.4.7
+package require opt 0.4.8
# we are using implementation specifics to test the package
@@ -27,8 +27,8 @@ package require opt 0.4.7
set n $::tcl::OptDescN
test opt-1.1 {OptKeyRegister / check that auto allocation is skipping existing keys} {
- list [::tcl::OptKeyRegister {} $n] [::tcl::OptKeyRegister {} [expr $n+1]] [::tcl::OptKeyRegister {}]
-} "$n [expr $n+1] [expr $n+2]"
+ list [::tcl::OptKeyRegister {} $n] [::tcl::OptKeyRegister {} [expr {$n+1}]] [::tcl::OptKeyRegister {}]
+} "$n [expr {$n+1}] [expr {$n+2}]"
test opt-2.1 {OptKeyDelete} {
list [::tcl::OptKeyRegister {} testkey] \
diff --git a/tests/package.test b/tests/package.test
index e12dd30..b50a283 100644
--- a/tests/package.test
+++ b/tests/package.test
@@ -5,15 +5,15 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1995-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
-# Copyright (c) 2011 Donal K. Fellows
+# Copyright © 1995-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright © 2011 Donal K. Fellows
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.3.3
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/parse.test b/tests/parse.test
index 287c392..a98067d 100644
--- a/tests/parse.test
+++ b/tests/parse.test
@@ -2,15 +2,15 @@
# file tclParse.c. Sourcing this file into Tcl runs the tests and
# generates output for errors. No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-if {[catch {package require tcltest 2.0.2}]} {
- puts stderr "Skipping tests in [info script]. tcltest 2.0.2 required."
- return
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
}
namespace eval ::tcl::test::parse {
@@ -405,14 +405,14 @@ test parse-8.11 {Tcl_EvalObjv procedure, TCL_EVAL_INVOKE} testevalobjv {
proc ::unknown args {lappend ::info [info level]; uplevel 1 foo}
proc ::foo args {lappend ::info global}
catch {rename ::noSuchCommand {}}
- set ::slave [interp create]
- $::slave alias bar noSuchCommand
+ set ::child [interp create]
+ $::child alias bar noSuchCommand
set ::info {}
namespace eval test_ns_1 {
proc foo args {lappend ::info namespace}
- $::slave eval bar
- testevalobjv 1 [list $::slave eval bar]
- uplevel #0 [list $::slave eval bar]
+ $::child eval bar
+ testevalobjv 1 [list $::child eval bar]
+ uplevel #0 [list $::child eval bar]
}
namespace delete test_ns_1
rename ::foo {}
@@ -429,14 +429,14 @@ test parse-8.12 {Tcl_EvalObjv procedure, TCL_EVAL_INVOKE} {
lappend ::info ns
}]
catch {rename ::noSuchCommand {}}
- set ::slave [interp create]
- $::slave alias bar noSuchCommand
+ set ::child [interp create]
+ $::child alias bar noSuchCommand
set ::info {}
namespace eval test_ns_1 {
- $::slave eval bar
+ $::child eval bar
}
namespace delete test_ns_1
- interp delete $::slave
+ interp delete $::child
catch {rename ::noSuchCommand {}}
set ::info
} global
@@ -481,7 +481,7 @@ test parse-10.2 {Tcl_EvalTokens, backslash sequences} testevalex {
testevalex {concat test\063\062test}
} {test32test}
test parse-10.3 {Tcl_EvalTokens, nested commands} testevalex {
- testevalex {concat [expr 2 + 6]}
+ testevalex {concat [expr {2 + 6}]}
} {8}
test parse-10.4 {Tcl_EvalTokens, nested commands} testevalex {
unset -nocomplain a
@@ -499,7 +499,7 @@ test parse-10.6 {Tcl_EvalTokens, array variables} testevalex {
test parse-10.7 {Tcl_EvalTokens, array variables} testevalex {
unset -nocomplain a
set a(12) 46
- testevalex {concat $a(1[expr 3 - 1])}
+ testevalex {concat $a(1[expr {3 - 1}])}
} {46}
test parse-10.8 {Tcl_EvalTokens, array variables} testevalex {
unset -nocomplain a
@@ -685,7 +685,7 @@ test parse-13.5 {Tcl_ParseVar procedure, error looking up variable} testparsevar
unset -nocomplain abc
list [catch {testparsevar {$abc([bogus x y z])}} msg] $msg
} {1 {invalid command name "bogus"}}
-test parse-13.6 {Tcl_ParseVar memory leak} -constraints memory -setup {
+test parse-13.6 {Tcl_ParseVar memory leak} -constraints {testparsevar memory} -setup {
proc getbytes {} {
return [lindex [split [memory info] \n] 3 3]
}
diff --git a/tests/parseExpr.test b/tests/parseExpr.test
index 47dbec5..44a1371 100644
--- a/tests/parseExpr.test
+++ b/tests/parseExpr.test
@@ -2,14 +2,16 @@
# file tclCompExpr.c. Sourcing this file into Tcl runs the tests and
# generates output for errors. No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -1073,6 +1075,14 @@ test parseExpr-22.21 {Bug d2ffcca163} -constraints testexprparser -body {
testexprparser in\u0433(0) -1
} -returnCodes error -match glob -result {missing operand*}
+test parseExpr-23.1 {TIP 582: comments} -constraints testexprparser -body {
+ testexprparser "7 # * 8 " -1
+} -result {- {} 0 subexpr 7 1 text 7 0 {}}
+test parseExpr-23.2 {TIP 582: comments} -constraints testexprparser -body {
+ testexprparser "7 #\n* 8 " -1
+} -result {- {} 0 subexpr {7 #
+*} 5 operator # 0 subexpr 7 1 text 7 0 subexpr * 1 text * 0 {}}
+
# cleanup
cleanupTests
return
diff --git a/tests/parseOld.test b/tests/parseOld.test
index 504d063..7985135 100644
--- a/tests/parseOld.test
+++ b/tests/parseOld.test
@@ -6,15 +6,17 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -133,7 +135,7 @@ format %s $b
} a22b
test parseOld-4.4 {command substitution} {
set a 7.7
- if [catch {expr int($a)}] {set a foo}
+ if {[catch {expr {int($a)}}]} {set a foo}
set a
} 7.7
diff --git a/tests/pid.test b/tests/pid.test
index 8887b66..3f62457 100644
--- a/tests/pid.test
+++ b/tests/pid.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1995 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1995 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/pkgMkIndex.test b/tests/pkgMkIndex.test
index 8ff806c..1205d6a 100644
--- a/tests/pkgMkIndex.test
+++ b/tests/pkgMkIndex.test
@@ -5,11 +5,13 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1998-1999 Scriptics Corporation.
# All rights reserved.
-package require tcltest 2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
set fullPkgPath [makeDirectory pkg]
@@ -72,11 +74,11 @@ proc pkgtest::parseArgs { args } {
# of the command line.
proc pkgtest::parseIndex { filePath } {
- # create a slave interpreter, where we override "package ifneeded"
+ # create a child interpreter, where we override "package ifneeded"
- set slave [interp create]
+ set child [interp create]
if {[catch {
- $slave eval {
+ $child eval {
rename package package_original
proc package { args } {
if {[lindex $args 0] eq "ifneeded"} {
@@ -91,17 +93,17 @@ proc pkgtest::parseIndex { filePath } {
}
set dir [file dirname $filePath]
- $slave eval {set curdir [pwd]}
- $slave eval [list cd $dir]
- $slave eval [list set dir $dir]
- $slave eval [list source [file tail $filePath]]
- $slave eval {cd $curdir}
+ $child eval {set curdir [pwd]}
+ $child eval [list cd $dir]
+ $child eval [list set dir $dir]
+ $child eval [list source [file tail $filePath]]
+ $child eval {cd $curdir}
# Create the list in sorted order, so that we don't get spurious
# errors because the order has changed.
array set P {}
- foreach {k v} [$slave eval {array get ::PKGS}] {
+ foreach {k v} [$child eval {array get ::PKGS}] {
set P($k) $v
}
@@ -113,12 +115,12 @@ proc pkgtest::parseIndex { filePath } {
set ei [dict get $opts -errorinfo]
set ec [dict get $opts -errorcode]
- catch {interp delete $slave}
+ catch {interp delete $child}
error $ei $ec
}
- interp delete $slave
+ interp delete $child
return $PKGS
}
@@ -313,7 +315,7 @@ namespace eval pkg2 {
namespace export p2-1
}
proc pkg2::p2-1 { num } {
- return [expr $num * 2]
+ return [expr {$num * 2}]
}
} [file join pkg pkg2_a.tcl]
@@ -326,7 +328,7 @@ namespace eval pkg2 {
namespace export p2-2
}
proc pkg2::p2-2 { num } {
- return [expr $num * 3]
+ return [expr {$num * 3}]
}
} [file join pkg pkg2_b.tcl]
@@ -407,10 +409,10 @@ namespace eval pkg3 {
namespace export p3-1 p3-2
}
proc pkg3::p3-1 { num } {
- return {[expr $num * 2]}
+ return {[expr {$num * 2}]}
}
proc pkg3::p3-2 { num } {
- return {[expr $num * 3]}
+ return {[expr {$num * 3}]}
}
} [file join pkg pkg3.tcl]
@@ -518,10 +520,10 @@ namespace eval circ2 {
namespace export c2-1 c2-2
}
proc circ2::c2-1 { num } {
- return [expr $num * [circ3::c3-1]]
+ return [expr {$num * [circ3::c3-1]}]
}
proc circ2::c2-2 { num } {
- return [expr $num * [circ3::c3-2]]
+ return [expr {$num * [circ3::c3-2]}]
}
} [file join pkg circ2.tcl]
diff --git a/tests/platform.test b/tests/platform.test
index 53d534e..bf60c64 100644
--- a/tests/platform.test
+++ b/tests/platform.test
@@ -4,12 +4,12 @@
# 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) 1999 by Scriptics Corporation
+# Copyright © 1999 Scriptics Corporation
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
+package require tcltest 2.5
namespace eval ::tcl::test::platform {
namespace import ::tcltest::testConstraint
diff --git a/tests/proc-old.test b/tests/proc-old.test
index 96b24b8..ab93fca 100644
--- a/tests/proc-old.test
+++ b/tests/proc-old.test
@@ -7,15 +7,15 @@
# Sourcing this file into Tcl runs the tests and generates output for
# errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -25,7 +25,7 @@ catch {rename foo ""}
proc tproc {} {return a; return b}
test proc-old-1.1 {simple procedure call and return} {tproc} a
proc tproc x {
- set x [expr $x+1]
+ set x [expr {$x + 1}]
return $x
}
test proc-old-1.2 {simple procedure call and return} {tproc 2} 3
@@ -49,7 +49,7 @@ test proc-old-1.6 {simple procedure call and return (shared proc body string)} {
test proc-old-2.1 {local and global variables} {
proc tproc x {
- set x [expr $x+1]
+ set x [expr {$x + 1}]
return $x
}
set x 42
@@ -57,7 +57,7 @@ test proc-old-2.1 {local and global variables} {
} {7 42}
test proc-old-2.2 {local and global variables} {
proc tproc x {
- set y [expr $x+1]
+ set y [expr {$x + 1}]
return $y
}
set y 18
@@ -66,7 +66,7 @@ test proc-old-2.2 {local and global variables} {
test proc-old-2.3 {local and global variables} {
proc tproc x {
global y
- set y [expr $x+1]
+ set y [expr {$x + 1}]
return $y
}
set y 189
@@ -75,7 +75,7 @@ test proc-old-2.3 {local and global variables} {
test proc-old-2.4 {local and global variables} {
proc tproc x {
global y
- return [expr $x+$y]
+ return [expr {$x + $y}]
}
set y 189
list [tproc 6] $y
@@ -504,7 +504,7 @@ test proc-old-10.1 {ByteCode epoch change during recursive proc execution} {
set y 20
rename expr expr.old
rename expr.old expr
- if $x then {t1 0} ;# recursive call after foo's code is invalidated
+ if {$x} then {t1 0} ;# recursive call after foo's code is invalidated
return 20
}
t1 1
diff --git a/tests/proc.test b/tests/proc.test
index 43d76d8..97161b3 100644
--- a/tests/proc.test
+++ b/tests/proc.test
@@ -7,14 +7,14 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -100,7 +100,7 @@ test proc-1.7 {Tcl_ProcObjCmd, check that formal parameter names are not array e
catch {rename p ""}
} -returnCodes error -body {
proc p {a(1) a(2)} {
- set z [expr $a(1)+$a(2)]
+ set z [expr {$a(1)+$a(2)}]
puts "$z=z, $a(1)=$a(1)"
}
} -result {formal parameter "a(1)" is an array element}
@@ -389,9 +389,9 @@ test proc-7.3 {Returning loop exception from redefined cmd: Bug 729692} -body {
test proc-7.4 {Proc struct outlives its interp: Bug 3532959} {
set lambda x
lappend lambda {set a 1}
- interp create slave
- slave eval [list apply $lambda foo]
- interp delete slave
+ interp create child
+ child eval [list apply $lambda foo]
+ interp delete child
unset lambda
} {}
diff --git a/tests/process.test b/tests/process.test
index ef23cfb..4533108 100644
--- a/tests/process.test
+++ b/tests/process.test
@@ -4,12 +4,12 @@
# Sourcing this file into Tcl runs the tests and generates output for
# errors. No output means no errors were found.
#
-# Copyright (c) 2017 Frederic Bonnet
+# Copyright © 2017 Frederic Bonnet
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/pwd.test b/tests/pwd.test
index d48c2ad..c069eef 100644
--- a/tests/pwd.test
+++ b/tests/pwd.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -20,9 +20,10 @@ test pwd-1.1 {simple pwd} {
catch pwd
} 0
test pwd-1.2 {simple pwd} {
- expr [string length pwd]>0
+ expr {[string length [pwd]]>0}
} 1
-test pwd-1.3 {pwd takes no args} -body {
+
+test pwd-2.1 {pwd takes no args} -body {
pwd foobar
} -returnCodes error -result "wrong \# args: should be \"pwd\""
diff --git a/tests/reg.test b/tests/reg.test
index 2ee1048..8afcb39 100644
--- a/tests/reg.test
+++ b/tests/reg.test
@@ -7,10 +7,11 @@
# and aren't using Tcl -- reg's own regression tester also knows how
# to read this file, ignoring the Tcl-isms.)
#
-# Copyright (c) 1998, 1999 Henry Spencer. All rights reserved.
+# Copyright © 1998, 1999 Henry Spencer. All rights reserved.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
}
::tcltest::loadTestedCommands
@@ -287,7 +288,7 @@ namespace eval RETest {
set infoflags [TestInfoFlags $flags]
set ccmd [list testregexp -about {*}$f $re]
set nsub [expr {[llength $args] - 1}]
- if {$nsub == -1} {
+ if {$nsub < 0} {
# didn't tell us number of subexps
set ccmd "lreplace \[$ccmd\] 0 0"
set info [list $infoflags]
diff --git a/tests/regexp.test b/tests/regexp.test
index ee92a35..842789e 100644
--- a/tests/regexp.test
+++ b/tests/regexp.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1998 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1998 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/regexpComp.test b/tests/regexpComp.test
index 4d531bd..4dfc2e6 100644
--- a/tests/regexpComp.test
+++ b/tests/regexpComp.test
@@ -4,15 +4,15 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1998 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1998 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/registry.test b/tests/registry.test
index c5e6e5a..2a9608f 100644
--- a/tests/registry.test
+++ b/tests/registry.test
@@ -7,11 +7,11 @@
# In order for these tests to run, the registry package must be on the
# auto_path or the registry package must have been loaded already.
#
-# Copyright (c) 1997 by Sun Microsystems, Inc. All rights reserved.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc. All rights reserved.
+# Copyright © 1998-1999 Scriptics Corporation.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -24,6 +24,7 @@ if {[testConstraint win]} {
testConstraint reg 1
}
}
+testConstraint notWine [expr {![info exists ::env(CI_USING_WINE)]}]
# determine the current locale
testConstraint english [expr {
@@ -673,10 +674,10 @@ test registry-12.2 {BroadcastValue} -constraints {win reg} -body {
test registry-12.3 {BroadcastValue} -constraints {win reg} -body {
registry broadcast "" - 500
} -returnCodes error -result "wrong # args: should be \"registry broadcast keyName ?-timeout milliseconds?\""
-test registry-12.4 {BroadcastValue} -constraints {win reg} -body {
+test registry-12.4 {BroadcastValue} -constraints {win reg notWine} -body {
registry broadcast {Environment}
} -result {1 0}
-test registry-12.5 {BroadcastValue} -constraints {win reg} -body {
+test registry-12.5 {BroadcastValue} -constraints {win reg notWine} -body {
registry b {}
} -result {1 0}
diff --git a/tests/remote.tcl b/tests/remote.tcl
index 097e41f..6bc4b17 100644
--- a/tests/remote.tcl
+++ b/tests/remote.tcl
@@ -4,7 +4,7 @@
#
# Source this file in the remote server you are using to test Tcl against.
#
-# Copyright (c) 1995-1996 Sun Microsystems, Inc.
+# Copyright © 1995-1996 Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -91,8 +91,8 @@ if {![info exists serverPort]} {
if {![info exists serverPort]} {
for {set i 0} {$i < $argc} {incr i} {
if {[string compare -port [lindex $argv $i]] == 0} {
- if {$i < [expr $argc - 1]} {
- set serverPort [lindex $argv [expr $i + 1]]
+ if {$i < $argc - 1} {
+ set serverPort [lindex $argv [expr {$i + 1}]]
}
break
}
@@ -110,8 +110,8 @@ if {![info exists serverAddress]} {
if {![info exists serverAddress]} {
for {set i 0} {$i < $argc} {incr i} {
if {[string compare -address [lindex $argv $i]] == 0} {
- if {$i < [expr $argc - 1]} {
- set serverAddress [lindex $argv [expr $i + 1]]
+ if {$i < $argc - 1} {
+ set serverAddress [lindex $argv [expr {$i + 1}]]
}
break
}
diff --git a/tests/rename.test b/tests/rename.test
index 398d0f2..7a2cd94 100644
--- a/tests/rename.test
+++ b/tests/rename.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/resolver.test b/tests/resolver.test
index b0b395d..35df86b 100644
--- a/tests/resolver.test
+++ b/tests/resolver.test
@@ -4,14 +4,14 @@
# in the reusing context. Sourcing this file into Tcl runs the tests and
# generates output for errors. No output means no errors were found.
#
-# Copyright (c) 2011 Gustaf Neumann <gustaf.neumann@wu.ac.at>
-# Copyright (c) 2011 Stefan Sobernig <stefan.sobernig@wu.ac.at>
+# Copyright © 2011 Gustaf Neumann <gustaf.neumann@wu.ac.at>
+# Copyright © 2011 Stefan Sobernig <stefan.sobernig@wu.ac.at>
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-if {"::tcltest" in [namespace children]} {
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -203,7 +203,7 @@ test resolver-2.1 {compiled var resolver: Bug #3383616} -setup {
# resolver-agnostic).
#
# In order to make the test cases for the per-interpreter cmd literal pool
-# reproducable and to minimize interactions between test cases, we use a slave
+# reproducable and to minimize interactions between test cases, we use a child
# interpreter per test-case.
#
#
diff --git a/tests/result.test b/tests/result.test
index 859e546..cb453cc 100644
--- a/tests/result.test
+++ b/tests/result.test
@@ -4,14 +4,16 @@
# 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) 1997 by Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
diff --git a/tests/safe-stock87.test b/tests/safe-stock.test
index 1ca2020..d23d86e 100644
--- a/tests/safe-stock87.test
+++ b/tests/safe-stock.test
@@ -1,4 +1,4 @@
-# safe-stock87.test --
+# safe-stock.test --
#
# This file contains tests for safe Tcl that were previously in the file
# safe.test, and use files and packages of stock Tcl 8.7 to perform the tests.
@@ -13,7 +13,7 @@
# No output means no errors were found.
#
# The defunct package http 1.0 was convenient for testing package loading.
-# - This file, safe-stock87.test, uses packages opt and (from cookiejar)
+# - This file, safe-stock.test, uses packages opt and (from cookiejar)
# tcl::idna to provide alternative tests based on stock Tcl packages.
# - These are tests 7.1 7.2 7.4 9.11 9.13
# - Tests 7.[124], 9.1[13] use "package require opt".
@@ -22,20 +22,18 @@
# subdirectory auto0 of the tests directory, which are independent of any
# changes made to the packages provided with Tcl.
#
-# Copyright (c) 1995-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require Tcl 8.5-
-
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
-foreach i [interp slaves] {
+foreach i [interp children] {
interp delete $i
}
@@ -103,14 +101,10 @@ proc mapAndSortList {map listIn} {
# thus un-autoindexed) APIs in this test result arguments:
catch {safe::interpConfigure}
-# testing that nested and statics do what is advertised (we use a static
-# package - Tcltest - but it might be absent if we're in standard tclsh)
-
-testConstraint TcltestPackage [expr {![catch {package require Tcltest}]}]
testConstraint AutoSyncDefined 1
# high level general test
-test safe-stock87-7.1 {tests that everything works at high level with conventional AutoPathSync, use pkg opt} -setup {
+test safe-stock-7.1 {tests that everything works at high level with conventional AutoPathSync, use pkg opt} -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -120,7 +114,7 @@ test safe-stock87-7.1 {tests that everything works at high level with convention
} -body {
# no error shall occur:
# (because the default access_path shall include 1st level sub dirs so
- # package require in a slave works like in the master)
+ # package require in a child works like in the parent)
set v [interp eval $i {package require opt}]
# no error shall occur:
interp eval $i {::tcl::Lempty {a list}}
@@ -131,7 +125,7 @@ test safe-stock87-7.1 {tests that everything works at high level with convention
safe::setSyncMode $SyncVal_TMP
}
} -match glob -result 0.4.*
-test safe-stock87-7.2 {tests specific path and interpFind/AddToAccessPath with conventional AutoPathSync, use pkg opt} -setup {
+test safe-stock-7.2 {tests specific path and interpFind/AddToAccessPath with conventional AutoPathSync, use pkg opt} -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -143,7 +137,7 @@ test safe-stock87-7.2 {tests specific path and interpFind/AddToAccessPath with c
set i [safe::interpCreate -nostat -nested 1 -accessPath [list [info library]]]
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i "/dummy/unixlike/test/path"]
# an error shall occur (opt is not anymore in the secure 0-level
# provided deep path)
@@ -158,7 +152,7 @@ test safe-stock87-7.2 {tests specific path and interpFind/AddToAccessPath with c
}
} -match glob -result "{\$p(:0:)} {\$p(:*:)} -- 1 {$pkgOptErrMsg} --\
{TCLLIB */dummy/unixlike/test/path} -- {}"
-test safe-stock87-7.4 {tests specific path and positive search with conventional AutoPathSync, use pkg opt} -setup {
+test safe-stock-7.4 {tests specific path and positive search with conventional AutoPathSync, use pkg opt} -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -170,11 +164,11 @@ test safe-stock87-7.4 {tests specific path and positive search with conventional
set i [safe::interpCreate -nostat -nested 1 -accessPath [list [info library]]]
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i [file join [info library] $pkgOptDir]]
set confA [safe::interpConfigure $i]
set mappA [mapList $PathMapp [dict get $confA -accessPath]]
- # this time, unlike test safe-stock87-7.2, opt should be found
+ # this time, unlike test safe-stock-7.2, opt should be found
list $token1 $token2 -- \
[catch {interp eval $i {package require opt}} msg] $msg -- \
$mappA -- [safe::interpDelete $i]
@@ -186,7 +180,7 @@ test safe-stock87-7.4 {tests specific path and positive search with conventional
}
} -match glob -result {{$p(:0:)} {$p(:*:)} -- 0 0.4.* --\
{TCLLIB * TCLLIB/OPTDIR} -- {}}
-test safe-stock87-7.5 {tests positive and negative module loading with conventional AutoPathSync} -setup {
+test safe-stock-7.5 {tests positive and negative module loading with conventional AutoPathSync} -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -213,7 +207,7 @@ test safe-stock87-7.5 {tests positive and negative module loading with conventio
# The following test checks whether the definition of tcl_endOfWord can be
# obtained from auto_loading. It was previously test "safe-5.1".
-test safe-stock87-9.8 {test auto-loading in safe interpreters, was safe-5.1} -setup {
+test safe-stock-9.8 {test auto-loading in safe interpreters, was safe-5.1} -setup {
catch {safe::interpDelete a}
safe::interpCreate a
} -body {
@@ -221,7 +215,7 @@ test safe-stock87-9.8 {test auto-loading in safe interpreters, was safe-5.1} -se
} -cleanup {
safe::interpDelete a
} -result -1
-test safe-stock87-9.11 {interpConfigure change the access path; pkgIndex.tcl packages unaffected by token rearrangement with conventional AutoPathSync, uses pkg opt and tcl::idna} -setup {
+test safe-stock-9.11 {interpConfigure change the access path; pkgIndex.tcl packages unaffected by token rearrangement with conventional AutoPathSync, uses pkg opt and tcl::idna} -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -268,7 +262,7 @@ test safe-stock87-9.11 {interpConfigure change the access path; pkgIndex.tcl pac
{TCLLIB TCLLIB/OPTDIR TCLLIB/JARDIR*} --\
{TCLLIB TCLLIB/JARDIR TCLLIB/OPTDIR*} --\
0 0 0 example.com}
-test safe-stock87-9.13 {interpConfigure change the access path; pkgIndex.tcl packages fail if directory de-listed with conventional AutoPathSync, uses pkg opt and tcl::idna} -setup {
+test safe-stock-9.13 {interpConfigure change the access path; pkgIndex.tcl packages fail if directory de-listed with conventional AutoPathSync, uses pkg opt and tcl::idna} -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -311,7 +305,7 @@ test safe-stock87-9.13 {interpConfigure change the access path; pkgIndex.tcl pac
1 {* not found in access path} -- 1 1 --\
{TCLLIB TCLLIB/OPTDIR TCLLIB/JARDIR*} -- {TCLLIB*}}
-test safe-stock87-18.1 {cf. safe-stock87-7.1opt - tests that everything works at high level without conventional AutoPathSync, use pkg opt} -constraints AutoSyncDefined -setup {
+test safe-stock-18.1 {cf. safe-stock-7.1opt - tests that everything works at high level without conventional AutoPathSync, use pkg opt} -constraints AutoSyncDefined -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -320,7 +314,7 @@ test safe-stock87-18.1 {cf. safe-stock87-7.1opt - tests that everything works at
error {This test is meaningful only if the command ::safe::setSyncMode is defined}
}
# Without AutoPathSync, we need a more complete auto_path,
- # because the slave will use the same value.
+ # because the child will use the same value.
set lib1 [info library]
set lib2 [file dirname $lib1]
set ::auto_TMP $::auto_path
@@ -331,7 +325,7 @@ test safe-stock87-18.1 {cf. safe-stock87-7.1opt - tests that everything works at
} -body {
# no error shall occur:
# (because the default access_path shall include 1st level sub dirs so
- # package require in a slave works like in the master)
+ # package require in a child works like in the parent)
set v [interp eval $i {package require opt}]
# no error shall occur:
interp eval $i {::tcl::Lempty {a list}}
@@ -342,7 +336,7 @@ test safe-stock87-18.1 {cf. safe-stock87-7.1opt - tests that everything works at
safe::setSyncMode $SyncVal_TMP
}
} -match glob -result 0.4.*
-test safe-stock87-18.2 {cf. safe-stock87-7.2opt - tests specific path and interpFind/AddToAccessPath without conventional AutoPathSync, use pkg opt} -constraints AutoSyncDefined -setup {
+test safe-stock-18.2 {cf. safe-stock-7.2opt - tests specific path and interpFind/AddToAccessPath without conventional AutoPathSync, use pkg opt} -constraints AutoSyncDefined -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -357,7 +351,7 @@ test safe-stock87-18.2 {cf. safe-stock87-7.2opt - tests specific path and interp
interp eval $i {set ::auto_path [list {$p(:0:)}]}
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i "/dummy/unixlike/test/path"]
# an error shall occur (opt is not anymore in the secure 0-level
# provided deep path)
@@ -372,7 +366,7 @@ test safe-stock87-18.2 {cf. safe-stock87-7.2opt - tests specific path and interp
} -match glob -result "{} {\$p(:0:)} {\$p(:*:)} 1 {$pkgOptErrMsg}\
{-accessPath {[list $tcl_library */dummy/unixlike/test/path]}\
-statics 0 -nested 1 -deleteHook {} -autoPath {}} {}"
-test safe-stock87-18.4 {cf. safe-stock87-7.4opt - tests specific path and positive search and auto_path without conventional AutoPathSync, use pkg opt} -constraints AutoSyncDefined -setup {
+test safe-stock-18.4 {cf. safe-stock-7.4opt - tests specific path and positive search and auto_path without conventional AutoPathSync, use pkg opt} -constraints AutoSyncDefined -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -392,13 +386,13 @@ test safe-stock87-18.4 {cf. safe-stock87-7.4opt - tests specific path and positi
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i [file join [info library] $pkgOptDir]]
# should not have been changed by Safe Base:
set auto2 [interp eval $i {set ::auto_path}]
- # This time, unlike test safe-stock87-18.2opt and the try above, opt should be found:
+ # This time, unlike test safe-stock-18.2opt and the try above, opt should be found:
list $auto1 $auto2 $token1 $token2 \
[catch {interp eval $i {package require opt}} msg] $msg \
[safe::interpConfigure $i]\
@@ -410,7 +404,7 @@ test safe-stock87-18.4 {cf. safe-stock87-7.4opt - tests specific path and positi
} -match glob -result "{} {{\$p(:0:)}} {\$p(:0:)} {\$p(:*:)} 0 0.4.*\
{-accessPath {[list $tcl_library *$tcl_library/$pkgOptDir]}\
-statics 0 -nested 1 -deleteHook {} -autoPath {}} {}"
-test safe-stock87-18.5 {cf. safe-stock87-7.5 - tests positive and negative module loading without conventional AutoPathSync} -setup {
+test safe-stock-18.5 {cf. safe-stock-7.5 - tests positive and negative module loading without conventional AutoPathSync} -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
diff --git a/tests/safe-zipfs.test b/tests/safe-zipfs.test
index bc29147..3781e01 100644
--- a/tests/safe-zipfs.test
+++ b/tests/safe-zipfs.test
@@ -7,8 +7,8 @@
# Sourcing this file into tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1995-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -16,11 +16,11 @@
package require Tcl 8.5-
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
-foreach i [interp slaves] {
+foreach i [interp children] {
interp delete $i
}
@@ -62,7 +62,7 @@ testConstraint AutoSyncDefined 1
# Tests 5.* test the example files before using them to test safe interpreters.
-test safe-zipfs-5.1 {example tclIndex commands, test in master interpreter; zipfs} -setup {
+test safe-zipfs-5.1 {example tclIndex commands, test in parent interpreter; zipfs} -setup {
set tmpAutoPath $::auto_path
lappend ::auto_path [file join $ZipMountPoint auto0 auto1] [file join $ZipMountPoint auto0 auto2]
} -body {
@@ -76,7 +76,7 @@ test safe-zipfs-5.1 {example tclIndex commands, test in master interpreter; zipf
set ::auto_path $tmpAutoPath
auto_reset
} -match glob -result {0 ok1 0 ok2}
-test safe-zipfs-5.2 {example tclIndex commands, negative test in master interpreter; zipfs} -setup {
+test safe-zipfs-5.2 {example tclIndex commands, negative test in parent interpreter; zipfs} -setup {
set tmpAutoPath $::auto_path
lappend ::auto_path [file join $ZipMountPoint auto0]
} -body {
@@ -90,7 +90,7 @@ test safe-zipfs-5.2 {example tclIndex commands, negative test in master interpre
set ::auto_path $tmpAutoPath
auto_reset
} -match glob -result {1 {invalid command name "report1"} 1 {invalid command name "report2"}}
-test safe-zipfs-5.3 {example pkgIndex.tcl packages, test in master interpreter, child directories; zipfs} -setup {
+test safe-zipfs-5.3 {example pkgIndex.tcl packages, test in parent interpreter, child directories; zipfs} -setup {
set tmpAutoPath $::auto_path
lappend ::auto_path [file join $ZipMountPoint auto0]
} -body {
@@ -107,7 +107,7 @@ test safe-zipfs-5.3 {example pkgIndex.tcl packages, test in master interpreter,
catch {rename HeresPackage1 {}}
catch {rename HeresPackage2 {}}
} -match glob -result {0 1.2.3 0 2.3.4 0 OK1 0 OK2}
-test safe-zipfs-5.4 {example pkgIndex.tcl packages, test in master interpreter, main directories; zipfs} -setup {
+test safe-zipfs-5.4 {example pkgIndex.tcl packages, test in parent interpreter, main directories; zipfs} -setup {
set tmpAutoPath $::auto_path
lappend ::auto_path [file join $ZipMountPoint auto0 auto1] \
[file join $ZipMountPoint auto0 auto2]
@@ -125,7 +125,7 @@ test safe-zipfs-5.4 {example pkgIndex.tcl packages, test in master interpreter,
catch {rename HeresPackage1 {}}
catch {rename HeresPackage2 {}}
} -match glob -result {0 1.2.3 0 2.3.4 0 OK1 0 OK2}
-test safe-zipfs-5.5 {example modules packages, test in master interpreter, replace path; zipfs} -setup {
+test safe-zipfs-5.5 {example modules packages, test in parent interpreter, replace path; zipfs} -setup {
set oldTm [tcl::tm::path list]
foreach path $oldTm {
tcl::tm::path remove $path
@@ -151,7 +151,7 @@ test safe-zipfs-5.5 {example modules packages, test in master interpreter, repla
catch {namespace delete ::test0}
catch {namespace delete ::mod1}
} -match glob -result {0 0.5 0 1.0 0 2.0 -- res0 res1 res2}
-test safe-zipfs-5.6 {example modules packages, test in master interpreter, append to path; zipfs} -setup {
+test safe-zipfs-5.6 {example modules packages, test in parent interpreter, append to path; zipfs} -setup {
tcl::tm::path add [file join $ZipMountPoint auto0 modules]
} -body {
# Try to load the modules and run a command from each one.
@@ -186,7 +186,7 @@ test safe-zipfs-7.1 {tests that everything works at high level with conventional
} -body {
# no error shall occur:
# (because the default access_path shall include 1st level sub dirs so
- # package require in a slave works like in the master)
+ # package require in a child works like in the parent)
set v [interp eval $i {package require SafeTestPackage1}]
# no error shall occur:
interp eval $i {HeresPackage1}
@@ -209,9 +209,9 @@ test safe-zipfs-7.2 {tests specific path and interpFind/AddToAccessPath with con
set i [safe::interpCreate -nostat -nested 1 -accessPath [list [info library]]]
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i "/dummy/unixlike/test/path"]
- # should add as p* (not p2 if master has a module path)
+ # should add as p* (not p2 if parent has a module path)
set token3 [safe::interpAddToAccessPath $i [file join $ZipMountPoint auto0]]
set confA [safe::interpConfigure $i]
set mappA [mapList $PathMapp [dict get $confA -accessPath]]
@@ -239,7 +239,7 @@ test safe-zipfs-7.4 {tests specific path and positive search with conventional A
set i [safe::interpCreate -nostat -nested 1 -accessPath [list [info library]]]
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i [file join $ZipMountPoint auto0 auto1]]
set confA [safe::interpConfigure $i]
set mappA [mapList $PathMapp [dict get $confA -accessPath]]
@@ -356,7 +356,7 @@ test safe-zipfs-9.11 {interpConfigure change the access path; pkgIndex.tcl packa
safe::setSyncMode 1
}
} -body {
- # For complete correspondence to safe-stock87-9.11, include auto0 in access path.
+ # For complete correspondence to safe-stock-9.11, include auto0 in access path.
set i [safe::interpCreate -accessPath [list $tcl_library \
[file join $ZipMountPoint auto0] \
[file join $ZipMountPoint auto0 auto1] \
@@ -535,8 +535,8 @@ test safe-zipfs-9.20 {check module loading, with conventional AutoPathSync; zipf
0 0.5 0 1.0 0 2.0 --\
{TCLLIB ZIPDIR/auto0/modules ZIPDIR/auto0/modules/mod1\
ZIPDIR/auto0/modules/mod2} -- res0 res1 res2}
-# - The command safe::InterpSetConfig adds the master's [tcl::tm::list] in
-# tokenized form to the slave's access path, and then adds all the
+# - The command safe::InterpSetConfig adds the parent's [tcl::tm::list] in
+# tokenized form to the child's access path, and then adds all the
# descendants, discovered recursively by using glob.
# - The order of the directories in the list returned by glob is system-dependent,
# and therefore this is true also for (a) the order of token assignment to
@@ -834,7 +834,7 @@ test safe-zipfs-18.1 {cf. safe-zipfs-7.1 - tests that everything works at high l
error {This test is meaningful only if the command ::safe::setSyncMode is defined}
}
# Without AutoPathSync, we need a more complete auto_path,
- # because the slave will use the same value.
+ # because the child will use the same value.
set lib1 [info library]
set lib2 [file join $ZipMountPoint auto0]
set ::auto_TMP $::auto_path
@@ -845,7 +845,7 @@ test safe-zipfs-18.1 {cf. safe-zipfs-7.1 - tests that everything works at high l
} -body {
# no error shall occur:
# (because the default access_path shall include 1st level sub dirs so
- # package require in a slave works like in the master)
+ # package require in a child works like in the parent)
set v [interp eval $i {package require SafeTestPackage1}]
# no error shall occur:
interp eval $i HeresPackage1
@@ -870,9 +870,9 @@ test safe-zipfs-18.2 {cf. safe-zipfs-7.2 - tests specific path and interpFind/Ad
interp eval $i {set ::auto_path [list {$p(:0:)}]}
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i "/dummy/unixlike/test/path"]
- # should add as p* (not p2 if master has a module path)
+ # should add as p* (not p2 if parent has a module path)
set token3 [safe::interpAddToAccessPath $i [file join $ZipMountPoint auto0]]
# an error shall occur (SafeTestPackage1 is not anymore in the secure 0-level
# provided deep path)
@@ -910,10 +910,10 @@ test safe-zipfs-18.4 {cf. safe-zipfs-7.4 - tests specific path and positive sear
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i [file join $ZipMountPoint auto0]]
- # should add as p* (not p2 if master has a module path)
+ # should add as p* (not p2 if parent has a module path)
set token3 [safe::interpAddToAccessPath $i [file join $ZipMountPoint auto0 auto1]]
# should not have been changed by Safe Base:
diff --git a/tests/safe.test b/tests/safe.test
index e3ff7f5..18a3bb5 100644
--- a/tests/safe.test
+++ b/tests/safe.test
@@ -12,22 +12,20 @@
# - Tests 5.* test the example packages themselves before they
# are used to test Safe Base interpreters.
# - Alternative tests using stock packages of Tcl 8.7 are in file
-# safe-stock87.test.
+# safe-stock.test.
#
-# Copyright (c) 1995-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require Tcl 8.5-
-
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
-foreach i [interp slaves] {
+foreach i [interp children] {
interp delete $i
}
@@ -36,9 +34,9 @@ set ::auto_path [info library]
set TestsDir [file normalize [file dirname [info script]]]
set PathMapp [list $tcl_library TCLLIB $TestsDir TESTSDIR]
-proc getAutoPath {slave} {
- set ap1 [lrange [lindex [safe::interpConfigure $slave -autoPath] 1] 0 end]
- set ap2 [::safe::DetokPath $slave [interp eval $slave set ::auto_path]]
+proc getAutoPath {child} {
+ set ap1 [lrange [lindex [safe::interpConfigure $child -autoPath] 1] 0 end]
+ set ap2 [::safe::DetokPath $child [interp eval $child set ::auto_path]]
list $ap1 -- $ap2
}
proc mapList {map listIn} {
@@ -70,8 +68,8 @@ testConstraint AutoSyncDefined 1
test safe-1.1 {safe::interpConfigure syntax} -returnCodes error -body {
safe::interpConfigure
-} -result {no value given for parameter "slave" (use -help for full usage) :
- slave name () name of the slave}
+} -result {no value given for parameter "child" (use -help for full usage) :
+ child name () name of the child}
test safe-1.2 {safe::interpCreate syntax, Sync Mode on} -returnCodes error -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
@@ -90,8 +88,8 @@ test safe-1.2 {safe::interpCreate syntax, Sync Mode on} -returnCodes error -setu
Var/FlagName Type Value Help
------------ ---- ----- ----
(-help gives this help)
- ?slave? name () name of the slave (optional)
- -accessPath list () access path for the slave
+ ?child? name () name of the child (optional)
+ -accessPath list () access path for the child
-noStatics boolflag (false) prevent loading of statically linked pkgs
-statics boolean (true) loading of statically linked pkgs
-nestedLoadOk boolflag (false) allow nested loading
@@ -115,18 +113,18 @@ test safe-1.2.1 {safe::interpCreate syntax, Sync Mode off} -returnCodes error -c
Var/FlagName Type Value Help
------------ ---- ----- ----
(-help gives this help)
- ?slave? name () name of the slave (optional)
- -accessPath list () access path for the slave
+ ?child? name () name of the child (optional)
+ -accessPath list () access path for the child
-noStatics boolflag (false) prevent loading of statically linked pkgs
-statics boolean (true) loading of statically linked pkgs
-nestedLoadOk boolflag (false) allow nested loading
-nested boolean (false) nested loading
-deleteHook script () delete hook
- -autoPath list () ::auto_path for the slave}
+ -autoPath list () ::auto_path for the child}
test safe-1.3 {safe::interpInit syntax} -returnCodes error -body {
safe::interpInit -noStatics
} -result {bad value "-noStatics" for parameter
- slave name () name of the slave}
+ child name () name of the child}
### 2. Aliases in a new "interp create" interpreter.
@@ -225,10 +223,10 @@ test safe-4.6 {safe::interpDelete, indirectly} -setup {
} -result ""
### 5. Test the example files before using them to test safe interpreters.
-### The old test "safe-5.1" has been moved to "safe-stock86-9.8".
+### The old test "safe-5.1" has been moved to "safe-stock-9.8".
### A replacement test using example files is "safe-9.8".
-test safe-5.1 {example tclIndex commands, test in master interpreter} -setup {
+test safe-5.1 {example tclIndex commands, test in parent interpreter} -setup {
set tmpAutoPath $::auto_path
lappend ::auto_path [file join $TestsDir auto0 auto1] [file join $TestsDir auto0 auto2]
} -body {
@@ -242,7 +240,7 @@ test safe-5.1 {example tclIndex commands, test in master interpreter} -setup {
set ::auto_path $tmpAutoPath
auto_reset
} -match glob -result {0 ok1 0 ok2}
-test safe-5.2 {example tclIndex commands, negative test in master interpreter} -setup {
+test safe-5.2 {example tclIndex commands, negative test in parent interpreter} -setup {
set tmpAutoPath $::auto_path
lappend ::auto_path [file join $TestsDir auto0]
} -body {
@@ -256,7 +254,7 @@ test safe-5.2 {example tclIndex commands, negative test in master interpreter} -
set ::auto_path $tmpAutoPath
auto_reset
} -match glob -result {1 {invalid command name "report1"} 1 {invalid command name "report2"}}
-test safe-5.3 {example pkgIndex.tcl packages, test in master interpreter, child directories} -setup {
+test safe-5.3 {example pkgIndex.tcl packages, test in parent interpreter, child directories} -setup {
set tmpAutoPath $::auto_path
lappend ::auto_path [file join $TestsDir auto0]
} -body {
@@ -273,7 +271,7 @@ test safe-5.3 {example pkgIndex.tcl packages, test in master interpreter, child
catch {rename HeresPackage1 {}}
catch {rename HeresPackage2 {}}
} -match glob -result {0 1.2.3 0 2.3.4 0 OK1 0 OK2}
-test safe-5.4 {example pkgIndex.tcl packages, test in master interpreter, main directories} -setup {
+test safe-5.4 {example pkgIndex.tcl packages, test in parent interpreter, main directories} -setup {
set tmpAutoPath $::auto_path
lappend ::auto_path [file join $TestsDir auto0 auto1] \
[file join $TestsDir auto0 auto2]
@@ -291,7 +289,7 @@ test safe-5.4 {example pkgIndex.tcl packages, test in master interpreter, main d
catch {rename HeresPackage1 {}}
catch {rename HeresPackage2 {}}
} -match glob -result {0 1.2.3 0 2.3.4 0 OK1 0 OK2}
-test safe-5.5 {example modules packages, test in master interpreter, replace path} -setup {
+test safe-5.5 {example modules packages, test in parent interpreter, replace path} -setup {
set oldTm [tcl::tm::path list]
foreach path $oldTm {
tcl::tm::path remove $path
@@ -317,7 +315,7 @@ test safe-5.5 {example modules packages, test in master interpreter, replace pat
catch {namespace delete ::test0}
catch {namespace delete ::mod1}
} -match glob -result {0 0.5 0 1.0 0 2.0 -- res0 res1 res2}
-test safe-5.6 {example modules packages, test in master interpreter, append to path} -setup {
+test safe-5.6 {example modules packages, test in parent interpreter, append to path} -setup {
tcl::tm::path add [file join $TestsDir auto0 modules]
} -body {
# Try to load the modules and run a command from each one.
@@ -385,7 +383,7 @@ test safe-7.1 {positive non-module package require, Sync Mode on} -setup {
} -body {
# no error shall occur:
# (because the default access_path shall include 1st level sub dirs so
- # package require in a slave works like in the master)
+ # package require in a child works like in the parent)
set v [interp eval $i {package require SafeTestPackage1}]
# no error shall occur:
interp eval $i {HeresPackage1}
@@ -408,9 +406,9 @@ test safe-7.2 {negative non-module package require with specific path and interp
set i [safe::interpCreate -nostat -nested 1 -accessPath [list [info library]]]
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i "/dummy/unixlike/test/path"]
- # should add as p* (not p2 if master has a module path)
+ # should add as p* (not p2 if parent has a module path)
set token3 [safe::interpAddToAccessPath $i [file join $TestsDir auto0]]
set confA [safe::interpConfigure $i]
set mappA [mapList $PathMapp [dict get $confA -accessPath]]
@@ -426,7 +424,7 @@ test safe-7.2 {negative non-module package require with specific path and interp
1 {can't find package SafeTestPackage1} --\
{TCLLIB */dummy/unixlike/test/path TESTSDIR/auto0} -- {}}
test safe-7.3 {check that safe subinterpreters work} {
- set g [interp slaves]
+ set g [interp children]
if {$g ne {}} {
append g { -- residue of an earlier test}
}
@@ -441,7 +439,7 @@ test safe-7.3 {check that safe subinterpreters work} {
} {{} {} ok {} 0 {}}
test safe-7.3.1 {check that safe subinterpreters work with namespace names} -setup {
} -body {
- set g [interp slaves]
+ set g [interp children]
if {$g ne {}} {
append g { -- residue of an earlier test}
}
@@ -468,7 +466,7 @@ test safe-7.4 {positive non-module package require with specific path and interp
set i [safe::interpCreate -nostat -nested 1 -accessPath [list [info library]]]
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i [file join $TestsDir auto0 auto1]]
set confA [safe::interpConfigure $i]
set mappA [mapList $PathMapp [dict get $confA -accessPath]]
@@ -547,7 +545,7 @@ test safe-8.3 {safe source control on file} -setup {
safe::interpDelete $i
rename safe-test-log {}
unset i log
-} -result {1 {permission denied} {{ERROR for slave a : ".": is a directory}}}
+} -result {1 {permission denied} {{ERROR for child a : ".": is a directory}}}
test safe-8.4 {safe source control on file} -setup {
set i "a"
catch {safe::interpDelete $i}
@@ -563,7 +561,7 @@ test safe-8.4 {safe source control on file} -setup {
safe::interpDelete $i
rename safe-test-log {}
unset i log
-} -result {1 {permission denied} {{ERROR for slave a : "/abc/def": not in access_path}}}
+} -result {1 {permission denied} {{ERROR for child a : "/abc/def": not in access_path}}}
test safe-8.5 {safe source control on file} -setup {
set i "a"
catch {safe::interpDelete $i}
@@ -583,7 +581,7 @@ test safe-8.5 {safe source control on file} -setup {
safe::interpDelete $i
rename safe-test-log {}
unset i log
-} -result [list 1 {no such file or directory} [list "ERROR for slave a : [file join [info library] blah]:no such file or directory"]]
+} -result [list 1 {no such file or directory} [list "ERROR for child a : [file join [info library] blah]:no such file or directory"]]
test safe-8.6 {safe source control on file} -setup {
set i "a"
catch {safe::interpDelete $i}
@@ -601,7 +599,7 @@ test safe-8.6 {safe source control on file} -setup {
safe::interpDelete $i
rename safe-test-log {}
unset i log
-} -result [list 1 {no such file or directory} [list "ERROR for slave a : [file join [info library] blah.tcl]:no such file or directory"]]
+} -result [list 1 {no such file or directory} [list "ERROR for child a : [file join [info library] blah.tcl]:no such file or directory"]]
test safe-8.7 {safe source control on file} -setup {
set i "a"
catch {safe::interpDelete $i}
@@ -621,7 +619,7 @@ test safe-8.7 {safe source control on file} -setup {
safe::interpDelete $i
rename safe-test-log {}
unset i log
-} -result [list 1 {no such file or directory} [list "ERROR for slave a : [file join [info library] xxxxxxxxxxx.tcl]:no such file or directory"]]
+} -result [list 1 {no such file or directory} [list "ERROR for child a : [file join [info library] xxxxxxxxxxx.tcl]:no such file or directory"]]
test safe-8.8 {safe source forbids -rsrc} emptyTest {
# Disabled this test. It was only useful for long unsupported
# Mac OS 9 systems. [Bug 860a9f1945]
@@ -702,7 +700,7 @@ test safe-9.2 {safe interps' error in deleteHook} -setup {
catch {rename testDelHook {}}
rename safe-test-log {}
unset i log res
-} -result {{} {arg1 arg2 a} {{NOTICE for slave a : About to delete} {ERROR for slave a : Delete hook error (being catched)} {NOTICE for slave a : Deleted}}}
+} -result {{} {arg1 arg2 a} {{NOTICE for child a : About to delete} {ERROR for child a : Delete hook error (being catched)} {NOTICE for child a : Deleted}}}
test safe-9.3 {dual specification of statics} -returnCodes error -body {
safe::interpCreate -stat true -nostat
} -result {conflicting values given for -statics and -noStatics}
@@ -1069,8 +1067,8 @@ test safe-9.20 {check module loading, Sync Mode on} -setup {
0 0.5 0 1.0 0 2.0 --\
{TCLLIB TESTSDIR/auto0/modules TESTSDIR/auto0/modules/mod1\
TESTSDIR/auto0/modules/mod2} -- res0 res1 res2}
-# - The command safe::InterpSetConfig adds the master's [tcl::tm::list] in
-# tokenized form to the slave's access path, and then adds all the
+# - The command safe::InterpSetConfig adds the parent's [tcl::tm::list] in
+# tokenized form to the child's access path, and then adds all the
# descendants, discovered recursively by using glob.
# - The order of the directories in the list returned by glob is system-dependent,
# and therefore this is true also for (a) the order of token assignment to
@@ -1720,7 +1718,7 @@ rename buildEnvironment2 {}
### 14. Sanity checks on paths - module path, access path, auto_path.
-test safe-14.1 {Check that module path is the same as in the master interpreter [Bug 2964715]} -setup {
+test safe-14.1 {Check that module path is the same as in the parent interpreter [Bug 2964715]} -setup {
set i [safe::interpCreate]
} -body {
set tm {}
@@ -1731,7 +1729,7 @@ test safe-14.1 {Check that module path is the same as in the master interpreter
} -cleanup {
safe::interpDelete $i
} -result [::tcl::tm::path list]
-test safe-14.2 {Check that first element of slave auto_path (and access path) is Tcl Library, Sync Mode on} -setup {
+test safe-14.2 {Check that first element of child auto_path (and access path) is Tcl Library, Sync Mode on} -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -1757,7 +1755,7 @@ test safe-14.2 {Check that first element of slave auto_path (and access path) is
safe::setSyncMode $SyncVal_TMP
}
} -result [list [info library] [info library]]
-test safe-14.2.1 {Check that first element of slave auto_path (and access path) is Tcl Library, Sync Mode off} -constraints AutoSyncDefined -setup {
+test safe-14.2.1 {Check that first element of child auto_path (and access path) is Tcl Library, Sync Mode off} -constraints AutoSyncDefined -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -1786,7 +1784,7 @@ test safe-14.2.1 {Check that first element of slave auto_path (and access path)
safe::setSyncMode $SyncVal_TMP
}
} -result [list [info library] [info library] [info library]]
-test safe-14.3 {Check that first element of slave auto_path (and access path) is Tcl Library, even if not true for master, Sync Mode on} -setup {
+test safe-14.3 {Check that first element of child auto_path (and access path) is Tcl Library, even if not true for parent, Sync Mode on} -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -1797,7 +1795,7 @@ test safe-14.3 {Check that first element of slave auto_path (and access path) is
set lib2 [file dirname $lib1]
set ::auto_TMP $::auto_path
set ::auto_path [list $lib2 $lib1]
- # Unexpected order, should be reversed in the slave
+ # Unexpected order, should be reversed in the child
set i [safe::interpCreate]
} -body {
@@ -1814,7 +1812,7 @@ test safe-14.3 {Check that first element of slave auto_path (and access path) is
safe::setSyncMode $SyncVal_TMP
}
} -result [list [info library] [info library]]
-test safe-14.3.1 {Check that first element of slave auto_path (and access path) is Tcl Library, even if not true for master, Sync Mode off} -constraints AutoSyncDefined -setup {
+test safe-14.3.1 {Check that first element of child auto_path (and access path) is Tcl Library, even if not true for parent, Sync Mode off} -constraints AutoSyncDefined -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -1827,7 +1825,7 @@ test safe-14.3.1 {Check that first element of slave auto_path (and access path)
set lib2 [file dirname $lib1]
set ::auto_TMP $::auto_path
set ::auto_path [list $lib2 $lib1]
- # Unexpected order, should be reversed in the slave
+ # Unexpected order, should be reversed in the child
set i [safe::interpCreate]
} -body {
@@ -1996,7 +1994,7 @@ test safe-17.1 {cf. safe-7.1 - positive non-module package require, Sync Mode of
error {This test is meaningful only if the command ::safe::setSyncMode is defined}
}
# Without AutoPathSync, we need a more complete auto_path,
- # because the slave will use the same value.
+ # because the child will use the same value.
set lib1 [info library]
set lib2 [file join $TestsDir auto0]
set ::auto_TMP $::auto_path
@@ -2007,7 +2005,7 @@ test safe-17.1 {cf. safe-7.1 - positive non-module package require, Sync Mode of
} -body {
# no error shall occur:
# (because the default access_path shall include 1st level sub dirs so
- # package require in a slave works like in the master)
+ # package require in a child works like in the parent)
set v [interp eval $i {package require SafeTestPackage1}]
# no error shall occur:
interp eval $i HeresPackage1
@@ -2034,9 +2032,9 @@ test safe-17.2 {cf. safe-7.2 - negative non-module package require with specific
interp eval $i {set ::auto_path [list {$p(:0:)}]}
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i "/dummy/unixlike/test/path"]
- # should add as p* (not p2 if master has a module path)
+ # should add as p* (not p2 if parent has a module path)
set token3 [safe::interpAddToAccessPath $i [file join $TestsDir auto0]]
# an error shall occur (SafeTestPackage1 is not in auto0 but a subdirectory)
list $auto1 $token1 $token2 $token3 \
@@ -2054,7 +2052,7 @@ test safe-17.2 {cf. safe-7.2 - negative non-module package require with specific
$TestsDir/auto0]}\
-statics 0 -nested 1 -deleteHook {} -autoPath {}} {}"
# (not a counterpart of safe-7.3)
-test safe-17.3 {Check that default auto_path is the same as in the master interpreter, Sync Mode off} -constraints AutoSyncDefined -setup {
+test safe-17.3 {Check that default auto_path is the same as in the parent interpreter, Sync Mode off} -constraints AutoSyncDefined -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -2097,10 +2095,10 @@ test safe-17.4 {cf. safe-7.4 - positive non-module package require with specific
# should not add anything (p0)
set token1 [safe::interpAddToAccessPath $i [info library]]
- # should add as p* (not p1 if master has a module path)
+ # should add as p* (not p1 if parent has a module path)
set token2 [safe::interpAddToAccessPath $i [file join $TestsDir auto0]]
- # should add as p* (not p2 if master has a module path)
+ # should add as p* (not p2 if parent has a module path)
set token3 [safe::interpAddToAccessPath $i [file join $TestsDir auto0 auto1]]
# should not have been changed by Safe Base:
@@ -2149,7 +2147,7 @@ test safe-17.5 {cf. safe-7.5 - positive and negative module package require, inc
}
} -result {1 {can't find package test1} 0}
-### 18. Test tokenization of directories available to a slave.
+### 18. Test tokenization of directories available to a child.
test safe-18.1 {Check that each directory of the default auto_path is a valid token, Sync Mode on} -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
@@ -2611,7 +2609,7 @@ test safe-19.14 {when interpConfigure changes the access path, ::auto_path uses
error {This test is meaningful only if the command ::safe::setSyncMode is defined}
}
} -body {
- # Test that although -autoPath is unchanged, the slave's ::auto_path changes to
+ # Test that although -autoPath is unchanged, the child's ::auto_path changes to
# reflect the changes in token mappings.
set i [safe::interpCreate -accessPath [list $tcl_library \
[file join $TestsDir auto0] \
@@ -2675,9 +2673,9 @@ test safe-19.15 {when interpConfigure changes the access path, ::auto_path uses
error {This test is meaningful only if the command ::safe::setSyncMode is defined}
}
} -body {
- # Test that although -autoPath is unchanged, the slave's ::auto_path changes to
+ # Test that although -autoPath is unchanged, the child's ::auto_path changes to
# reflect the changes in token mappings; and that it is based on the -autoPath
- # value, not the previously restricted slave ::auto_path.
+ # value, not the previously restricted child ::auto_path.
set i [safe::interpCreate -accessPath [list $tcl_library \
[file join $TestsDir auto0]] \
-autoPath [list $tcl_library \
@@ -2741,7 +2739,7 @@ test safe-19.16 {default value for -accessPath and -autoPath on creation; -autoP
set i [safe::interpCreate]
set ::auto_path $tmpAutoPath
} -body {
- # Test that the -autoPath acquires and keeps the master's value unless otherwise specified.
+ # Test that the -autoPath acquires and keeps the parent's value unless otherwise specified.
# Inspect.
set confA [safe::interpConfigure $i]
@@ -3124,7 +3122,7 @@ test safe-19.24 {interpConfigure change the access path; check module loading, S
set ::auto_path [list $tcl_library [file dirname $tcl_library] [file join $TestsDir auto0]]
-test safe-20.1 "create -accessPath NULL -autoPath NULL -> master's ::auto_path" -constraints AutoSyncDefined -setup {
+test safe-20.1 "create -accessPath NULL -autoPath NULL -> parent's ::auto_path" -constraints AutoSyncDefined -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -3141,7 +3139,7 @@ test safe-20.1 "create -accessPath NULL -autoPath NULL -> master's ::auto_path"
safe::setSyncMode $SyncVal_TMP
}
} -result [list $::auto_path -- $::auto_path]
-test safe-20.2 "create -accessPath {} -autoPath NULL -> master's ::auto_path" -constraints AutoSyncDefined -setup {
+test safe-20.2 "create -accessPath {} -autoPath NULL -> parent's ::auto_path" -constraints AutoSyncDefined -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
@@ -3349,7 +3347,7 @@ test safe-21.1 "interpConfigure -accessPath NULL -autoPath NULL -> no change" -c
safe::setSyncMode $SyncVal_TMP
}
} -result [list [lrange $::auto_path 0 0] -- [lrange $::auto_path 0 0]]
-test safe-21.2 "interpConfigure -accessPath {} -autoPath NULL -> master's ::auto_path" -constraints AutoSyncDefined -setup {
+test safe-21.2 "interpConfigure -accessPath {} -autoPath NULL -> parent's ::auto_path" -constraints AutoSyncDefined -setup {
set SyncExists [expr {[info commands ::safe::setSyncMode] ne {}}]
if {$SyncExists} {
set SyncVal_TMP [safe::setSyncMode]
diff --git a/tests/scan.test b/tests/scan.test
index eaeaa49..c125080 100644
--- a/tests/scan.test
+++ b/tests/scan.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1994 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1994 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/security.test b/tests/security.test
index eeabc9c..6aa7ccb 100644
--- a/tests/security.test
+++ b/tests/security.test
@@ -6,12 +6,12 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
# All rights reserved.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/set-old.test b/tests/set-old.test
index e098d66..052bd23 100644
--- a/tests/set-old.test
+++ b/tests/set-old.test
@@ -6,15 +6,15 @@
# into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/set.test b/tests/set.test
index 2efa268..8372530 100644
--- a/tests/set.test
+++ b/tests/set.test
@@ -4,14 +4,14 @@
# 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) 1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/socket.test b/tests/socket.test
index 66a1bf1..3372ffa 100644
--- a/tests/socket.test
+++ b/tests/socket.test
@@ -4,8 +4,8 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-2000 Ajuba Solutions.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-2000 Ajuba Solutions.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -61,7 +61,7 @@
# using the remote server are not performed.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -69,14 +69,19 @@ if {"::tcltest" ni [namespace children]} {
catch [list package require -exact Tcltest [info patchlevel]]
::tcltest::loadTestedCommands
-if {[expr {[info exists ::env(TRAVIS_OSX_IMAGE)] && [string match xcode* $::env(TRAVIS_OSX_IMAGE)]}]} {
+# A bad interaction between socket creation, macOS, and unattended CI
+# environments make this whole file impractical to run; too many weird hangs.
+if {[info exists ::env(MAC_CI)]} {
return
}
+testConstraint notWine [expr {![info exists ::env(CI_USING_WINE)]}]
# Some tests require the Thread package or exec command
testConstraint thread [expr {0 == [catch {package require Thread 2.7-}]}]
testConstraint exec [llength [info commands exec]]
-testConstraint knownMsvcBug [expr {![info exists ::env(TRAVIS_OS_NAME)] || ![string match windows $::env(TRAVIS_OS_NAME)]}]
+testConstraint knownMsvcBug [expr {![info exists ::env(CI_BUILD_WITH_MSVC)]}]
+testConstraint notWinCI [expr {
+ $tcl_platform(platform) ne "windows" || ![info exists ::env(CI)]}]
# Produce a random port number in the Dynamic/Private range
# from 49152 through 65535.
@@ -248,7 +253,7 @@ if {$doTestsWithRemoteServer} {
# Some tests are run only if we are doing testing against a remote server.
testConstraint doTestsWithRemoteServer $doTestsWithRemoteServer
if {!$doTestsWithRemoteServer} {
- if {[string first s $::tcltest::verbose] != -1} {
+ if {[string first s $::tcltest::verbose] >= 0} {
puts "Skipping tests with remote server. See tests/socket.test for"
puts "information on how to run remote server."
puts "Reason for not doing remote tests: $noRemoteTestReason"
@@ -734,7 +739,7 @@ test socket_$af-2.12 {} [list socket stdio supported_$af] {
close $f
set ::done
} 0
-test socket_$af-2.13 {Bug 1758a0b603} {socket stdio} {
+test socket_$af-2.13 {Bug 1758a0b603} {socket stdio notWine} {
file delete $path(script)
set f [open $path(script) w]
puts $f {
@@ -968,7 +973,7 @@ test socket_$af-6.1 {accept callback error} -constraints [list socket supported_
}
close $f
set f [open "|[list [interpreter] $path(script)]" r+]
- proc accept {s a p} {expr 10 / 0}
+ proc accept {s a p} {expr {10 / 0}}
set s [socket -server accept -myaddr $localhost 0]
puts $f [lindex [fconfigure $s -sockname] 2]
close $f
@@ -1543,7 +1548,7 @@ test socket_$af-11.11 {testing spurious events} -setup {
after cancel $timer
sendCommand {close $server}
} -result {0 2690 1}
-test socket_$af-11.12 {testing EOF stickyness} -constraints [list socket supported_$af doTestsWithRemoteServer] -setup {
+test socket_$af-11.12 {testing EOF stickyness} -constraints [list socket supported_$af doTestsWithRemoteServer notWine] -setup {
set counter 0
set done 0
set port [sendCommand {
@@ -1867,12 +1872,12 @@ proc transf_test {{testmode transfer} {maxIter 1000} {maxTime 10000}} {
}
}
tcltest::DebugPuts 1 "== test \[$::localhost\]:$port $testmode =="
- set ::master [thread::id]
- # helper thread creating async connection and initiating transfer (detach) to master:
+ set ::parent [thread::id]
+ # helper thread creating async connection and initiating transfer (detach) to parent:
set ::helper [thread::create]
thread::send -async $::helper [list \
- lassign [list $::master $::localhost $port $testmode] \
- ::master ::localhost ::port ::testmode
+ lassign [list $::parent $::localhost $port $testmode] \
+ ::parent ::localhost ::port ::testmode
]
thread::send -async $::helper {
set ::helper [thread::id]
@@ -1881,29 +1886,29 @@ proc transf_test {{testmode transfer} {maxIter 1000} {maxTime 10000}} {
if {"helper-writable" in $::testmode} {;# to test both sides during connect
fileevent $fd writable [list apply {{fd} {
if {[thread::id] ne $::helper} {
- thread::send -async $::master {set ::count "ERROR: invalid thread, $::helper is expecting"}
+ thread::send -async $::parent {set ::count "ERROR: invalid thread, $::helper is expecting"}
close $fd
return
}
}} $fd]
};#
thread::detach $fd
- thread::send -async $::master [list transf_master $fd {*}$args]
+ thread::send -async $::parent [list transf_parent $fd {*}$args]
}
iteration first
}
- # master proc commiting transfer attempt (attach) and checking acquire was successful:
- proc transf_master {fd args} {
+ # parent proc commiting transfer attempt (attach) and checking acquire was successful:
+ proc transf_parent {fd args} {
tcltest::DebugPuts 1 "** trma / $::count ** $args **"
thread::attach $fd
- if {"master-close" in $::testmode} {;# to test close during connect
+ if {"parent-close" in $::testmode} {;# to test close during connect
set ::count $::count
close $fd
return
};#
fileevent $fd writable [list apply {{fd} {
- if {[thread::id] ne $::master} {
- thread::send -async $::master {set ::count "ERROR: invalid thread, $::master is expecting"}
+ if {[thread::id] ne $::parent} {
+ thread::send -async $::parent {set ::count "ERROR: invalid thread, $::parent is expecting"}
close $fd
return
}
@@ -1931,7 +1936,7 @@ proc transf_test {{testmode transfer} {maxIter 1000} {maxTime 10000}} {
if {$srvsock ne {}} {close $srvsock}
if {[info exists ::helper]} {thread::release -wait $::helper}
tcltest::DebugPuts 1 "== stop / $::count =="
- unset -nocomplain ::count ::testmode ::master ::helper
+ unset -nocomplain ::count ::testmode ::parent ::helper
}
}
test socket_$af-13.2.tr1 {Testing socket transfer between threads during async connect} -body {
@@ -1941,12 +1946,12 @@ test socket_$af-13.2.tr2 {Testing socket transfer between threads during async c
transf_test {transfer helper-writable} 100
} -result 100 -constraints [list socket supported_$af thread]
test socket_$af-13.2.cl1 {Testing socket transfer between threads during async connect} -body {
- transf_test {master-close} 100
+ transf_test {parent-close} 100
} -result 100 -constraints [list socket supported_$af thread]
test socket_$af-13.2.cl2 {Testing socket transfer between threads during async connect} -body {
- transf_test {master-close helper-writable} 100
+ transf_test {parent-close helper-writable} 100
} -result 100 -constraints [list socket supported_$af thread]
-catch {rename transf_master {}}
+catch {rename transf_parent {}}
rename transf_test {}
# ----------------------------------------------------------------------
@@ -2101,7 +2106,7 @@ test socket-14.4 {[socket -async] and both, readdable and writable fileevents} \
} -result {{} bye}
# FIXME: we should also have an IPv6 counterpart of this
test socket-14.5 {[socket -async] which fails before any connect() can be made} \
- -constraints {socket supported_inet} \
+ -constraints {socket supported_inet notWine} \
-body {
# address from rfc5737
socket -async -myaddr 192.0.2.42 127.0.0.1 [randport]
@@ -2389,7 +2394,7 @@ test socket-14.10.1 {pending [socket -async] and nonblocking [puts], server is I
removeFile script
} -result {{} ok}
test socket-14.11.0 {pending [socket -async] and nonblocking [puts], no listener, no flush} \
- -constraints {socket knownMsvcBug} \
+ -constraints {socket notWinCI} \
-body {
set sock [socket -async localhost [randport]]
fconfigure $sock -blocking 0
@@ -2436,7 +2441,7 @@ test socket-14.12 {[socket -async] background progress triggered by [fconfigure
} -result {connection refused}
test socket-14.13 {testing writable event when quick failure} \
- -constraints {socket win supported_inet} \
+ -constraints {socket win supported_inet notWine} \
-body {
# Test for bug 336441ed59 where a quick background fail was ignored
@@ -2520,7 +2525,7 @@ test socket-14.18 {bug c6ed4acfd8: running async socket connect made other conne
} -result {}
test socket-14.19 {tip 456 -- introduce the -reuseport option} \
- -constraints {socket} \
+ -constraints {socket notWine} \
-body {
proc accept {channel address port} {}
set port [randport]
diff --git a/tests/source.test b/tests/source.test
index c6cccd6..47f1486 100644
--- a/tests/source.test
+++ b/tests/source.test
@@ -4,9 +4,9 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-2000 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-2000 Scriptics Corporation.
# Contributions from Don Porter, NIST, 2003. (not subject to US copyright)
#
# See the file "license.terms" for information on usage and redistribution
diff --git a/tests/split.test b/tests/split.test
index 3ca328b..74879cf 100644
--- a/tests/split.test
+++ b/tests/split.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/stack.test b/tests/stack.test
index 4c50f74..461e8d3 100644
--- a/tests/stack.test
+++ b/tests/stack.test
@@ -4,13 +4,15 @@
# 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) 1998-2000 Ajuba Solutions.
+# Copyright © 1998-2000 Ajuba Solutions.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
# Note that a failure in this test may result in a crash of the executable.
diff --git a/tests/string.test b/tests/string.test
index e42da8e..6c957cf 100644
--- a/tests/string.test
+++ b/tests/string.test
@@ -4,16 +4,16 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
-# Copyright (c) 2001 by Kevin B. Kenny. All rights reserved.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright © 2001 Kevin B. Kenny. All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -88,7 +88,7 @@ test stringComp-1.3.$noComp {error condition - undefined method during compile}
foo abc 0
} a
-test string-2.1.$noComp {string compare, too few args} {
+test string-2.1.$noComp {string compare, not enough args} {
list [catch {run {string compare a}} msg] $msg
} {1 {wrong # args: should be "string compare ?-nocase? ?-length int? string1 string2"}}
test string-2.2.$noComp {string compare, bad args} {
@@ -131,11 +131,11 @@ test string-2.11.3.$noComp {string compare, unicode} {
run {string compare \334\334\334\374\374 \334\334\334\334\334}
} 1
test string-2.12.$noComp {string compare, high bit} {
- # This test will fail if the underlying comparaison
+ # This test will fail if the underlying comparison
# is using signed chars instead of unsigned chars.
# (like SunOS's default memcmp thus the compat/memcmp.c)
run {string compare "\x80" "@"}
- # Nb this tests works also in utf8 space because \x80 is
+ # Nb this tests works also in utf-8 space because \x80 is
# translated into a 2 or more bytelength but whose first byte has
# the high bit set.
} 1
@@ -251,7 +251,7 @@ test string-3.7.$noComp {string equal -nocase} {
test string-3.8.$noComp {string equal with length, unequal strings} {
run {string equal -length 2 abc abde}
} 1
-test string-3.9.$noComp {string equal, too few args} {
+test string-3.9.$noComp {string equal, not enough args} {
list [catch {run {string equal a}} msg] $msg
} {1 {wrong # args: should be "string equal ?-nocase? ?-length int? string1 string2"}}
test string-3.10.$noComp {string equal, bad args} {
@@ -366,7 +366,7 @@ test string-3.42.$noComp {string equal, binary neq inequal length} {
} 0
-test string-4.1.$noComp {string first, too few args} {
+test string-4.1.$noComp {string first, not enough args} {
list [catch {run {string first a}} msg] $msg
} {1 {wrong # args: should be "string first needleString haystackString ?startIndex?"}}
test string-4.2.$noComp {string first, bad args} {
@@ -520,10 +520,10 @@ proc largest_int {} {
return [expr {$int-1}]
}
-test string-6.1.$noComp {string is, too few args} {
+test string-6.1.$noComp {string is, not enough args} {
list [catch {run {string is}} msg] $msg
} {1 {wrong # args: should be "string is class ?-strict? ?-failindex var? str"}}
-test string-6.2.$noComp {string is, too few args} {
+test string-6.2.$noComp {string is, not enough args} {
list [catch {run {string is alpha}} msg] $msg
} {1 {wrong # args: should be "string is class ?-strict? ?-failindex var? str"}}
test string-6.3.$noComp {string is, bad args} {
@@ -973,7 +973,7 @@ test string-6.131.$noComp {string is entier, false on bad hex} {
catch {rename largest_int {}}
-test string-7.1.$noComp {string last, too few args} {
+test string-7.1.$noComp {string last, not enough args} {
list [catch {run {string last a}} msg] $msg
} {1 {wrong # args: should be "string last needleString haystackString ?lastIndex?"}}
test string-7.2.$noComp {string last, bad args} {
@@ -1059,7 +1059,7 @@ test string-9.7.$noComp {string length, bytearray object} {
run {string length [binary format I* {0x50515253 0x52}]}
} 8
-test string-10.1.$noComp {string map, too few args} {
+test string-10.1.$noComp {string map, not enough args} {
list [catch {run {string map}} msg] $msg
} {1 {wrong # args: should be "string map ?-nocase? charMap string"}}
test string-10.2.$noComp {string map, bad args} {
@@ -1159,7 +1159,7 @@ test string-10.31.$noComp {string map, nasty sharing crash from [Bug 1018562]} {
run {string map $a $a}
} {b b}
-test string-11.1.$noComp {string match, too few args} {
+test string-11.1.$noComp {string match, not enough args} {
list [catch {run {string match a}} msg] $msg
} {1 {wrong # args: should be "string match ?-nocase? pattern string"}}
test string-11.2.$noComp {string match, too many args} {
@@ -1506,6 +1506,20 @@ test string-12.22.$noComp {string range, shimmering binary/index} {
test string-12.23.$noComp {string range, surrogates, bug [11ae2be95dac9417]} utf16 {
run {list [string range a\U100000b 1 1] [string range a\U100000b 2 2] [string range a\U100000b 3 3]}
} [list \U100000 {} b]
+test string-12.24.$noComp {bignum index arithmetic} -setup {
+ proc demo {i j} {string range fubar $i $j}
+} -cleanup {
+ rename demo {}
+} -body {
+ demo 2 0+0x10000000000000000
+} -result bar
+test string-12.25.$noComp {bignum index arithmetic} -setup {
+ proc demo {i j} {string range fubar $i $j}
+} -cleanup {
+ rename demo {}
+} -body {
+ demo 0x10000000000000000-0xffffffffffffffff 3
+} -result uba
test string-13.1.$noComp {string repeat} {
list [catch {run {string repeat}} msg] $msg
@@ -1651,8 +1665,11 @@ test stringComp-14.24.$noComp {Bug 1af8de570511} {
test stringComp-14.25.$noComp {} {
string length [string replace [string repeat a\xFE 2] 3 end {}]
} 3
+test stringComp-14.26.$noComp {} {
+ run {string replace abcd 0x10000000000000000-0xffffffffffffffff 2 e}
+} aed
-test string-15.1.$noComp {string tolower too few args} {
+test string-15.1.$noComp {string tolower not enough args} {
list [catch {run {string tolower}} msg] $msg
} {1 {wrong # args: should be "string tolower string ?first? ?last?"}}
test string-15.2.$noComp {string tolower bad args} {
@@ -2103,7 +2120,7 @@ test string-25.14.$noComp {string is list} {
list [run {string is list -failindex x "\uABCD {b c}d e"}] $x
} {0 2}
-test string-26.1.$noComp {tcl::prefix, too few args} -body {
+test string-26.1.$noComp {tcl::prefix, not enough args} -body {
tcl::prefix match a
} -returnCodes 1 -result {wrong # args: should be "tcl::prefix match ?options? table string"}
test string-26.2.$noComp {tcl::prefix, bad args} -body {
@@ -2230,7 +2247,7 @@ test string-26.13.$noComp {tcl::prefix: testing for leaks} -body {
}
} -constraints memory -result {0}
-test string-27.1.$noComp {tcl::prefix all, too few args} -body {
+test string-27.1.$noComp {tcl::prefix all, not enough args} -body {
tcl::prefix all a
} -returnCodes 1 -result {wrong # args: should be "tcl::prefix all table string"}
test string-27.2.$noComp {tcl::prefix all, bad args} -body {
@@ -2261,7 +2278,7 @@ test string-27.10.$noComp {tcl::prefix all} {
tcl::prefix all {apa aska appa} {}
} {apa aska appa}
-test string-28.1.$noComp {tcl::prefix longest, too few args} -body {
+test string-28.1.$noComp {tcl::prefix longest, not enough args} -body {
tcl::prefix longest a
} -returnCodes 1 -result {wrong # args: should be "tcl::prefix longest table string"}
test string-28.2.$noComp {tcl::prefix longest, bad args} -body {
@@ -2298,7 +2315,7 @@ test string-28.12.$noComp {tcl::prefix longest} {
tcl::prefix longest {apa {} appa} {}
} {}
test string-28.13.$noComp {tcl::prefix longest} {
- # Test UTF8 handling
+ # Test utf-8 handling
tcl::prefix longest {ax\x90 bep ax\x91} a
} ax
@@ -2460,6 +2477,13 @@ test string-31.24.$noComp {string insert, string end, pure Uni, both shared} {
test string-31.25.$noComp {string insert, neither byte array nor Unicode} {
run {tcl::string::insert [makeList a b c] 1 zzzzzz}
} {azzzzzz b c}
+test string-31.26.$noComp {[11229bad5f] string insert, compiler} -setup {
+ set i 2
+} -body {
+ run {tcl::string::insert abcd $i xyz}
+} -cleanup {
+ unset i
+} -result abxyzcd
test string-32.1.$noComp {string is dict} {
string is dict {a b c d}
diff --git a/tests/stringObj.test b/tests/stringObj.test
index 85aff72..04ae1a9 100644
--- a/tests/stringObj.test
+++ b/tests/stringObj.test
@@ -6,14 +6,14 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1995-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -29,8 +29,8 @@ testConstraint nodep [info exists tcl_precision]
test stringObj-1.1 {string type registration} testobj {
set t [testobj types]
set first [string first "string" $t]
- set result [expr {$first != -1}]
-} {1}
+ set result [expr {$first >= 0}]
+} 1
test stringObj-2.1 {Tcl_NewStringObj} testobj {
set result ""
diff --git a/tests/subst.test b/tests/subst.test
index 0d0614d..0503a45 100644
--- a/tests/subst.test
+++ b/tests/subst.test
@@ -4,15 +4,15 @@
# 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) 1994 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-2000 Ajuba Solutions.
+# Copyright © 1994 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-2000 Ajuba Solutions.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.1
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
::tcltest::loadTestedCommands
@@ -132,20 +132,20 @@ test subst-7.3 {switches} -returnCodes error -body {
} -result {bad option "-bogus": must be -nobackslashes, -nocommands, or -novariables}
test subst-7.4 {switches} {
set x 123
- subst -nobackslashes {abc $x [expr 1+2] \\\x41}
+ subst -nobackslashes {abc $x [expr {1 + 2}] \\\x41}
} {abc 123 3 \\\x41}
test subst-7.5 {switches} {
set x 123
- subst -nocommands {abc $x [expr 1+2] \\\x41}
-} {abc 123 [expr 1+2] \A}
+ subst -nocommands {abc $x [expr {1 + 2}] \\\x41}
+} {abc 123 [expr {1 + 2}] \A}
test subst-7.6 {switches} {
set x 123
- subst -novariables {abc $x [expr 1+2] \\\x41}
+ subst -novariables {abc $x [expr {1 + 2}] \\\x41}
} {abc $x 3 \A}
test subst-7.7 {switches} {
set x 123
- subst -nov -nob -noc {abc $x [expr 1+2] \\\x41}
-} {abc $x [expr 1+2] \\\x41}
+ subst -nov -nob -noc {abc $x [expr {1 + 2}] \\\x41}
+} {abc $x [expr {1 + 2}] \\\x41}
test subst-8.1 {return in a subst} {
subst {foo [return {x}; bogus code] bar}
@@ -282,18 +282,18 @@ test subst-13.1 {Bug 3081065} -setup {
demo name2
} subst13.tcl]
} -body {
- interp create slave
- slave eval [list source $script]
- interp delete slave
- interp create slave
- slave eval {
+ interp create child
+ child eval [list source $script]
+ interp delete child
+ interp create child
+ child eval {
set count 400
while {[incr count -1]} {
lappend bloat [expr {rand()}]
}
}
- slave eval [list source $script]
- interp delete slave
+ child eval [list source $script]
+ interp delete child
} -cleanup {
removeFile subst13.tcl
}
diff --git a/tests/switch.test b/tests/switch.test
index 4d204bb..2fce108 100644
--- a/tests/switch.test
+++ b/tests/switch.test
@@ -4,15 +4,15 @@
# 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) 1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/tailcall.test b/tests/tailcall.test
index a7829b0..4846d39 100644
--- a/tests/tailcall.test
+++ b/tests/tailcall.test
@@ -4,13 +4,13 @@
# found in ::tcl::unsupported. The tests will migrate to normal test files
# if/when the commands find their way into the core.
#
-# Copyright (c) 2008 by Miguel Sofer.
+# Copyright © 2008 Miguel Sofer.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/tcltest.test b/tests/tcltest.test
index c856209..93bad33 100644
--- a/tests/tcltest.test
+++ b/tests/tcltest.test
@@ -2,8 +2,8 @@
# 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) 1998-1999 by Scriptics Corporation.
-# Copyright (c) 2000 by Ajuba Solutions
+# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright © 2000 Ajuba Solutions
# All rights reserved.
# Note that there are several places where the value of
@@ -13,13 +13,13 @@
# testing to run the test itself. Ditto on things like [verbose].
#
# It would be better to have the -body of the tests run the tcltest
-# commands in a slave interp so the [test] being tested would not
+# commands in a child interp so the [test] being tested would not
# interfere with the [test] doing the testing.
#
-if {[catch {package require tcltest 2.1}]} {
- puts stderr "Skipping tests in [info script]. tcltest 2.1 required."
- return
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
}
namespace eval ::tcltest::test {
@@ -27,7 +27,7 @@ namespace eval ::tcltest::test {
namespace import ::tcltest::*
makeFile {
- package require tcltest
+ package require tcltest 2.5
namespace import ::tcltest::test
test a-1.0 {test a} {
list 0
@@ -63,11 +63,11 @@ test tcltest-1.3 {tcltest -h} {exec} {
} {1 0}
# -verbose, implicit & explicit testing of [verbose]
-proc slave {msgVar args} {
+proc child {msgVar args} {
upvar 1 $msgVar msg
interp create [namespace current]::i
- # Fake the slave interp into dumping output to a file
+ # Fake the child interp into dumping output to a file
i eval {namespace eval ::tcltest {}}
i eval "set tcltest::outputChannel\
\[[list open [set of [makeFile {} output]] w]]"
@@ -99,44 +99,44 @@ proc slave {msgVar args} {
return $code
}
test tcltest-2.0 {tcltest (verbose default - 'b')} {unixOrWin} {
- set result [slave msg test.tcl]
+ set result [child msg test.tcl]
list $result [regexp "Contents of test case" $msg] [regexp a-1.0 $msg] \
[regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+1.+Failed.+2" $msg]
} {0 1 0 0 1}
test tcltest-2.1 {tcltest -verbose 'b'} {unixOrWin} {
- set result [slave msg test.tcl -verbose 'b']
+ set result [child msg test.tcl -verbose 'b']
list $result [regexp "Contents of test case" $msg] [regexp a-1.0 $msg] \
[regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+1.+Failed.+2" $msg]
} {0 1 0 0 1}
test tcltest-2.2 {tcltest -verbose 'p'} {unixOrWin} {
- set result [slave msg test.tcl -verbose 'p']
+ set result [child msg test.tcl -verbose 'p']
list $result [regexp "Contents of test case" $msg] [regexp a-1.0 $msg] \
[regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+1.+Failed.+2" $msg]
} {0 0 1 0 1}
test tcltest-2.3 {tcltest -verbose 's'} {unixOrWin} {
- set result [slave msg test.tcl -verbose 's']
+ set result [child msg test.tcl -verbose 's']
list $result [regexp "Contents of test case" $msg] [regexp a-1.0 $msg] \
[regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+1.+Failed.+2" $msg]
} {0 0 0 1 1}
test tcltest-2.4 {tcltest -verbose 'ps'} {unixOrWin} {
- set result [slave msg test.tcl -verbose 'ps']
+ set result [child msg test.tcl -verbose 'ps']
list $result [regexp "Contents of test case" $msg] [regexp a-1.0 $msg] \
[regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+1.+Failed.+2" $msg]
} {0 0 1 1 1}
test tcltest-2.5 {tcltest -verbose 'psb'} {unixOrWin} {
- set result [slave msg test.tcl -verbose 'psb']
+ set result [child msg test.tcl -verbose 'psb']
list $result [regexp "Contents of test case" $msg] [regexp a-1.0 $msg] \
[regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+1.+Failed.+2" $msg]
} {0 1 1 1 1}
test tcltest-2.5a {tcltest -verbose 'pass skip body'} {unixOrWin} {
- set result [slave msg test.tcl -verbose "pass skip body"]
+ set result [child msg test.tcl -verbose "pass skip body"]
list $result [regexp "Contents of test case" $msg] [regexp a-1.0 $msg] \
[regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+1.+Failed.+2" $msg]
@@ -145,7 +145,7 @@ test tcltest-2.5a {tcltest -verbose 'pass skip body'} {unixOrWin} {
test tcltest-2.6 {tcltest -verbose 't'} {
-constraints {unixOrWin}
-body {
- set result [slave msg test.tcl -verbose 't']
+ set result [child msg test.tcl -verbose 't']
list $result $msg
}
-result {^0 .*a-1.0 start.*b-1.0 start}
@@ -155,7 +155,7 @@ test tcltest-2.6 {tcltest -verbose 't'} {
test tcltest-2.6a {tcltest -verbose 'start'} {
-constraints {unixOrWin}
-body {
- set result [slave msg test.tcl -verbose start]
+ set result [child msg test.tcl -verbose start]
list $result $msg
}
-result {^0 .*a-1.0 start.*b-1.0 start}
@@ -178,7 +178,7 @@ test tcltest-2.7 {tcltest::verbose} {
test tcltest-2.8 {tcltest -verbose 'error'} {
-constraints {unixOrWin}
-body {
- set result [slave msg test.tcl -verbose error]
+ set result [child msg test.tcl -verbose error]
list $result $msg
}
-result {errorInfo: foo.*errorCode: 9}
@@ -186,22 +186,22 @@ test tcltest-2.8 {tcltest -verbose 'error'} {
}
# -match, [match]
test tcltest-3.1 {tcltest -match 'a*'} {unixOrWin} {
- set result [slave msg test.tcl -match a* -verbose 'ps']
+ set result [child msg test.tcl -match a* -verbose 'ps']
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+3.+Failed.+0" $msg]
} {0 1 0 0 1}
test tcltest-3.2 {tcltest -match 'b*'} {unixOrWin} {
- set result [slave msg test.tcl -match b* -verbose 'ps']
+ set result [child msg test.tcl -match b* -verbose 'ps']
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+0.+Skipped.+3.+Failed.+1" $msg]
} {0 0 1 0 1}
test tcltest-3.3 {tcltest -match 'c*'} {unixOrWin} {
- set result [slave msg test.tcl -match c* -verbose 'ps']
+ set result [child msg test.tcl -match c* -verbose 'ps']
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+0.+Skipped.+4.+Failed.+0" $msg]
} {0 0 0 1 1}
test tcltest-3.4 {tcltest -match 'a* b*'} {unixOrWin} {
- set result [slave msg test.tcl -match {a* b*} -verbose 'ps']
+ set result [child msg test.tcl -match {a* b*} -verbose 'ps']
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+2.+Failed.+1" $msg]
} {0 1 1 0 1}
@@ -221,27 +221,27 @@ test tcltest-3.5 {tcltest::match} {
# -skip, [skip]
test tcltest-4.1 {tcltest -skip 'a*'} {unixOrWin} {
- set result [slave msg test.tcl -skip a* -verbose 'ps']
+ set result [child msg test.tcl -skip a* -verbose 'ps']
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+0.+Skipped.+2.+Failed.+1" $msg]
} {0 0 1 1 1}
test tcltest-4.2 {tcltest -skip 'b*'} {unixOrWin} {
- set result [slave msg test.tcl -skip b* -verbose 'ps']
+ set result [child msg test.tcl -skip b* -verbose 'ps']
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+2.+Failed.+1" $msg]
} {0 1 0 1 1}
test tcltest-4.3 {tcltest -skip 'c*'} {unixOrWin} {
- set result [slave msg test.tcl -skip c* -verbose 'ps']
+ set result [child msg test.tcl -skip c* -verbose 'ps']
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+1.+Failed.+2" $msg]
} {0 1 1 0 1}
test tcltest-4.4 {tcltest -skip 'a* b*'} {unixOrWin} {
- set result [slave msg test.tcl -skip {a* b*} -verbose 'ps']
+ set result [child msg test.tcl -skip {a* b*} -verbose 'ps']
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+0.+Skipped.+3.+Failed.+1" $msg]
} {0 0 0 1 1}
test tcltest-4.5 {tcltest -match 'a* b*' -skip 'b*'} {unixOrWin} {
- set result [slave msg test.tcl -match {a* b*} -skip b* -verbose 'ps']
+ set result [child msg test.tcl -match {a* b*} -skip b* -verbose 'ps']
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+3.+Failed.+0" $msg]
} {0 1 0 0 1}
@@ -262,12 +262,12 @@ test tcltest-4.6 {tcltest::skip} {
# -constraints, -limitconstraints, [testConstraint],
# $constraintsSpecified, [limitConstraints]
test tcltest-5.1 {tcltest -constraints 'knownBug'} {unixOrWin} {
- set result [slave msg test.tcl -constraints knownBug -verbose 'ps']
+ set result [child msg test.tcl -constraints knownBug -verbose 'ps']
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+2.+Skipped.+0.+Failed.+2" $msg]
} {0 1 1 1 1}
test tcltest-5.2 {tcltest -constraints 'knownBug' -limitconstraints 1} {unixOrWin} {
- set result [slave msg test.tcl -constraints knownBug -verbose 'p' -limitconstraints 1]
+ set result [child msg test.tcl -constraints knownBug -verbose 'p' -limitconstraints 1]
list $result [regexp a-1.0 $msg] [regexp b-1.0 $msg] [regexp c-1.0 $msg] \
[regexp "Total.+4.+Passed.+1.+Skipped.+3.+Failed.+0" $msg]
} {0 0 0 1 1}
@@ -340,7 +340,7 @@ test tcltest-5.5 {InitConstraints: list of built-in constraints} \
# -outfile, -errfile, [outputChannel], [outputFile], [errorChannel], [errorFile]
set printerror [makeFile {
- package require tcltest
+ package require tcltest 2.5
namespace import ::tcltest::*
puts [outputChannel] "a test"
::tcltest::PrintError "a really short string"
@@ -357,28 +357,28 @@ set printerror [makeFile {
test tcltest-6.1 {tcltest -outfile, -errfile defaults} {
-constraints unixOrWin
-body {
- slave msg $printerror
+ child msg $printerror
return $msg
}
-result {a test.*a really}
-match regexp
}
test tcltest-6.2 {tcltest -outfile a.tmp} {unixOrWin unixExecs} {
- slave msg $printerror -outfile a.tmp
+ child msg $printerror -outfile a.tmp
set result1 [catch {exec grep "a test" a.tmp}]
set result2 [catch {exec grep "a really" a.tmp}]
list [regexp "a test" $msg] [regexp "a really" $msg] \
$result1 $result2 [file exists a.tmp] [file delete a.tmp]
} {0 1 0 1 1 {}}
test tcltest-6.3 {tcltest -errfile a.tmp} {unixOrWin unixExecs} {
- slave msg $printerror -errfile a.tmp
+ child msg $printerror -errfile a.tmp
set result1 [catch {exec grep "a test" a.tmp}]
set result2 [catch {exec grep "a really" a.tmp}]
list [regexp "a test" $msg] [regexp "a really" $msg] \
$result1 $result2 [file exists a.tmp] [file delete a.tmp]
} {1 0 1 0 1 {}}
test tcltest-6.4 {tcltest -outfile a.tmp -errfile b.tmp} {unixOrWin unixExecs} {
- slave msg $printerror -outfile a.tmp -errfile b.tmp
+ child msg $printerror -outfile a.tmp -errfile b.tmp
set result1 [catch {exec grep "a test" a.tmp}]
set result2 [catch {exec grep "a really" b.tmp}]
list [regexp "a test" $msg] [regexp "a really" $msg] \
@@ -463,7 +463,7 @@ test tcltest-6.8 {tcltest::outputFile (implicit outputFile)} {
# -debug, [debug]
# Must use child processes to test -debug because it always writes
# messages to stdout, and we have no way to capture stdout of a
-# slave interp
+# child interp
test tcltest-7.1 {tcltest test.tcl -debug 0} {unixOrWin} {
catch {exec [interpreter] test.tcl -debug 0} msg
regexp "Flags passed into tcltest" $msg
@@ -510,7 +510,7 @@ removeFile test.tcl
# directory tests
set a [makeFile {
- package require tcltest
+ package require tcltest 2.5
tcltest::makeFile {} a.tmp
puts [tcltest::outputChannel] "testdir: [tcltest::testsDirectory]"
exit
@@ -525,7 +525,7 @@ normalizePath normaldirectory
test tcltest-8.1 {tcltest a.tcl -tmpdir a} -constraints unixOrWin -setup {
file delete -force thisdirectorydoesnotexist
} -body {
- slave msg $a -tmpdir thisdirectorydoesnotexist
+ child msg $a -tmpdir thisdirectorydoesnotexist
file exists [file join thisdirectorydoesnotexist a.tmp]
} -cleanup {
file delete -force thisdirectorydoesnotexist
@@ -533,7 +533,7 @@ test tcltest-8.1 {tcltest a.tcl -tmpdir a} -constraints unixOrWin -setup {
test tcltest-8.2 {tcltest a.tcl -tmpdir thisdirectoryisafile} {
-constraints unixOrWin
-body {
- slave msg $a -tmpdir $tdiaf
+ child msg $a -tmpdir $tdiaf
return $msg
}
-result {*not a directory*}
@@ -558,7 +558,7 @@ switch -- $::tcl_platform(platform) {
test tcltest-8.3 {tcltest a.tcl -tmpdir notReadableDir} {
-constraints {unix notRoot}
-body {
- slave msg $a -tmpdir $notReadableDir
+ child msg $a -tmpdir $notReadableDir
return $msg
}
-result {*not readable*}
@@ -574,7 +574,7 @@ testConstraint notFAT [expr {
test tcltest-8.4 {tcltest a.tcl -tmpdir notWriteableDir} {
-constraints {unixOrWin notRoot notFAT}
-body {
- slave msg $a -tmpdir $notWriteableDir
+ child msg $a -tmpdir $notWriteableDir
return $msg
}
-result {*not writeable*}
@@ -583,7 +583,7 @@ test tcltest-8.4 {tcltest a.tcl -tmpdir notWriteableDir} {
test tcltest-8.5 {tcltest a.tcl -tmpdir normaldirectory} {
-constraints unixOrWin
-body {
- slave msg $a -tmpdir $normaldirectory
+ child msg $a -tmpdir $normaldirectory
# The join is necessary because the message can be split on multiple
# lines
file exists [file join $normaldirectory a.tmp]
@@ -629,7 +629,7 @@ test tcltest-8.10 {tcltest a.tcl -testdir thisdirectorydoesnotexist} {
file delete -force thisdirectorydoesnotexist
}
-body {
- slave msg $a -testdir thisdirectorydoesnotexist
+ child msg $a -testdir thisdirectorydoesnotexist
return $msg
}
-match glob
@@ -638,7 +638,7 @@ test tcltest-8.10 {tcltest a.tcl -testdir thisdirectorydoesnotexist} {
test tcltest-8.11 {tcltest a.tcl -testdir thisdirectoryisafile} {
-constraints unixOrWin
-body {
- slave msg $a -testdir $tdiaf
+ child msg $a -testdir $tdiaf
return $msg
}
-match glob
@@ -647,7 +647,7 @@ test tcltest-8.11 {tcltest a.tcl -testdir thisdirectoryisafile} {
test tcltest-8.12 {tcltest a.tcl -testdir notReadableDir} {
-constraints {unix notRoot}
-body {
- slave msg $a -testdir $notReadableDir
+ child msg $a -testdir $notReadableDir
return $msg
}
-match glob
@@ -656,7 +656,7 @@ test tcltest-8.12 {tcltest a.tcl -testdir notReadableDir} {
test tcltest-8.13 {tcltest a.tcl -testdir normaldirectory} {
-constraints unixOrWin
-body {
- slave msg $a -testdir $normaldirectory
+ child msg $a -testdir $normaldirectory
# The join is necessary because the message can be split on multiple
# lines
list [string first "testdir: $normaldirectory" [join $msg]] \
@@ -735,7 +735,7 @@ test tcltest-9.1 {-file d*.tcl} -constraints {unixOrWin} -setup {
set old [testsDirectory]
testsDirectory [file dirname [info script]]
} -body {
- slave msg [file join [testsDirectory] all.tcl] -file d*.test
+ child msg [file join [testsDirectory] all.tcl] -file d*.test
return $msg
} -cleanup {
testsDirectory $old
@@ -745,7 +745,7 @@ test tcltest-9.2 {-file d*.tcl} -constraints {unixOrWin} -setup {
set old [testsDirectory]
testsDirectory [file dirname [info script]]
} -body {
- slave msg [file join [testsDirectory] all.tcl] \
+ child msg [file join [testsDirectory] all.tcl] \
-file d*.test -notfile dstring*
regexp {dstring\.test} $msg
} -cleanup {
@@ -784,7 +784,7 @@ test tcltest-9.5 {GetMatchingFiles: Bug 1119798} -setup {
makeFile {} fee $d
file copy [file join [file dirname [info script]] all.tcl] $d
} -body {
- slave msg [file join [temporaryDirectory] all.tcl] -file f*
+ child msg [file join [temporaryDirectory] all.tcl] -file f*
regexp {exiting with errors:} $msg
} -cleanup {
file delete [file join $d all.tcl]
@@ -795,7 +795,7 @@ test tcltest-9.5 {GetMatchingFiles: Bug 1119798} -setup {
# -preservecore, [preserveCore]
set mc [makeFile {
- package require tcltest
+ package require tcltest 2.5
namespace import ::tcltest::test
test makecore {make a core file} {
set f [open core w]
@@ -807,23 +807,23 @@ set mc [makeFile {
cd [temporaryDirectory]
test tcltest-10.1 {-preservecore 0} {unixOrWin} {
- slave msg $mc -preservecore 0
+ child msg $mc -preservecore 0
file delete core
regexp "Core file produced" $msg
} {0}
test tcltest-10.2 {-preservecore 1} {unixOrWin} {
- slave msg $mc -preservecore 1
+ child msg $mc -preservecore 1
file delete core
regexp "Core file produced" $msg
} {1}
test tcltest-10.3 {-preservecore 2} {unixOrWin} {
- slave msg $mc -preservecore 2
+ child msg $mc -preservecore 2
file delete core
list [regexp "Core file produced" $msg] [regexp "Moving file to" $msg] \
[regexp "core-" $msg] [file delete core-makecore]
} {1 1 1 {}}
test tcltest-10.4 {-preservecore 3} {unixOrWin} {
- slave msg $mc -preservecore 3
+ child msg $mc -preservecore 3
file delete core
list [regexp "Core file produced" $msg] [regexp "Moving file to" $msg] \
[regexp "core-" $msg] [file delete core-makecore]
@@ -846,7 +846,7 @@ removeFile makecore.tcl
# -load, -loadfile, [loadScript], [loadFile]
set contents {
- package require tcltest
+ package require tcltest 2.5
namespace import tcltest::*
puts [outputChannel] $::tcltest::loadScript
exit
@@ -854,7 +854,7 @@ set contents {
set loadfile [makeFile $contents load.tcl]
test tcltest-12.1 {-load xxx} {unixOrWin} {
- slave msg $loadfile -load xxx
+ child msg $loadfile -load xxx
return $msg
} {xxx}
@@ -942,7 +942,7 @@ makeFile {
} single2.test $spd
set allfile [makeFile {
- package require tcltest
+ package require tcltest 2.5
namespace import tcltest::*
testsDirectory [file join [temporaryDirectory] singleprocdir]
runAllTests
@@ -952,7 +952,7 @@ cd [workingDirectory]
test tcltest-14.1 {-singleproc - single process} {
-constraints {unixOrWin}
-body {
- slave msg $allfile -singleproc 0 -tmpdir [temporaryDirectory]
+ child msg $allfile -singleproc 0 -tmpdir [temporaryDirectory]
return $msg
}
-result {Test file error: can't unset .foo.: no such variable}
@@ -962,7 +962,7 @@ test tcltest-14.1 {-singleproc - single process} {
test tcltest-14.2 {-singleproc - multiple process} {
-constraints {unixOrWin}
-body {
- slave msg $allfile -singleproc 1 -tmpdir [temporaryDirectory]
+ child msg $allfile -singleproc 1 -tmpdir [temporaryDirectory]
return $msg
}
-result {single1.test.*single2.test.*all\-single.tcl:.*Total.*0.*Passed.*0.*Skipped.*0.*Failed.*0}
@@ -999,25 +999,25 @@ set dtd1 [makeDirectory dirtestdir2.1 $dtd]
set dtd2 [makeDirectory dirtestdir2.2 $dtd]
set dtd3 [makeDirectory dirtestdir2.3 $dtd]
makeFile {
- package require tcltest
+ package require tcltest 2.5
namespace import -force tcltest::*
testsDirectory [file join [temporaryDirectory] dirtestdir]
runAllTests
} all.tcl $dtd
makeFile {
- package require tcltest
+ package require tcltest 2.5
namespace import -force tcltest::*
testsDirectory [file join [temporaryDirectory] dirtestdir dirtestdir2.1]
runAllTests
} all.tcl $dtd1
makeFile {
- package require tcltest
+ package require tcltest 2.5
namespace import -force tcltest::*
testsDirectory [file join [temporaryDirectory] dirtestdir dirtestdir2.2]
runAllTests
} all.tcl $dtd2
makeFile {
- package require tcltest
+ package require tcltest 2.5
namespace import -force tcltest::*
testsDirectory [file join [temporaryDirectory] dirtestdir dirtestdir2.3]
runAllTests
@@ -1026,7 +1026,7 @@ makeFile {
test tcltest-15.1 {basic directory walking} {
-constraints {unixOrWin}
-body {
- if {[slave msg \
+ if {[child msg \
[file join $dtd all.tcl] \
-tmpdir [temporaryDirectory]] == 1} {
error $msg
@@ -1040,7 +1040,7 @@ test tcltest-15.1 {basic directory walking} {
test tcltest-15.2 {-asidefromdir} {
-constraints {unixOrWin}
-body {
- if {[slave msg \
+ if {[child msg \
[file join $dtd all.tcl] \
-asidefromdir dirtestdir2.3 \
-tmpdir [temporaryDirectory]] == 1} {
@@ -1058,7 +1058,7 @@ Error: No test files remain after applying your match and skip patterns!$}
test tcltest-15.3 {-relateddir, non-existent dir} {
-constraints {unixOrWin}
-body {
- if {[slave msg \
+ if {[child msg \
[file join $dtd all.tcl] \
-relateddir [file join [temporaryDirectory] dirtestdir0] \
-tmpdir [temporaryDirectory]] == 1} {
@@ -1073,7 +1073,7 @@ test tcltest-15.3 {-relateddir, non-existent dir} {
test tcltest-15.4 {-relateddir, subdir} {
-constraints {unixOrWin}
-body {
- if {[slave msg \
+ if {[child msg \
[file join $dtd all.tcl] \
-relateddir dirtestdir2.1 -tmpdir [temporaryDirectory]] == 1} {
error $msg
@@ -1086,7 +1086,7 @@ test tcltest-15.4 {-relateddir, subdir} {
test tcltest-15.5 {-relateddir, -asidefromdir} {
-constraints {unixOrWin}
-body {
- if {[slave msg \
+ if {[child msg \
[file join $dtd all.tcl] \
-relateddir "dirtestdir2.1 dirtestdir2.2" \
-asidefromdir dirtestdir2.2 \
@@ -1147,25 +1147,25 @@ test tcltest-19.1 {TCLTEST_OPTIONS default} -setup {
# set this to { } instead of just {} to get around quirk in
# Windows env handling that removes empty elements from env array.
set ::env(TCLTEST_OPTIONS) { }
- interp create slave1
- slave1 eval [list set argv {-debug 2}]
- slave1 alias puts puts
- interp create slave2
- slave2 alias puts puts
+ interp create child1
+ child1 eval [list set argv {-debug 2}]
+ child1 alias puts puts
+ interp create child2
+ child2 alias puts puts
} -cleanup {
- interp delete slave2
- interp delete slave1
+ interp delete child2
+ interp delete child1
if {$oldoptions eq "none"} {
unset ::env(TCLTEST_OPTIONS)
} else {
set ::env(TCLTEST_OPTIONS) $oldoptions
}
} -body {
- slave1 eval [package ifneeded tcltest [package provide tcltest]]
- slave1 eval tcltest::debug
+ child1 eval [package ifneeded tcltest [package provide tcltest]]
+ child1 eval tcltest::debug
set ::env(TCLTEST_OPTIONS) "-debug 3"
- slave2 eval [package ifneeded tcltest [package provide tcltest]]
- slave2 eval tcltest::debug
+ child2 eval [package ifneeded tcltest [package provide tcltest]]
+ child2 eval tcltest::debug
} -result {^3$} -match regexp -output\
{tcltest::debug\s+= 2.*tcltest::debug\s+= 3}
@@ -1174,7 +1174,7 @@ test tcltest-19.1 {TCLTEST_OPTIONS default} -setup {
cd [temporaryDirectory]
# PrintError
test tcltest-20.1 {PrintError} {unixOrWin} {
- set result [slave msg $printerror]
+ set result [child msg $printerror]
list $result [regexp "Error: a really short string" $msg] \
[regexp " \"quotes\"" $msg] [regexp " \"Path" $msg] \
[regexp " \"Really" $msg] [regexp Problem $msg]
@@ -1385,7 +1385,7 @@ test tcltest-21.12 {
set atd [makeDirectory alltestdir]
makeFile {
- package require tcltest
+ package require tcltest 2.5
namespace import -force tcltest::*
testsDirectory [file join [temporaryDirectory] alltestdir]
runAllTests
@@ -1397,7 +1397,7 @@ makeFile {
error "throw an error"
} error.test $atd
makeFile {
- package require tcltest
+ package require tcltest 2.5
namespace import -force tcltest::*
test foo-1.1 {foo} {
-body { return 1 }
@@ -1407,7 +1407,7 @@ makeFile {
} test.test $atd
# Must use a child process because stdout/stderr parsing can't be
-# duplicated in slave interp.
+# duplicated in child interp.
test tcltest-22.1 {runAllTests} {
-constraints {unixOrWin}
-body {
@@ -1444,7 +1444,7 @@ test tcltest-23.2 {removeFile} {
file mkdir $mfdir
makeFile {} t1.tmp
makeFile {} et1.tmp $mfdir
- if {![file exists [file join [temporaryDirectory] t1.tmp]] || \
+ if {![file exists [file join [temporaryDirectory] t1.tmp]] || \
![file exists [file join $mfdir et1.tmp]]} {
error "file creation didn't work"
}
@@ -1796,7 +1796,7 @@ test tcltest-25.3 {
test tcltest-26.1 {Bug/RFE 1017151} -setup {
makeFile {
- package require tcltest
+ package require tcltest 2.5
set ::errorInfo "Should never see this"
tcltest::test tcltest-26.1.0 {
no errorInfo when only return code mismatch
@@ -1806,7 +1806,7 @@ test tcltest-26.1 {Bug/RFE 1017151} -setup {
tcltest::cleanupTests
} test.tcl
} -body {
- slave msg [file join [temporaryDirectory] test.tcl]
+ child msg [file join [temporaryDirectory] test.tcl]
return $msg
} -cleanup {
removeFile test.tcl
@@ -1816,7 +1816,7 @@ test tcltest-26.1 {Bug/RFE 1017151} -setup {
test tcltest-26.2 {Bug/RFE 1017151} -setup {
makeFile {
- package require tcltest
+ package require tcltest 2.5
set ::errorInfo "Should never see this"
tcltest::test tcltest-26.2.0 {do not mask body errorInfo} -body {
error "body error"
@@ -1826,7 +1826,7 @@ test tcltest-26.2 {Bug/RFE 1017151} -setup {
tcltest::cleanupTests
} test.tcl
} -body {
- slave msg [file join [temporaryDirectory] test.tcl]
+ child msg [file join [temporaryDirectory] test.tcl]
return $msg
} -cleanup {
removeFile test.tcl
diff --git a/tests/tcltests.tcl b/tests/tcltests.tcl
index b0aa054..193ba0a 100644
--- a/tests/tcltests.tcl
+++ b/tests/tcltests.tcl
@@ -1,6 +1,6 @@
#! /usr/bin/env tclsh
-package require tcltest 2.2
+package require tcltest 2.5
namespace import ::tcltest::*
testConstraint exec [llength [info commands exec]]
testConstraint fcopy [llength [info commands fcopy]]
diff --git a/tests/thread.test b/tests/thread.test
index 2524911..87946c9 100644
--- a/tests/thread.test
+++ b/tests/thread.test
@@ -4,15 +4,15 @@
# 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) 1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
-# Copyright (c) 2006-2008 by Joe Mistachkin. All rights reserved.
+# Copyright © 1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright © 2006-2008 Joe Mistachkin. All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -39,11 +39,11 @@ set threadSuperKillScript {
proc getThreadErrorFromInfo { info } {
set list [split $info \n]
set idx [lsearch -glob $list "*eval*unwound*"]
- if {$idx != -1} then {
+ if {$idx >= 0} then {
return [lindex $list $idx]
}
set idx [lsearch -glob $list "*eval*canceled*"]
- if {$idx != -1} then {
+ if {$idx >= 0} then {
return [lindex $list $idx]
}
return ""; # some other error we do not care about.
@@ -805,7 +805,7 @@ test thread-7.21 {cancel: subst -unwind} -constraints {thread drainEventQueue} -
} -cleanup {
unset -nocomplain ::threadSawError ::threadError ::threadId ::threadIdStarted
} -result {{} 1 1 {eval unwound}}
-test thread-7.22 {cancel: slave interp} -constraints {thread drainEventQueue} -setup {
+test thread-7.22 {cancel: child interp} -constraints {thread drainEventQueue} -setup {
unset -nocomplain ::threadSawError ::threadError ::threadId ::threadIdStarted
} -body {
set serverthread [thread::create -joinable \
@@ -835,7 +835,7 @@ test thread-7.22 {cancel: slave interp} -constraints {thread drainEventQueue} -s
} -cleanup {
unset -nocomplain ::threadSawError ::threadError ::threadId ::threadIdStarted
} -result {{} 1 1 {eval canceled}}
-test thread-7.23 {cancel: slave interp -unwind} -constraints {thread drainEventQueue} -setup {
+test thread-7.23 {cancel: child interp -unwind} -constraints {thread drainEventQueue} -setup {
unset -nocomplain ::threadSawError ::threadError ::threadId ::threadIdStarted
} -body {
set serverthread [thread::create -joinable \
diff --git a/tests/timer.test b/tests/timer.test
index 5e729ef..1ad17ae 100644
--- a/tests/timer.test
+++ b/tests/timer.test
@@ -7,14 +7,14 @@
# 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) 1997 by Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -568,15 +568,15 @@ test timer-9.1 {AfterCleanupProc procedure} -setup {
} -result {before after2 after4}
test timer-10.1 {Bug 1016167: [after] overwrites imports} -setup {
- interp create slave
- slave eval namespace export after
- slave eval namespace eval foo namespace import ::after
+ interp create child
+ child eval namespace export after
+ child eval namespace eval foo namespace import ::after
} -body {
- slave eval foo::after 1
- slave eval namespace origin foo::after
+ child eval foo::after 1
+ child eval namespace origin foo::after
} -cleanup {
# Bug will cause crash here; would cause failure otherwise
- interp delete slave
+ interp delete child
} -result ::after
test timer-11.1 {Bug 1350291: [after] overflowing 32-bit field} -body {
diff --git a/tests/tm.test b/tests/tm.test
index 001b73e..4dea27d 100644
--- a/tests/tm.test
+++ b/tests/tm.test
@@ -3,12 +3,11 @@
# Sourcing this file into Tcl runs the tests and generates output for
# errors. No output means no errors were found.
#
-# Copyright (c) 2004 by Donal K. Fellows.
+# Copyright © 2004 Donal K. Fellows.
# All rights reserved.
-package require Tcl 8.5-
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/trace.test b/tests/trace.test
index 1099f48..7d3ee41 100644
--- a/tests/trace.test
+++ b/tests/trace.test
@@ -4,15 +4,17 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -2197,11 +2199,11 @@ foo {if {[catch {bar}]} {
}} 2 error leavestep
foo foo 0 error leave}}
-test trace-28.4 {exec traces in slave with 'return -code error'} {
- interp create slave
- interp alias slave traceExecute {} traceExecute
+test trace-28.4 {exec traces in child with 'return -code error'} {
+ interp create child
+ interp alias child traceExecute {} traceExecute
set info {}
- set res [interp eval slave {
+ set res [interp eval child {
set info {}
set res {}
@@ -2229,7 +2231,7 @@ test trace-28.4 {exec traces in slave with 'return -code error'} {
list $res
}]
- interp delete slave
+ interp delete child
lappend res [join $info \n]
} {{error error} {foo foo enter
foo {if {[catch {bar}]} {
@@ -2312,8 +2314,8 @@ test trace-28.10 {exec trace info nonsense} {
} {1 {wrong # args: should be "trace remove execution name opList command"}}
test trace-29.1 {Tcl_CreateTrace, correct command and argc/argv arguments of trace proc} {testcmdtrace} {
- testcmdtrace tracetest {set stuff [expr 14 + 16]}
-} {{expr 14 + 16} {expr 14 + 16} {set stuff [expr 14 + 16]} {set stuff 30}}
+ testcmdtrace tracetest {set stuff [expr {14 + 16}]}
+} {{expr {14 + 16}} {expr {14 + 16}} {set stuff [expr {14 + 16}]} {set stuff 30}}
test trace-29.2 {Tcl_CreateTrace, correct command and argc/argv arguments of trace proc} {testcmdtrace} {
testcmdtrace tracetest {set stuff [info tclversion]}
} [concat {{info tclversion} {info tclversion} ::tcl::info::tclversion {::tcl::info::tclversion} {set stuff [info tclversion]}} [list "set stuff [info tclversion]"]]
diff --git a/tests/unixFCmd.test b/tests/unixFCmd.test
index 21c8230..a46868a 100644
--- a/tests/unixFCmd.test
+++ b/tests/unixFCmd.test
@@ -4,13 +4,13 @@
# 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) 1996 Sun Microsystems, Inc.
+# Copyright © 1996 Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/unixFile.test b/tests/unixFile.test
index 4dd9920..56821c4 100644
--- a/tests/unixFile.test
+++ b/tests/unixFile.test
@@ -4,13 +4,13 @@
# 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) 1998-1999 by Scriptics Corporation.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/unixForkEvent.test b/tests/unixForkEvent.test
index d7b86fd..f321b10 100644
--- a/tests/unixForkEvent.test
+++ b/tests/unixForkEvent.test
@@ -2,14 +2,16 @@
# tclUnixNotify.c. Sourcing this file into Tcl runs the tests and
# generates output for errors. No output means no errors were found.
#
-# Copyright (c) 1995-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import -force ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
testConstraint testfork [llength [info commands testfork]]
diff --git a/tests/unixInit.test b/tests/unixInit.test
index ab00b4e..aa3d50a 100644
--- a/tests/unixInit.test
+++ b/tests/unixInit.test
@@ -4,14 +4,16 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1997 by Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2.2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
unset -nocomplain path
catch {set oldlang $env(LANG)}
set env(LANG) C
diff --git a/tests/unixNotfy.test b/tests/unixNotfy.test
index 0cf7e1e..8ab0edb 100644
--- a/tests/unixNotfy.test
+++ b/tests/unixNotfy.test
@@ -4,14 +4,14 @@
# 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) 1997 by Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/unknown.test b/tests/unknown.test
index 6c31c3d..cb0a7c4 100644
--- a/tests/unknown.test
+++ b/tests/unknown.test
@@ -4,15 +4,17 @@
# 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) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest 2
-namespace import ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
unset -nocomplain x
catch {rename unknown unknown.old}
diff --git a/tests/unload.test b/tests/unload.test
index b669f9b..52debd0 100644
--- a/tests/unload.test
+++ b/tests/unload.test
@@ -4,15 +4,15 @@
# 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.
-# Copyright (c) 2003-2004 by Georgios Petasis
+# Copyright © 1995 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright © 2003-2004 Georgios Petasis
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -38,9 +38,6 @@ testConstraint $loaded [expr {![string match *pkgua* $alreadyLoaded]}]
set alreadyTotalLoaded [info loaded]
-# Certain tests require the 'teststaticpkg' command from tcltest
-testConstraint teststaticpkg [llength [info commands teststaticpkg]]
-
# Certain tests need the 'testsimplefilsystem' in tcltest
testConstraint testsimplefilesystem \
[llength [info commands testsimplefilesystem]]
@@ -156,14 +153,14 @@ test unload-3.3 {unloading of a package that has never been loaded from a safe i
unload [file join $testDir pkga$ext] {} child
} -result {file "*" has never been loaded in this interpreter}
test unload-3.4 {basic unloading of a non-unloadable package from a safe interpreter, with guess for package name} -setup {
- if {[lsearch -index 1 [info loaded child] Pkgb] == -1} {
+ if {[lsearch -index 1 [info loaded child] Pkgb] < 0} {
load [file join $testDir pkgb$ext] pKgB child
}
} -constraints [list $dll $loaded] -returnCodes error -match glob -body {
unload [file join $testDir pkgb$ext] {} child
} -result {file "*" cannot be unloaded under a safe interpreter}
test unload-3.5 {basic unloading of an unloadable package from a safe interpreter, with guess for package name} -setup {
- if {[lsearch -index 1 [info loaded child] Pkgua] == -1} {
+ if {[lsearch -index 1 [info loaded child] Pkgua] < 0} {
load [file join $testDir pkgua$ext] pkgua child
}
} -constraints [list $dll $loaded] -body {
diff --git a/tests/uplevel.test b/tests/uplevel.test
index b197587..de21361 100644
--- a/tests/uplevel.test
+++ b/tests/uplevel.test
@@ -4,20 +4,20 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
proc a {x y} {
- newset z [expr $x+$y]
+ newset z [expr {$x + $y}]
return $z
}
proc newset {name value} {
@@ -304,7 +304,24 @@ test uplevel-7.3 {var access, LVT in upper level} -setup {
rename foo {}
rename moo {}
} -result {3 3 3}
+
+
+test uplevel-8.0 {
+ string representation isn't generated when there is only one argument
+} -body {
+ set res {}
+ set script [list lindex 5]
+ lappend res [apply {script {
+ uplevel $script
+ }} $script]
+ lappend res [string match {value is a list *no string representation*} [
+ ::tcl::unsupported::representation $script]]
+} -cleanup {
+ unset script
+ unset res
+} -result {5 1}
+
# cleanup
::tcltest::cleanupTests
return
diff --git a/tests/upvar.test b/tests/upvar.test
index 29e3ed2..1d7020f 100644
--- a/tests/upvar.test
+++ b/tests/upvar.test
@@ -4,15 +4,15 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/utf.test b/tests/utf.test
index 51ea2e5..68ce9d8 100644
--- a/tests/utf.test
+++ b/tests/utf.test
@@ -2,14 +2,14 @@
# Sourcing this file into Tcl runs the tests and generates output for
# errors. No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -253,8 +253,8 @@ test utf-6.22 {Tcl_UtfNext} {testutfnext testbytestring} {
testutfnext [testbytestring \xD0\xF8]
} 1
test utf-6.23 {Tcl_UtfNext} {testutfnext testbytestring} {
- testutfnext [testbytestring \xE8]
-} -1
+ testutfnext [testbytestring \xE8\x00]
+} 1
test utf-6.24 {Tcl_UtfNext} {testutfnext testbytestring} {
testutfnext [testbytestring \xE8]G
} 1
@@ -277,8 +277,8 @@ test utf-6.30.0 {Tcl_UtfNext} {testutfnext testbytestring ucs2_utf16} {
testutfnext [testbytestring \xF2]
} 1
test utf-6.30.1 {Tcl_UtfNext} {testutfnext testbytestring ucs4} {
- testutfnext [testbytestring \xF2]
-} -1
+ testutfnext [testbytestring \xF2\x00]
+} 1
test utf-6.31 {Tcl_UtfNext} {testutfnext testbytestring} {
testutfnext [testbytestring \xF2]G
} 1
@@ -286,8 +286,8 @@ test utf-6.32.0 {Tcl_UtfNext} {testutfnext testbytestring ucs2_utf16} {
testutfnext [testbytestring \xF2\xA0]
} 1
test utf-6.32.1 {Tcl_UtfNext} {testutfnext testbytestring ucs4} {
- testutfnext [testbytestring \xF2\xA0]
-} -1
+ testutfnext [testbytestring \xF2\xA0\x00]
+} 1
test utf-6.33 {Tcl_UtfNext} {testutfnext testbytestring} {
testutfnext [testbytestring \xF2\xD0]
} 1
diff --git a/tests/util.test b/tests/util.test
index b516a0e..65af6d8 100644
--- a/tests/util.test
+++ b/tests/util.test
@@ -1,14 +1,14 @@
# This file is a Tcl script to test the code in the file tclUtil.c.
# This file is organized in the standard fashion for Tcl tests.
#
-# Copyright (c) 1995-1998 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1995-1998 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -476,7 +476,7 @@ test util-7.4 {TclPrecTraceProc - write traces, bogus values} -constraints preci
} -result {1 {can't set "tcl_precision": improper value for precision} 12}
# This test always succeeded in the C locale anyway...
-test util-8.1 {TclNeedSpace - correct UTF8 handling} {
+test util-8.1 {TclNeedSpace - correct utf-8 handling} {
# Bug 411825
# Note that this test relies on the fact that
# [interp target] calls on Tcl_AppendElement()
@@ -490,7 +490,7 @@ test util-8.1 {TclNeedSpace - correct UTF8 handling} {
interp delete \u5420
set result
} "\u5420 foo"
-test util-8.2 {TclNeedSpace - correct UTF8 handling} testdstring {
+test util-8.2 {TclNeedSpace - correct utf-8 handling} testdstring {
# Bug 411825
# This tests the same bug as the previous test, but
# should be more future-proof, as the DString
@@ -500,14 +500,14 @@ test util-8.2 {TclNeedSpace - correct UTF8 handling} testdstring {
testdstring element foo
llength [testdstring get]
} 2
-test util-8.3 {TclNeedSpace - correct UTF8 handling} testdstring {
+test util-8.3 {TclNeedSpace - correct utf-8 handling} testdstring {
# Bug 411825 - new variant reported by Dossy Shiobara
testdstring free
testdstring append \u00A0 -1
testdstring element foo
llength [testdstring get]
} 2
-test util-8.4 {TclNeedSpace - correct UTF8 handling} testdstring {
+test util-8.4 {TclNeedSpace - correct utf-8 handling} testdstring {
# Another bug uncovered while fixing 411825
testdstring free
testdstring append {\ } -1
@@ -515,13 +515,13 @@ test util-8.4 {TclNeedSpace - correct UTF8 handling} testdstring {
testdstring element foo
llength [testdstring get]
} 2
-test util-8.5 {TclNeedSpace - correct UTF8 handling} testdstring {
+test util-8.5 {TclNeedSpace - correct utf-8 handling} testdstring {
testdstring free
testdstring append {\\ } -1
testdstring element foo
list [llength [testdstring get]] [string length [testdstring get]]
} {2 6}
-test util-8.6 {TclNeedSpace - correct UTF8 handling} testdstring {
+test util-8.6 {TclNeedSpace - correct utf-8 handling} testdstring {
testdstring free
testdstring append {\\ } -1
testdstring append \{ -1
@@ -529,7 +529,7 @@ test util-8.6 {TclNeedSpace - correct UTF8 handling} testdstring {
testdstring append \} -1
list [llength [testdstring get]] [string length [testdstring get]]
} {2 8}
-test util-8.7 {TclNeedSpace - watch out for escaped space} {
+test util-8.7 {TclNeedSpace - watch out for escaped space} testdstring {
testdstring free
testdstring append {\ } -1
testdstring start
@@ -538,7 +538,7 @@ test util-8.7 {TclNeedSpace - watch out for escaped space} {
# Should make {\ {}}
list [llength [testdstring get]] [string index [testdstring get] 3]
} {2 \{}
-test util-8.8 {TclNeedSpace - watch out for escaped space} {
+test util-8.8 {TclNeedSpace - watch out for escaped space} testdstring {
testdstring free
testdstring append {\\ } -1
testdstring start
@@ -547,7 +547,7 @@ test util-8.8 {TclNeedSpace - watch out for escaped space} {
# Should make {\\ {}}
list [llength [testdstring get]] [string index [testdstring get] 3]
} {2 \{}
-test util-8.9 {TclNeedSpace - watch out for escaped space} {
+test util-8.9 {TclNeedSpace - watch out for escaped space} testdstring {
testdstring free
testdstring append {\\\ } -1
testdstring start
@@ -556,7 +556,7 @@ test util-8.9 {TclNeedSpace - watch out for escaped space} {
# Should make {\\\ {}}
list [llength [testdstring get]] [string index [testdstring get] 5]
} {2 \{}
-test util-8.10 {TclNeedSpace - watch out for escaped space} {
+test util-8.10 {TclNeedSpace - watch out for escaped space} testdstring {
testdstring free
testdstring append {\\\\\\\ } -1
testdstring start
@@ -565,7 +565,7 @@ test util-8.10 {TclNeedSpace - watch out for escaped space} {
# Should make {\\\\\\\ {}}
list [llength [testdstring get]] [string index [testdstring get] 9]
} {2 \{}
-test util-8.11 {TclNeedSpace - watch out for escaped space} {
+test util-8.11 {TclNeedSpace - watch out for escaped space} testdstring {
testdstring free
testdstring append {\\\\\\\\ } -1
testdstring start
@@ -818,6 +818,9 @@ test util-9.57 {Tcl_GetIntForIndex} {
test util-9.58 {Tcl_GetIntForIndex} -body {
string index abcd end--0x8000000000000000
} -result {}
+test util-9.59 {Tcl_GetIntForIndex} {
+ string index abcd 0-0x10000000000000000
+} {}
test util-10.1 {Tcl_PrintDouble - rounding} {ieeeFloatingPoint} {
convertDouble 0x0000000000000000
diff --git a/tests/var.test b/tests/var.test
index a5b91f8..63d2f08 100644
--- a/tests/var.test
+++ b/tests/var.test
@@ -8,14 +8,14 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -452,7 +452,7 @@ test var-7.4 {Tcl_VariableObjCmd, list of vars} -setup {
variable three 3 four 4
}
list [lsort [info vars test_ns_var::*]] \
- [namespace eval test_ns_var {expr $three+$four}]
+ [namespace eval test_ns_var {expr {$three+$four}}]
} -result [list [lsort {::test_ns_var::four ::test_ns_var::three ::test_ns_var::two ::test_ns_var::one}] 7]
test var-7.5 {Tcl_VariableObjCmd, value for last var is optional} -setup {
catch {unset a}
@@ -1040,15 +1040,15 @@ test var-22.0 {leak in array element unset: Bug a3309d01db} -setup {
} -result 0
test var-22.1 {leak in localVarName intrep: Bug 80304238ac} -setup {
proc doit {} {
- interp create slave
- slave eval {
+ interp create child
+ child eval {
proc doit script {
eval $script
set foo bar
}
doit {foreach foo baz {}}
}
- interp delete slave
+ interp delete child
}
} -constraints memory -body {
set end [getbytes]
diff --git a/tests/while-old.test b/tests/while-old.test
index a15ada2..9c8cacc 100644
--- a/tests/while-old.test
+++ b/tests/while-old.test
@@ -6,21 +6,21 @@
# into Tcl runs the tests and generates output for errors.
# No output means no errors were found.
#
-# Copyright (c) 1991-1993 The Regents of the University of California.
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1991-1993 The Regents of the University of California.
+# Copyright © 1994-1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
test while-old-1.1 {basic while loops} {
set count 0
- while {$count < 10} {set count [expr $count+1]}
+ while {$count < 10} {set count [expr {$count + 1}]}
set count
} 10
test while-old-1.2 {basic while loops} {
@@ -58,9 +58,9 @@ test while-old-2.1 {continue in while loop} {
set index 0
set result {}
while {$index < 5} {
- if {$index == 2} {set index [expr $index+1]; continue}
+ if {$index == 2} {set index [expr {$index + 1}]; continue}
set result [concat $result [lindex $list $index]]
- set index [expr $index+1]
+ set index [expr {$index + 1}]
}
set result
} {1 2 4 5}
@@ -72,7 +72,7 @@ test while-old-3.1 {break in while loop} {
while {$index < 5} {
if {$index == 3} break
set result [concat $result [lindex $list $index]]
- set index [expr $index+1]
+ set index [expr {$index + 1}]
}
set result
} {1 2 3}
diff --git a/tests/while.test b/tests/while.test
index 642ec93..6ea8548 100644
--- a/tests/while.test
+++ b/tests/while.test
@@ -4,14 +4,14 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -77,7 +77,7 @@ test while-1.9 {TclCompileWhileCmd: simple command body} -body {
set a {}
set i 1
while {$i<6} {
- if $i==4 break
+ if {$i==4} break
set a [concat $a $i]
incr i
}
@@ -112,8 +112,8 @@ test while-1.12 {TclCompileWhileCmd: long command body} -body {
set a {}
set i 1
while {$i<6} {
- if $i==4 break
- if $i>5 continue
+ if {$i==4} break
+ if {$i>5} continue
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -155,7 +155,7 @@ test while-1.13 {TclCompileWhileCmd: while command result} -body {
} -result {}
test while-1.14 {TclCompileWhileCmd: while command result} -body {
set i 0
- set a [while {$i < 5} {if $i==3 break; incr i}]
+ set a [while {$i < 5} {if {$i==3} break; incr i}]
return $a
} -cleanup {
unset a i
@@ -207,9 +207,9 @@ test while-2.4 {continue tests, long command body} -body {
set a {}
set i 1
while {$i<6} {
- if $i==2 {incr i; continue}
- if $i==4 break
- if $i>5 continue
+ if {$i==2} {incr i; continue}
+ if {$i==4} break
+ if {$i>5} continue
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -277,9 +277,9 @@ test while-3.3 {break tests, long command body} -body {
set a {}
set i 1
while {$i<6} {
- if $i==2 {incr i; continue}
- if $i==5 break
- if $i>5 continue
+ if {$i==2} {incr i; continue}
+ if {$i==5} break
+ if {$i>5} continue
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -295,7 +295,7 @@ test while-3.3 {break tests, long command body} -body {
catch {incr i 5} msg
catch {incr i -5} msg
}
- if $i==4 break
+ if {$i==4} break
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -401,7 +401,7 @@ test while-4.10 {while (not compiled): simple command body} -body {
set i 1
set z while
$z {$i<6} {
- if $i==4 break
+ if {$i==4} break
set a [concat $a $i]
incr i
}
@@ -439,8 +439,8 @@ test while-4.13 {while (not compiled): long command body} -body {
set z while
set i 1
$z {$i<6} {
- if $i==4 break
- if $i>5 continue
+ if {$i==4} break
+ if {$i>5} continue
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -484,7 +484,7 @@ test while-4.14 {while (not compiled): while command result} -body {
test while-4.15 {while (not compiled): while command result} -body {
set i 0
set z while
- set a [$z {$i < 5} {if $i==3 break; incr i}]
+ set a [$z {$i < 5} {if {$i==3} break; incr i}]
return $a
} -cleanup {
unset a i z
@@ -538,9 +538,9 @@ test while-5.4 {break tests, long command body with computed command names} -bod
set i 1
set z break
while {$i<6} {
- if $i==2 {incr i; continue}
- if $i==5 $z
- if $i>5 continue
+ if {$i==2} {incr i; continue}
+ if {$i==5} $z
+ if {$i>5} continue
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -556,7 +556,7 @@ test while-5.4 {break tests, long command body with computed command names} -bod
catch {incr i 5} msg
catch {incr i -5} msg
}
- if $i==4 $z
+ if {$i==4} $z
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
@@ -637,9 +637,9 @@ test while-6.5 {continue tests, long command body with computed command names} -
set i 1
set z continue
while {$i<6} {
- if $i==2 {incr i; continue}
- if $i==4 break
- if $i>5 $z
+ if {$i==2} {incr i; continue}
+ if {$i==4} break
+ if {$i>5} $z
if {$i>6 && $tcl_platform(machine)=="xxx"} {
catch {set a $a} msg
catch {incr i 5} msg
diff --git a/tests/winConsole.test b/tests/winConsole.test
index 1e00428..8ca1457 100644
--- a/tests/winConsole.test
+++ b/tests/winConsole.test
@@ -4,13 +4,13 @@
# 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) 1999 by Scriptics Corporation.
+# Copyright © 1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/winDde.test b/tests/winDde.test
index acba304..1a14737 100644
--- a/tests/winDde.test
+++ b/tests/winDde.test
@@ -4,14 +4,13 @@
# 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) 1999 by Scriptics Corporation.
+# Copyright © 1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2
- #tcltest::configure -verbose {pass start}
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -21,10 +20,11 @@ if {[testConstraint win]} {
if {![catch {
::tcltest::loadTestedCommands
set ::ddever [package require dde 1.4.3]
- set ::ddelib [lindex [package ifneeded dde $::ddever] 1]}]} {
+ set ::ddelib [info loaded "" Dde]}]} {
testConstraint dde 1
}
}
+testConstraint notWine [expr {![info exists ::env(CI_USING_WINE)]}]
# -------------------------------------------------------------------------
@@ -38,12 +38,12 @@ proc createChildProcess {ddeServerName args} {
set f [open $::scriptName w+]
puts $f [list set ddeServerName $ddeServerName]
- puts $f [list load $::ddelib dde]
+ puts $f [list load $::ddelib Dde]
puts $f {
# DDE child server -
#
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -111,7 +111,7 @@ test winDde-1.1 {Settings the server's topic name} -constraints dde -body {
} -result {foobar foobar self}
test winDde-2.1 {Checking for other services} -constraints dde -body {
- expr [llength [dde services {} {}]] >= 0
+ expr {[llength [dde services {} {}]] >= 0}
} -result 1
test winDde-2.2 {Checking for existence, with service and topic specified} \
-constraints dde -body {
@@ -119,11 +119,11 @@ test winDde-2.2 {Checking for existence, with service and topic specified} \
} -result 1
test winDde-2.3 {Checking for existence, with only the service specified} \
-constraints dde -body {
- expr [llength [dde services TclEval {}]] >= 1
+ expr {[llength [dde services TclEval {}]] >= 1}
} -result 1
test winDde-2.4 {Checking for existence, with only the topic specified} \
-constraints dde -body {
- expr [llength [dde services {} self]] >= 1
+ expr {[llength [dde services {} self]] >= 1}
} -result 1
# -------------------------------------------------------------------------
@@ -154,15 +154,15 @@ test winDde-3.5 {DDE request locally} -constraints dde -body {
dde request -binary TclEval self \xe1
} -result "foo\x00"
# Set variable a to A with diaeresis (unicode C4) by relying on the fact
-# that utf8 is sent (e.g. "c3 84" on the wire)
-test winDde-3.6 {DDE request utf8} -constraints dde -body {
+# that utf-8 is sent (e.g. "c3 84" on the wire)
+test winDde-3.6 {DDE request utf-8} -constraints dde -body {
set \xe1 "not set"
dde execute TclEval self "set \xe1 \xc4"
scan [set \xe1] %c
} -result 196
# Set variable a to A with diaeresis (unicode C4) using binary execute
# and compose utf-8 (e.g. "c3 84" ) manualy
-test winDde-3.7 {DDE request binary} -constraints dde -body {
+test winDde-3.7 {DDE request binary} -constraints {dde notWine} -body {
set \xe1 "not set"
dde execute -binary TclEval self [list set \xc3\xa1 \xc3\x84\x00]
scan [set \xe1] %c
@@ -279,19 +279,19 @@ test winDde-6.6 {DDE remote servername collision force} -constraints {dde stdio}
# -------------------------------------------------------------------------
-test winDde-7.1 {Load DDE in slave interpreter} -constraints dde -setup {
- interp create slave
+test winDde-7.1 {Load DDE in child interpreter} -constraints dde -setup {
+ interp create child
} -body {
- slave eval [list load $::ddelib Dde]
- slave eval [list dde servername -- dde-interp-7.1]
+ child eval [list load $::ddelib Dde]
+ child eval [list dde servername -- dde-interp-7.1]
} -cleanup {
- interp delete slave
+ interp delete child
} -result {dde-interp-7.1}
-test winDde-7.2 {DDE slave cleanup} -constraints dde -setup {
- interp create slave
- slave eval [list load $::ddelib Dde]
- slave eval [list dde servername -- dde-interp-7.5]
- interp delete slave
+test winDde-7.2 {DDE child cleanup} -constraints dde -setup {
+ interp create child
+ child eval [list load $::ddelib Dde]
+ child eval [list dde servername -- dde-interp-7.5]
+ interp delete child
} -body {
dde services TclEval {}
set s [dde services TclEval {}]
@@ -300,128 +300,128 @@ test winDde-7.2 {DDE slave cleanup} -constraints dde -setup {
set s
}
} -result {}
-test winDde-7.3 {DDE present in slave interp} -constraints dde -setup {
- interp create slave
- slave eval [list load $::ddelib Dde]
- slave eval [list dde servername -- dde-interp-7.3]
+test winDde-7.3 {DDE present in child interp} -constraints dde -setup {
+ interp create child
+ child eval [list load $::ddelib Dde]
+ child eval [list dde servername -- dde-interp-7.3]
} -body {
dde services TclEval dde-interp-7.3
} -cleanup {
- interp delete slave
+ interp delete child
} -result {{TclEval dde-interp-7.3}}
test winDde-7.4 {interp name collision with -force} -constraints dde -setup {
- interp create slave
- slave eval [list load $::ddelib Dde]
- slave eval [list dde servername -- dde-interp-7.4]
+ interp create child
+ child eval [list load $::ddelib Dde]
+ child eval [list dde servername -- dde-interp-7.4]
} -body {
dde servername -force -- dde-interp-7.4
} -cleanup {
- interp delete slave
+ interp delete child
} -result {dde-interp-7.4}
test winDde-7.5 {interp name collision without -force} -constraints dde -setup {
- interp create slave
- slave eval [list load $::ddelib Dde]
- slave eval [list dde servername -- dde-interp-7.5]
+ interp create child
+ child eval [list load $::ddelib Dde]
+ child eval [list dde servername -- dde-interp-7.5]
} -body {
dde servername -- dde-interp-7.5
} -cleanup {
- interp delete slave
+ interp delete child
} -result "dde-interp-7.5 #2"
# -------------------------------------------------------------------------
test winDde-8.1 {Safe DDE load} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
} -body {
- slave eval dde servername slave
+ child eval dde servername child
} -cleanup {
- interp delete slave
+ interp delete child
} -returnCodes error -result {invalid command name "dde"}
test winDde-8.2 {Safe DDE set servername} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
} -body {
- slave invokehidden dde servername slave
-} -cleanup {interp delete slave} -result {slave}
+ child invokehidden dde servername child
+} -cleanup {interp delete child} -result {child}
test winDde-8.3 {Safe DDE check handler required for eval} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
- slave invokehidden dde servername slave
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
+ child invokehidden dde servername child
} -body {
- catch {dde eval slave set a 1} msg
-} -cleanup {interp delete slave} -result {1}
+ catch {dde eval child set a 1} msg
+} -cleanup {interp delete child} -result {1}
test winDde-8.4 {Safe DDE check that execute is denied} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
- slave invokehidden dde servername slave
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
+ child invokehidden dde servername child
} -body {
- slave eval set a 1
- dde execute TclEval slave {set a 2}
- slave eval set a
-} -cleanup {interp delete slave} -result 1
+ child eval set a 1
+ dde execute TclEval child {set a 2}
+ child eval set a
+} -cleanup {interp delete child} -result 1
test winDde-8.5 {Safe DDE check that request is denied} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
- slave invokehidden dde servername slave
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
+ child invokehidden dde servername child
} -body {
- slave eval set a 1
- dde request TclEval slave a
+ child eval set a 1
+ dde request TclEval child a
} -cleanup {
- interp delete slave
+ interp delete child
} -returnCodes error -result {remote server cannot handle this command}
test winDde-8.6 {Safe DDE assign handler procedure} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
+ child eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
} -body {
- slave invokehidden dde servername -handler DDEACCEPT slave
-} -cleanup {interp delete slave} -result slave
+ child invokehidden dde servername -handler DDEACCEPT child
+} -cleanup {interp delete child} -result child
test winDde-8.7 {Safe DDE check simple command} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
- slave invokehidden dde servername -handler DDEACCEPT slave
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
+ child eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
+ child invokehidden dde servername -handler DDEACCEPT child
} -body {
- dde eval slave set x 1
-} -cleanup {interp delete slave} -result {set x 1}
+ dde eval child set x 1
+} -cleanup {interp delete child} -result {set x 1}
test winDde-8.8 {Safe DDE check non-list command} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
- slave invokehidden dde servername -handler DDEACCEPT slave
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
+ child eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
+ child invokehidden dde servername -handler DDEACCEPT child
} -body {
set s "c:\\Program Files\\Microsoft Visual Studio\\"
- dde eval slave $s
- string equal [slave eval set DDECMD] $s
-} -cleanup {interp delete slave} -result 1
+ dde eval child $s
+ string equal [child eval set DDECMD] $s
+} -cleanup {interp delete child} -result 1
test winDde-8.9 {Safe DDE check command evaluation} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}}
- slave invokehidden dde servername -handler DDEACCEPT slave
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
+ child eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}}
+ child invokehidden dde servername -handler DDEACCEPT child
} -body {
- dde eval slave set \xe1 1
- slave eval set \xe1
-} -cleanup {interp delete slave} -result 1
+ dde eval child set \xe1 1
+ child eval set \xe1
+} -cleanup {interp delete child} -result 1
test winDde-8.10 {Safe DDE check command evaluation (2)} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}}
- slave invokehidden dde servername -handler DDEACCEPT slave
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
+ child eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}}
+ child invokehidden dde servername -handler DDEACCEPT child
} -body {
- dde eval slave [list set x 1]
- slave eval set x
-} -cleanup {interp delete slave} -result 1
+ dde eval child [list set x 1]
+ child eval set x
+} -cleanup {interp delete child} -result 1
test winDde-8.11 {Safe DDE check command evaluation (3)} -constraints dde -setup {
- interp create -safe slave
- slave invokehidden load $::ddelib Dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}}
- slave invokehidden dde servername -handler DDEACCEPT slave
+ interp create -safe child
+ child invokehidden load $::ddelib Dde
+ child eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}}
+ child invokehidden dde servername -handler DDEACCEPT child
} -body {
- dde eval slave [list [list set x 1]]
- slave eval set x
-} -cleanup {interp delete slave} -returnCodes error -result {invalid command name "set x 1"}
+ dde eval child [list [list set x 1]]
+ child eval set x
+} -cleanup {interp delete child} -returnCodes error -result {invalid command name "set x 1"}
# -------------------------------------------------------------------------
@@ -481,7 +481,7 @@ test winDde-9.4 {External safe DDE check null data passing} -constraints {dde st
# -------------------------------------------------------------------------
#cleanup
-#catch {interp delete $slave}; # ensure we clean up the slave.
+#catch {interp delete $child}; # ensure we clean up the child.
file delete -force $::scriptName
::tcltest::cleanupTests
return
diff --git a/tests/winFCmd.test b/tests/winFCmd.test
index 6dde045..15a51fe 100644
--- a/tests/winFCmd.test
+++ b/tests/winFCmd.test
@@ -4,14 +4,14 @@
# 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) 1996-1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1996-1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -28,7 +28,10 @@ testConstraint testchmod [llength [info commands testchmod]]
testConstraint cdrom 0
testConstraint exdev 0
testConstraint longFileNames 0
-testConstraint knownMsvcBug [expr {![info exists ::env(TRAVIS_OS_NAME)] || ![string match windows $::env(TRAVIS_OS_NAME)]}]
+# Some things fail under all Continuous Integration systems for subtle reasons
+# such as CI often running with elevated privileges in a container.
+testConstraint notInCIenv [expr {![info exists ::env(CI)]}]
+testConstraint knownMsvcBug [expr {![info exists ::env(CI_BUILD_WITH_MSVC)]}]
proc createfile {file {string a}} {
set f [open $file w]
@@ -132,25 +135,25 @@ test winFCmd-1.1 {TclpRenameFile: errno: EACCES} -body {
} -constraints {win cdrom testfile} -returnCodes error -result EACCES
test winFCmd-1.2 {TclpRenameFile: errno: EEXIST} -setup {
cleanup
-} -constraints {win testfile} -body {
+} -constraints {win testfile notInCIenv} -body {
file mkdir td1/td2/td3
file mkdir td2
testfile mv td2 td1/td2
} -returnCodes error -result EEXIST
test winFCmd-1.3 {TclpRenameFile: errno: EINVAL} -setup {
cleanup
-} -constraints {win testfile} -body {
+} -constraints {win testfile notInCIenv} -body {
testfile mv / td1
} -returnCodes error -result EINVAL
test winFCmd-1.4 {TclpRenameFile: errno: EINVAL} -setup {
cleanup
-} -constraints {win testfile} -body {
+} -constraints {win testfile notInCIenv} -body {
file mkdir td1
testfile mv td1 td1/td2
} -returnCodes error -result EINVAL
test winFCmd-1.5 {TclpRenameFile: errno: EISDIR} -setup {
cleanup
-} -constraints {win testfile} -body {
+} -constraints {win testfile notInCIenv} -body {
file mkdir td1
createfile tf1
testfile mv tf1 td1
@@ -255,7 +258,7 @@ test winFCmd-1.22 {TclpRenameFile: long dst} -setup {
} -returnCodes error -result ENAMETOOLONG
test winFCmd-1.23 {TclpRenameFile: move dir into self} -setup {
cleanup
-} -constraints {win testfile} -body {
+} -constraints {win testfile notInCIenv} -body {
file mkdir td1
testfile mv [pwd]/td1 td1/td2
} -returnCodes error -result EINVAL
@@ -300,21 +303,21 @@ test winFCmd-1.29 {TclpRenameFile: src is dir} -setup {
} -returnCodes error -result ENOTDIR
test winFCmd-1.30 {TclpRenameFile: dst is dir} -setup {
cleanup
-} -constraints {win testfile} -body {
+} -constraints {win testfile notInCIenv} -body {
file mkdir td1
file mkdir td2/td2
testfile mv td1 td2
} -returnCodes error -result EEXIST
test winFCmd-1.31 {TclpRenameFile: TclpRemoveDirectory fails} -setup {
cleanup
-} -constraints {win testfile} -body {
+} -constraints {win testfile notInCIenv} -body {
file mkdir td1
file mkdir td2/td2
testfile mv td1 td2
} -returnCodes error -result EEXIST
test winFCmd-1.32 {TclpRenameFile: TclpRemoveDirectory succeeds} -setup {
cleanup
-} -constraints {win testfile} -body {
+} -constraints {win testfile notInCIenv} -body {
file mkdir td1/td2
file mkdir td2
testfile mv td1 td2
@@ -343,7 +346,7 @@ test winFCmd-1.34 {TclpRenameFile: src is dir, dst is not} -setup {
} -returnCodes error -result ENOTDIR
test winFCmd-1.35 {TclpRenameFile: src is not dir, dst is} -setup {
cleanup
-} -constraints {win testfile} -body {
+} -constraints {win testfile notInCIenv} -body {
file mkdir td1
createfile tf1
testfile mv tf1 td1
@@ -384,7 +387,7 @@ proc MakeFiles {dirname} {
set f [open $filename w]
close $f
file stat $filename stat
- if {[set n [lsearch -exact -integer $inodes $stat(ino)]] != -1} {
+ if {[set n [lsearch -exact -integer $inodes $stat(ino)]] >= 0} {
return [list [file join $dirname Test$n] $filename]
}
lappend inodes $stat(ino)
@@ -394,7 +397,7 @@ proc MakeFiles {dirname} {
test winFCmd-1.38 {TclpRenameFile: check rename of conflicting inodes} -setup {
cleanup
-} -constraints {win winNonZeroInodes knownMsvcBug} -body {
+} -constraints {win winNonZeroInodes knownMsvcBug notInCIenv} -body {
file mkdir td1
foreach {a b} [MakeFiles td1] break
file rename -force $a $b
@@ -639,7 +642,7 @@ test winFCmd-5.1 {TclpCopyDirectory: calls TraverseWinTree} -setup {
test winFCmd-6.1 {TclpRemoveDirectory: errno: EACCES} -setup {
cleanup
-} -constraints {winVista testfile testchmod knownMsvcBug} -body {
+} -constraints {winVista testfile testchmod knownMsvcBug notInCIenv} -body {
file mkdir td1
testchmod 0 td1
testfile rmdir td1
@@ -693,7 +696,7 @@ test winFCmd-6.8 {TclpRemoveDirectory: RemoveDirectory fails} -setup {
} -result {1 {tf1 ENOTDIR}}
test winFCmd-6.9 {TclpRemoveDirectory: errno == EACCES} -setup {
cleanup
-} -constraints {winVista testfile testchmod knownMsvcBug} -body {
+} -constraints {winVista testfile testchmod knownMsvcBug notInCIenv} -body {
file mkdir td1
testchmod 0 td1
testfile rmdir td1
@@ -704,14 +707,14 @@ test winFCmd-6.9 {TclpRemoveDirectory: errno == EACCES} -setup {
} -result {td1 EACCES}
test winFCmd-6.11 {TclpRemoveDirectory: attr == -1} -setup {
cleanup
-} -constraints {win testfile} -body {
+} -constraints {win testfile notInCIenv} -body {
testfile rmdir /
# WinXP returns EEXIST, WinNT seems to return EACCES. No policy
# decision has been made as to which is correct.
} -returnCodes error -match regexp -result {^/ E(ACCES|EXIST)$}
test winFCmd-6.13 {TclpRemoveDirectory: write-protected} -setup {
cleanup
-} -constraints {winVista testfile testchmod knownMsvcBug} -body {
+} -constraints {winVista testfile testchmod knownMsvcBug notInCIenv} -body {
file mkdir td1
testchmod 0 td1
testfile rmdir td1
@@ -940,7 +943,7 @@ test winFCmd-9.1 {TraversalDelete: DOTREE_F} -setup {
} -result {}
test winFCmd-9.3 {TraversalDelete: DOTREE_PRED} -setup {
cleanup
-} -constraints {winVista testfile testchmod knownMsvcBug} -body {
+} -constraints {winVista testfile testchmod knownMsvcBug notInCIenv} -body {
file mkdir td1/td2
testchmod 0 td1
testfile rmdir -force td1
@@ -1129,7 +1132,7 @@ test winFCmd-15.2 {SetWinFileAttributes - archive} -constraints {win} -setup {
} -cleanup {
cleanup
} -result {{} 1}
-test winFCmd-15.3 {SetWinFileAttributes - archive} -constraints {win} -setup {
+test winFCmd-15.3 {SetWinFileAttributes - archive} -constraints {win notInCIenv} -setup {
cleanup
} -body {
createfile td1 {}
@@ -1137,7 +1140,7 @@ test winFCmd-15.3 {SetWinFileAttributes - archive} -constraints {win} -setup {
} -cleanup {
cleanup
} -result {{} 0}
-test winFCmd-15.4 {SetWinFileAttributes - hidden} -constraints {win} -setup {
+test winFCmd-15.4 {SetWinFileAttributes - hidden} -constraints {win notInCIenv} -setup {
cleanup
} -body {
createfile td1 {}
@@ -1170,7 +1173,7 @@ test winFCmd-15.7 {SetWinFileAttributes - readonly} -setup {
} -cleanup {
cleanup
} -result {{} 0}
-test winFCmd-15.8 {SetWinFileAttributes - system} -constraints {win} -setup {
+test winFCmd-15.8 {SetWinFileAttributes - system} -constraints {win notInCIenv} -setup {
cleanup
} -body {
createfile td1 {}
diff --git a/tests/winFile.test b/tests/winFile.test
index b288063..d2683e4 100644
--- a/tests/winFile.test
+++ b/tests/winFile.test
@@ -4,17 +4,16 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-if {[catch {package require tcltest 2.0.2}]} {
- puts stderr "Skipping tests in [info script]. tcltest 2.0.2 required."
- return
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
}
-namespace import -force ::tcltest::*
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
@@ -25,6 +24,7 @@ testConstraint notNTFS 0
if {[testConstraint testvolumetype]} {
testConstraint notNTFS [expr {[testvolumetype] eq "NTFS"}]
}
+testConstraint notWine [expr {![info exists ::env(CI_USING_WINE)]}]
test winFile-1.1 {TclpGetUserHome} -constraints {win} -body {
glob ~nosuchuser
@@ -151,7 +151,7 @@ if {[testConstraint win]} {
test winFile-4.0 {
Enhanced NTFS user/group permissions: test no acccess
} -constraints {
- win notNTFS
+ win notNTFS notWine
} -setup {
set owner [getuser $fname]
set user $::env(USERDOMAIN)\\$::env(USERNAME)
@@ -166,7 +166,7 @@ test winFile-4.0 {
test winFile-4.1 {
Enhanced NTFS user/group permissions: test readable only
} -constraints {
- win notNTFS
+ win notNTFS notWine
} -setup {
set user $::env(USERDOMAIN)\\$::env(USERNAME)
} -body {
@@ -177,7 +177,7 @@ test winFile-4.1 {
test winFile-4.2 {
Enhanced NTFS user/group permissions: test writable only
} -constraints {
- win notNTFS
+ win notNTFS notWine
} -setup {
set user $::env(USERDOMAIN)\\$::env(USERNAME)
} -body {
diff --git a/tests/winNotify.test b/tests/winNotify.test
index 3e48dbf..06c1388 100644
--- a/tests/winNotify.test
+++ b/tests/winNotify.test
@@ -4,14 +4,14 @@
# 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) 1997 by Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/winPipe.test b/tests/winPipe.test
index 7e01c5f..10b4c29 100644
--- a/tests/winPipe.test
+++ b/tests/winPipe.test
@@ -6,14 +6,16 @@
# Sourcing this file into Tcl runs the tests and generates output for errors.
# No output (except for one message) means no errors were found.
#
-# Copyright (c) 1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1996 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require tcltest
-namespace import -force ::tcltest::*
+if {"::tcltest" ni [namespace children]} {
+ package require tcltest 2.5
+ namespace import -force ::tcltest::*
+}
unset -nocomplain path
catch {
@@ -26,6 +28,9 @@ set org_pwd [pwd]
set bindir [file join $org_pwd [file dirname [info nameofexecutable]]]
set cat32 [file join $bindir cat32.exe]
+testConstraint notWine [expr {![info exists ::env(CI_USING_WINE)]}]
+
+
# several test-cases here expect current directory == [temporaryDirectory]:
cd [temporaryDirectory]
@@ -195,7 +200,7 @@ test winpipe-4.1 {Tcl_WaitPid} {win exec cat32} {
vwait x
list $result $x [contents $path(stderr)]
} "{$big} 1 stderr32"
-test winpipe-4.2 {Tcl_WaitPid: return of exception codes, SIGFPE} {win exec testexcept} {
+test winpipe-4.2 {Tcl_WaitPid: return of exception codes, SIGFPE} {win exec testexcept notWine} {
set f [open "|[list [interpreter]]" w+]
set pid [pid $f]
puts $f "load $::tcltestlib Tcltest"
@@ -203,7 +208,7 @@ test winpipe-4.2 {Tcl_WaitPid: return of exception codes, SIGFPE} {win exec test
set status [catch {close $f}]
list $status [expr {$pid == [lindex $::errorCode 1]}] [lindex $::errorCode 2]
} {1 1 SIGFPE}
-test winpipe-4.3 {Tcl_WaitPid: return of exception codes, SIGSEGV} {win exec testexcept} {
+test winpipe-4.3 {Tcl_WaitPid: return of exception codes, SIGSEGV} {win exec testexcept notWine} {
set f [open "|[list [interpreter]]" w+]
set pid [pid $f]
puts $f "load $::tcltestlib Tcltest"
@@ -211,7 +216,7 @@ test winpipe-4.3 {Tcl_WaitPid: return of exception codes, SIGSEGV} {win exec tes
set status [catch {close $f}]
list $status [expr {$pid == [lindex $::errorCode 1]}] [lindex $::errorCode 2]
} {1 1 SIGSEGV}
-test winpipe-4.4 {Tcl_WaitPid: return of exception codes, SIGILL} {win exec testexcept} {
+test winpipe-4.4 {Tcl_WaitPid: return of exception codes, SIGILL} {win exec testexcept notWine} {
set f [open "|[list [interpreter]]" w+]
set pid [pid $f]
puts $f "load $::tcltestlib Tcltest"
@@ -219,7 +224,7 @@ test winpipe-4.4 {Tcl_WaitPid: return of exception codes, SIGILL} {win exec test
set status [catch {close $f}]
list $status [expr {$pid == [lindex $::errorCode 1]}] [lindex $::errorCode 2]
} {1 1 SIGILL}
-test winpipe-4.5 {Tcl_WaitPid: return of exception codes, SIGINT} {win exec testexcept} {
+test winpipe-4.5 {Tcl_WaitPid: return of exception codes, SIGINT} {win exec testexcept notWine} {
set f [open "|[list [interpreter]]" w+]
set pid [pid $f]
puts $f "load $::tcltestlib Tcltest"
@@ -517,7 +522,7 @@ test winpipe-8.2 {BuildCommandLine/parse_cmdline pass-thru: check injection on s
} -result {}
test winpipe-8.3 {BuildCommandLine/parse_cmdline pass-thru: check injection on special meta-chars (jointly)} \
--constraints {win exec} -body {
+-constraints {win exec notWine} -body {
_testExecArgs 0 \
[list START {*}$injectList END] \
[list "START\"" {*}$injectList END] \
@@ -526,7 +531,7 @@ test winpipe-8.3 {BuildCommandLine/parse_cmdline pass-thru: check injection on s
} -result {}
test winpipe-8.4 {BuildCommandLine/parse_cmdline pass-thru: check injection on special meta-chars (command/jointly args)} \
--constraints {win exec} -body {
+-constraints {win exec notWine} -body {
_testExecArgs 2 \
[list START {*}$injectList END] \
[list "START\"" {*}$injectList END] \
@@ -535,7 +540,7 @@ test winpipe-8.4 {BuildCommandLine/parse_cmdline pass-thru: check injection on s
} -result {}
test winpipe-8.5 {BuildCommandLine/parse_cmdline pass-thru: check injection on special meta-chars (random mix)} \
--constraints {win exec} -body {
+-constraints {win exec notWine} -body {
set lst {}
set maps {
{\&|^<>!()%}
diff --git a/tests/winTime.test b/tests/winTime.test
index 6a7aedb..5a4a855 100644
--- a/tests/winTime.test
+++ b/tests/winTime.test
@@ -4,14 +4,14 @@
# 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) 1997 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1997 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -19,7 +19,9 @@ if {"::tcltest" ni [namespace children]} {
catch [list package require -exact Tcltest [info patchlevel]]
testConstraint testwinclock [llength [info commands testwinclock]]
-testConstraint knownMsvcBug [expr {![info exists ::env(TRAVIS_OS_NAME)] || ![string match windows $::env(TRAVIS_OS_NAME)]}]
+# Some things fail under all Continuous Integration systems for subtle reasons
+# such as CI often running with elevated privileges in a container.
+testConstraint notInCIenv [expr {![info exists ::env(CI)]}]
# The next two tests will crash on Windows if the check for negative
# clock values is not done properly.
@@ -41,7 +43,7 @@ test winTime-1.2 {TclpGetDate} {win} {
# with the Windows clock. 30 sec really isn't enough,
# but how much time does a tester have patience for?
-test winTime-2.1 {Synchronization of Tcl and Windows clocks} {testwinclock knownMsvcBug} {
+test winTime-2.1 {Synchronization of Tcl and Windows clocks} {testwinclock notInCIenv} {
# May fail due to OS/hardware discrepancies. See:
# http://support.microsoft.com/default.aspx?scid=kb;en-us;274323
set failed {}
diff --git a/tests/zipfs.test b/tests/zipfs.test
index 2ecbdfa..964932f 100644
--- a/tests/zipfs.test
+++ b/tests/zipfs.test
@@ -4,14 +4,14 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1996-1998 by Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1996-1998 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.1
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
diff --git a/tests/zlib.test b/tests/zlib.test
index 463cc7c..f124a95 100644
--- a/tests/zlib.test
+++ b/tests/zlib.test
@@ -4,14 +4,14 @@
# commands. Sourcing this file into Tcl runs the tests and generates output
# for errors. No output means no errors were found.
#
-# Copyright (c) 1996-1998 by Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright © 1996-1998 Sun Microsystems, Inc.
+# Copyright © 1998-1999 Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.1
+ package require tcltest 2.5
namespace import -force ::tcltest::*
}
@@ -140,7 +140,7 @@ test zlib-7.7 {zlib stream: Bug 25842c161} -constraints zlib -body {
} -result ""
# Also causes Tk Bug 10f2e7872b
test zlib-7.8 {zlib stream: Bug b26e38a3e4} -constraints zlib -setup {
- expr srand(12345)
+ expr {srand(12345)}
set randdata {}
for {set i 0} {$i<6001} {incr i} {
append randdata [binary format c [expr {int(256*rand())}]]
@@ -451,7 +451,7 @@ test zlib-8.16 {Bug 3603553: buffer transfer with large writes} -setup {
# Actual data isn't very important; needs to be substantially larger than
# the internal buffer (32kB) and incompressible.
set largeData {}
- for {set i 0;expr srand(1)} {$i < 100000} {incr i} {
+ for {set i 0;expr {srand(1)}} {$i < 100000} {incr i} {
append largeData [lindex "a b c d e f g h i j k l m n o p" \
[expr {int(16*rand())}]]
}