diff options
Diffstat (limited to 'tests/pkg.test')
-rw-r--r-- | tests/pkg.test | 295 |
1 files changed, 101 insertions, 194 deletions
diff --git a/tests/pkg.test b/tests/pkg.test index 68d2a92..b935a3f 100644 --- a/tests/pkg.test +++ b/tests/pkg.test @@ -1,3 +1,4 @@ +# -*- tcl -*- # Commands covered: pkg # # This file contains a collection of tests for one or more of the Tcl @@ -11,27 +12,23 @@ # of this file, and for a DISCLAIMER OF ALL WARRANTIES. if {[lsearch [namespace children] ::tcltest] == -1} { - package require tcltest 2 + package require tcltest 2.3.4 namespace import -force ::tcltest::* } # Do all this in a slave interp to avoid garbaging the # package list set i [interp create] -interp eval $i [list set argv $argv] -interp eval $i [list package require tcltest 2] -interp eval $i [list namespace import -force ::tcltest::*] -interp eval $i { +tcltest::loadIntoSlaveInterpreter $i {*}$argv -eval package forget [package names] +interp eval $i { +namespace import -force ::tcltest::* +package forget {*}[package names] set oldPkgUnknown [package unknown] package unknown {} set oldPath $auto_path set auto_path "" -testConstraint tip268 [info exists tcl_platform(tip,268)] -testConstraint !tip268 [expr {![info exists tcl_platform(tip,268)]}] - test pkg-1.1 {Tcl_PkgProvide procedure} { package forget t package provide t 2.3 @@ -57,7 +54,7 @@ test pkg-1.5 {Tcl_PkgProvide procedure} { package provide t 2.3 } {} -test pkg-1.6 {Tcl_PkgProvide procedure} tip268 { +test pkg-1.6 {Tcl_PkgProvide procedure} { package forget t package provide t 2.3a1 } {} @@ -67,7 +64,7 @@ foreach v { 2.3k1 2a3a2 2ab3 2.a4 2.b4 2b.4 2a.4 2ba4 2a4b1 2b4a1 2b3b2 } { - test pkg-1.7.$n {Tcl_PkgProvide procedure} tip268 { + test pkg-1.7.$n {Tcl_PkgProvide procedure} { package forget t list [catch {package provide t $v} msg] $msg } [list 1 "expected version number but got \"$v\""] @@ -135,24 +132,14 @@ test pkg-2.7 {Tcl_PkgRequire procedure, can't find suitable version} { } list [catch {package require t 4.1} msg] $msg } {1 {can't find package t 4.1}} -test pkg-2.8 {Tcl_PkgRequire procedure, can't find suitable version} !tip268 { - package forget t - package unknown {} - foreach i {1.4 3.4 2.3 2.4 2.2} { - package ifneeded t $i "set x $i" - } - list [catch {package require -exact t 1.3} msg] $msg - -} {1 {can't find package t 1.3}} -test pkg-2.8-268 {Tcl_PkgRequire procedure, can't find suitable version} tip268 { +test pkg-2.8 {Tcl_PkgRequire procedure, can't find suitable version} { package forget t package unknown {} foreach i {1.4 3.4 2.3 2.4 2.2} { package ifneeded t $i "set x $i" } list [catch {package require -exact t 1.3} msg] $msg - -} {1 {can't find package t 1.3}} +} {1 {can't find package t exactly 1.3}} test pkg-2.9 {Tcl_PkgRequire procedure, can't find suitable version} { package forget t package unknown {} @@ -161,7 +148,7 @@ test pkg-2.9 {Tcl_PkgRequire procedure, can't find suitable version} { test pkg-2.10 {Tcl_PkgRequire procedure, error in ifneeded script} -body { package forget t package ifneeded t 2.1 {package provide t 2.1; error "ifneeded test"} - list [catch {package require t 2.1} msg] $msg $errorInfo + list [catch {package require t 2.1} msg] $msg $::errorInfo } -match glob -result {1 {ifneeded test} {ifneeded test while executing "error "ifneeded test"" @@ -181,24 +168,7 @@ test pkg-2.12 {Tcl_PkgRequire procedure, self-deleting script} { package require t 1.2 set x } {1.2} -test pkg-2.13-!268 {Tcl_PkgRequire procedure, "package unknown" support} !tip268 { - proc pkgUnknown args { - global x - set x $args - package provide [lindex $args 0] [lindex $args 1] - } - package forget t - foreach i {1.4 3.4 2.3 2.4 2.2} { - package ifneeded t $i "set x $i" - } - package unknown pkgUnknown - set x xxx - package require -exact t 1.5 - package unknown {} - set x -} {t 1.5 -exact} - -test pkg-2.13-268 {Tcl_PkgRequire procedure, "package unknown" support} tip268 { +test pkg-2.13 {Tcl_PkgRequire procedure, "package unknown" support} { proc pkgUnknown args { # args = name requirement # requirement = v-v (for exact version) @@ -216,7 +186,6 @@ test pkg-2.13-268 {Tcl_PkgRequire procedure, "package unknown" support} tip268 { package unknown {} set x } {t 1.5-1.5} - test pkg-2.14 {Tcl_PkgRequire procedure, "package unknown" support} { proc pkgUnknown args { package ifneeded t 1.2 "set x loaded; package provide t 1.2" @@ -228,20 +197,7 @@ test pkg-2.14 {Tcl_PkgRequire procedure, "package unknown" support} { package unknown {} set result } {1.2 loaded} -test pkg-2.15 {Tcl_PkgRequire procedure, "package unknown" support} !tip268 { - proc pkgUnknown args { - global x - set x $args - package provide [lindex $args 0] 2.0 - } - package forget {a b} - package unknown pkgUnknown - set x xxx - package require {a b} - package unknown {} - set x -} {{a b} {}} -test pkg-2.15-268 {Tcl_PkgRequire procedure, "package unknown" support} tip268 { +test pkg-2.15 {Tcl_PkgRequire procedure, "package unknown" support} { proc pkgUnknown args { global x set x $args @@ -254,31 +210,13 @@ test pkg-2.15-268 {Tcl_PkgRequire procedure, "package unknown" support} tip268 { package unknown {} set x } {{a b} 0-} -test pkg-2.16 {Tcl_PkgRequire procedure, "package unknown" error} !tip268 { - proc pkgUnknown args { - error "testing package unknown" - } - package forget t - package unknown pkgUnknown - set result [list [catch {package require t} msg] $msg $errorInfo] - package unknown {} - set result -} {1 {testing package unknown} {testing package unknown - while executing -"error "testing package unknown"" - (procedure "pkgUnknown" line 2) - invoked from within -"pkgUnknown t {}" - ("package unknown" script) - invoked from within -"package require t"}} -test pkg-2.16-268 {Tcl_PkgRequire procedure, "package unknown" error} tip268 { +test pkg-2.16 {Tcl_PkgRequire procedure, "package unknown" error} { proc pkgUnknown args { error "testing package unknown" } package forget t package unknown pkgUnknown - set result [list [catch {package require t} msg] $msg $errorInfo] + set result [list [catch {package require t} msg] $msg $::errorInfo] package unknown {} set result } {1 {testing package unknown} {testing package unknown @@ -290,22 +228,7 @@ test pkg-2.16-268 {Tcl_PkgRequire procedure, "package unknown" error} tip268 { ("package unknown" script) invoked from within "package require t"}} -test pkg-2.17 {Tcl_PkgRequire procedure, "package unknown" doesn't load package} !tip268 { - proc pkgUnknown args { - global x - set x $args - } - package forget t - foreach i {1.4 3.4 2.3 2.4 2.2} { - package ifneeded t $i "set x $i" - } - package unknown pkgUnknown - set x xxx - set result [list [catch {package require -exact t 1.5} msg] $msg $x] - package unknown {} - set result -} {1 {can't find package t 1.5} {t 1.5 -exact}} -test pkg-2.17-268 {Tcl_PkgRequire procedure, "package unknown" doesn't load package} tip268 { +test pkg-2.17 {Tcl_PkgRequire procedure, "package unknown" doesn't load package} { proc pkgUnknown args { global x set x $args @@ -319,7 +242,7 @@ test pkg-2.17-268 {Tcl_PkgRequire procedure, "package unknown" doesn't load pack set result [list [catch {package require -exact t 1.5} msg] $msg $x] package unknown {} set result -} {1 {can't find package t 1.5} {t 1.5-1.5}} +} {1 {can't find package t exactly 1.5} {t 1.5-1.5}} test pkg-2.18 {Tcl_PkgRequire procedure, version checks} { package forget t package provide t 2.3 @@ -350,28 +273,23 @@ test pkg-2.23 {Tcl_PkgRequire procedure, version checks} { package provide t 2.3 package require -exact t 2.3 } {2.3} -test pkg-2.24 {Tcl_PkgRequire procedure, version checks} !tip268 { +test pkg-2.24 {Tcl_PkgRequire procedure, version checks} { package forget t package provide t 2.3 list [catch {package require -exact t 2.2} msg] $msg -} {1 {version conflict for package "t": have 2.3, need 2.2}} -test pkg-2.24-268 {Tcl_PkgRequire procedure, version checks} tip268 { - package forget t - package provide t 2.3 - list [catch {package require -exact t 2.2} msg] $msg -} {1 {version conflict for package "t": have 2.3, need 2.2}} +} {1 {version conflict for package "t": have 2.3, need exactly 2.2}} test pkg-2.25 {Tcl_PkgRequire procedure, error in ifneeded script} -body { package forget t package ifneeded t 2.1 {package provide t 2.1; error "ifneeded test" EI} - list [catch {package require t 2.1} msg] $msg $errorInfo + list [catch {package require t 2.1} msg] $msg $::errorInfo } -match glob -result {1 {ifneeded test} {EI ("package ifneeded*" script) invoked from within -"package require t 2.1"}} -constraints knownBug +"package require t 2.1"}} test pkg-2.26 {Tcl_PkgRequire procedure, error in ifneeded script} -body { package forget t package ifneeded t 2.1 {package provide t 2.1; foreach x 1 {error "ifneeded test" EI}} - list [catch {package require t 2.1} msg] $msg $errorInfo + list [catch {package require t 2.1} msg] $msg $::errorInfo } -match glob -result {1 {ifneeded test} {EI ("foreach" body line 1) invoked from within @@ -450,7 +368,7 @@ test pkg-2.34 {Tcl_PkgRequire: consistent return values (1162286)} -setup { package require foo 1 } -cleanup { package forget foo -} -result 1.1 +} -returnCodes error -match glob -result {attempt to provide package * failed:*} test pkg-2.34.1 {Tcl_PkgRequire: consistent return values (1162286)} -setup { package forget foo } -body { @@ -458,7 +376,7 @@ test pkg-2.34.1 {Tcl_PkgRequire: consistent return values (1162286)} -setup { package require foo 1 } -cleanup { package forget foo -} -result 1 +} -returnCodes error -match glob -result {attempt to provide package * failed:*} test pkg-2.34.2 {Tcl_PkgRequire: consistent return values (1162286)} -setup { package forget foo } -body { @@ -505,10 +423,9 @@ test pkg-2.37 {Tcl_PkgRequire: consistent return values (1162286)} -setup { test pkg-2.38 {Tcl_PkgRequire: consistent return values (1162286)} -setup { package forget foo } -body { - package ifneeded foo 1 {proc x {} {return -code 10}; x} + package ifneeded foo 1 {return -level 0 -code 10} package require foo 1 } -cleanup { - rename x {} package forget foo } -returnCodes error -match glob \ -result {attempt to provide package * failed: bad return code:*} @@ -555,19 +472,23 @@ test pkg-2.42 {Tcl_PkgRequire: consistent return values (1162286)} -setup { test pkg-2.43 {Tcl_PkgRequire: consistent return values (1162286)} -setup { package forget foo set saveUnknown [package unknown] - proc x args {return -code 10} - package unknown x + package unknown {return -level 0 -code 10 ;#} } -body { package require foo 1 } -cleanup { - rename x {} package forget foo package unknown $saveUnknown } -returnCodes error -match glob -result {bad return code:*} +test pkg-2.44 {Tcl_PkgRequire: exact version matching (1578344)} -setup { + package provide demo 1.2.3 +} -body { + package require -exact demo 1.2 +} -cleanup { + package forget demo +} -returnCodes error -result {version conflict for package "demo": have 1.2.3, need exactly 1.2} - -test pkg-2.50 {Tcl_PkgRequire procedure, picking best stable version} tip268 { +test pkg-2.50 {Tcl_PkgRequire procedure, picking best stable version} { package forget t foreach i {1.4 3.4 4.0a1 2.3 2.4 2.2} { package ifneeded t $i "set x $i; package provide t $i" @@ -577,7 +498,7 @@ test pkg-2.50 {Tcl_PkgRequire procedure, picking best stable version} tip268 { set x } {3.4} -test pkg-2.51 {Tcl_PkgRequire procedure, picking best stable version} tip268 { +test pkg-2.51 {Tcl_PkgRequire procedure, picking best stable version} { package forget t foreach i {1.2b1 1.2 1.3a2 1.3} { package ifneeded t $i "set x $i; package provide t $i" @@ -587,7 +508,7 @@ test pkg-2.51 {Tcl_PkgRequire procedure, picking best stable version} tip268 { set x } {1.3} -test pkg-2.52 {Tcl_PkgRequire procedure, picking best stable version} tip268 { +test pkg-2.52 {Tcl_PkgRequire procedure, picking best stable version} { package forget t foreach i {1.2b1 1.2 1.3 1.3a2} { package ifneeded t $i "set x $i; package provide t $i" @@ -722,42 +643,26 @@ test pkg-3.21 {Tcl_PackageCmd procedure, "provide" option} { package forget t list [catch {package provide t a.b} msg] $msg } {1 {expected version number but got "a.b"}} -test pkg-3.22 {Tcl_PackageCmd procedure, "require" option} !tip268 { - list [catch {package require} msg] $msg -} {1 {wrong # args: should be "package require ?-exact? package ?version?"}} -test pkg-3.22-268 {Tcl_PackageCmd procedure, "require" option} tip268 { +test pkg-3.22 {Tcl_PackageCmd procedure, "require" option} { list [catch {package require} msg] $msg } {1 {wrong # args: should be "package require ?-exact? package ?requirement...?"}} -test pkg-3.23 {Tcl_PackageCmd procedure, "require" option} !tip268 { - list [catch {package require a b c} msg] $msg -} {1 {wrong # args: should be "package require ?-exact? package ?version?"}} -test pkg-3.24 {Tcl_PackageCmd procedure, "require" option} !tip268 { - list [catch {package require -exact a b c} msg] $msg -} {1 {wrong # args: should be "package require ?-exact? package ?version?"}} -test pkg-3.24-268 {Tcl_PackageCmd procedure, "require" option} tip268 { + +test pkg-3.24 {Tcl_PackageCmd procedure, "require" option} { list [catch {package require -exact a b c} msg] $msg # Exact syntax: -exact name version # name ?requirement...? } {1 {wrong # args: should be "package require ?-exact? package ?requirement...?"}} -test pkg-3.25 {Tcl_PackageCmd procedure, "require" option} !tip268 { - list [catch {package require -bs a b} msg] $msg -} {1 {wrong # args: should be "package require ?-exact? package ?version?"}} + test pkg-3.26 {Tcl_PackageCmd procedure, "require" option} { list [catch {package require x a.b} msg] $msg } {1 {expected version number but got "a.b"}} test pkg-3.27 {Tcl_PackageCmd procedure, "require" option} { list [catch {package require -exact x a.b} msg] $msg } {1 {expected version number but got "a.b"}} -test pkg-3.28 {Tcl_PackageCmd procedure, "require" option} !tip268 { - list [catch {package require -exact x} msg] $msg -} {1 {wrong # args: should be "package require ?-exact? package ?version?"}} -test pkg-3.28-268 {Tcl_PackageCmd procedure, "require" option} tip268 { +test pkg-3.28 {Tcl_PackageCmd procedure, "require" option} { list [catch {package require -exact x} msg] $msg } {1 {wrong # args: should be "package require ?-exact? package ?requirement...?"}} -test pkg-3.29 {Tcl_PackageCmd procedure, "require" option} !tip268 { - list [catch {package require -exact} msg] $msg -} {1 {wrong # args: should be "package require ?-exact? package ?version?"}} -test pkg-3.29-268 {Tcl_PackageCmd procedure, "require" option} tip268 { +test pkg-3.29 {Tcl_PackageCmd procedure, "require" option} { list [catch {package require -exact} msg] $msg } {1 {wrong # args: should be "package require ?-exact? package ?requirement...?"}} test pkg-3.30 {Tcl_PackageCmd procedure, "require" option} { @@ -825,15 +730,10 @@ test pkg-3.46 {Tcl_PackageCmd procedure, "versions" option} { package ifneeded t 2.4 y package versions t } {2.3 2.4} -test pkg-3.47 {Tcl_PackageCmd procedure, "vsatisfies" option} !tip268 { - list [catch {package vsatisfies a} msg] $msg -} {1 {wrong # args: should be "package vsatisfies version1 version2"}} -test pkg-3.47-268 {Tcl_PackageCmd procedure, "vsatisfies" option} tip268 { +test pkg-3.47 {Tcl_PackageCmd procedure, "vsatisfies" option} { list [catch {package vsatisfies a} msg] $msg } {1 {wrong # args: should be "package vsatisfies version requirement requirement..."}} -test pkg-3.48 {Tcl_PackageCmd procedure, "vsatisfies" option} !tip268 { - list [catch {package vsatisfies a b c} msg] $msg -} {1 {wrong # args: should be "package vsatisfies version1 version2"}} + test pkg-3.49 {Tcl_PackageCmd procedure, "vsatisfies" option} { list [catch {package vsatisfies x.y 3.4} msg] $msg } {1 {expected version number but got "x.y"}} @@ -846,25 +746,23 @@ test pkg-3.51 {Tcl_PackageCmd procedure, "vsatisfies" option} { test pkg-3.52 {Tcl_PackageCmd procedure, "vsatisfies" option} { package vs 2.3 1.2 } {0} -test pkg-3.53 {Tcl_PackageCmd procedure, "versions" option} !tip268 { - list [catch {package foo} msg] $msg -} {1 {bad option "foo": must be forget, ifneeded, names, present, provide, require, unknown, vcompare, versions, or vsatisfies}} -test pkg-3.53-268 {Tcl_PackageCmd procedure, "versions" option} tip268 { +test pkg-3.53 {Tcl_PackageCmd procedure, "versions" option} { list [catch {package foo} msg] $msg } {1 {bad option "foo": must be forget, ifneeded, names, prefer, present, provide, require, unknown, vcompare, versions, or vsatisfies}} -test pkg-3.54 {Tcl_PackageCmd procedure, "vsatisfies" option} tip268 { +test pkg-3.54 {Tcl_PackageCmd procedure, "vsatisfies" option} { list [catch {package vsatisfies 2.1 2.1-3.2-4.5} msg] $msg } {1 {expected versionMin-versionMax but got "2.1-3.2-4.5"}} -test pkg-3.55 {Tcl_PackageCmd procedure, "vsatisfies" option} tip268 { +test pkg-3.55 {Tcl_PackageCmd procedure, "vsatisfies" option} { list [catch {package vsatisfies 2.1 3.2-x.y} msg] $msg } {1 {expected version number but got "x.y"}} -test pkg-3.56 {Tcl_PackageCmd procedure, "vsatisfies" option} tip268 { +test pkg-3.56 {Tcl_PackageCmd procedure, "vsatisfies" option} { list [catch {package vsatisfies 2.1 x.y-3.2} msg] $msg } {1 {expected version number but got "x.y"}} + # No tests for FindPackage; can't think up anything detectable # errors. @@ -972,7 +870,7 @@ test pkg-7.7 {Tcl_PkgPresent procedure, not exact version} { package forget t package provide t 2.4 list [catch {package present -exact t 2.3} msg] $msg -} {1 {version conflict for package "t": have 2.4, need 2.3}} +} {1 {version conflict for package "t": have 2.4, need exactly 2.3}} test pkg-7.8 {Tcl_PkgPresent procedure, unknown package} { package forget t list [catch {package present t} msg] $msg @@ -985,50 +883,36 @@ test pkg-7.10 {Tcl_PkgPresent procedure, unknown package} { package forget t list [catch {package present -exact t 2.4} msg] $msg } {1 {package t 2.4 is not present}} -test pkg-7.11 {Tcl_PackageCmd procedure, "present" option} !tip268 { +test pkg-7.11 {Tcl_PackageCmd procedure, "present" option} { list [catch {package present} msg] $msg -} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} -test pkg-7.12 {Tcl_PackageCmd procedure, "present" option} !tip268 { +} {1 {wrong # args: should be "package present ?-exact? package ?requirement...?"}} +test pkg-7.12 {Tcl_PackageCmd procedure, "present" option} { list [catch {package present a b c} msg] $msg -} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} -test pkg-7.13 {Tcl_PackageCmd procedure, "present" option} !tip268 { +} {1 {expected version number but got "b"}} +test pkg-7.13 {Tcl_PackageCmd procedure, "present" option} { list [catch {package present -exact a b c} msg] $msg -} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} -test pkg-7.14 {Tcl_PackageCmd procedure, "present" option} !tip268 { +} {1 {wrong # args: should be "package present ?-exact? package ?requirement...?"}} +test pkg-7.14 {Tcl_PackageCmd procedure, "present" option} { list [catch {package present -bs a b} msg] $msg -} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +} {1 {expected version number but got "a"}} test pkg-7.15 {Tcl_PackageCmd procedure, "present" option} { list [catch {package present x a.b} msg] $msg } {1 {expected version number but got "a.b"}} test pkg-7.16 {Tcl_PackageCmd procedure, "present" option} { list [catch {package present -exact x a.b} msg] $msg } {1 {expected version number but got "a.b"}} -test pkg-7.17 {Tcl_PackageCmd procedure, "present" option} !tip268 { +test pkg-7.17 {Tcl_PackageCmd procedure, "present" option} { list [catch {package present -exact x} msg] $msg -} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} -test pkg-7.18 {Tcl_PackageCmd procedure, "present" option} !tip268 { +} {1 {wrong # args: should be "package present ?-exact? package ?requirement...?"}} +test pkg-7.18 {Tcl_PackageCmd procedure, "present" option} { list [catch {package present -exact} msg] $msg -} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +} {1 {wrong # args: should be "package present ?-exact? package ?requirement...?"}} -# Note: It is correct that the result of the very first test, -# i.e. "5.0 5.0a0" is 1, i.e. that version 5.0a0 satisfies a 5.0 -# requirement. -# The requirement "5.0" internally translates first to "5.0-6", and -# then to its final form of "5.0a0-6a0". These translations are -# explicitly specified by the TIP (Search for "padded/extended -# internally with 'a0'"). This was done intentionally for exactly the -# tested case, that an alpha package can satisfy a requirement for the -# regular package. An example would be a package FOO requiring Tcl 8.X -# for its operation. It can be used with Tcl 8.Xa0. Without our -# translation that would not be possible. set n 0 foreach {r p vs vc} { - 5.0 5.0a0 1 1 - 5.0a0 5.0 1 -1 - 8.5a0 8.5a5 1 -1 8.5a0 8.5b1 1 -1 8.5a0 8.5.1 1 -1 @@ -1065,20 +949,43 @@ foreach {r p vs vc} { 8.5.0 8.6a0 1 -1 8.5.0 8.6b0 1 -1 8.5.0 8.6.0 1 -1 + 10 8 0 1 + 8 10 0 -1 + 0.0.1.2 0.1.2 1 -1 } { - test package-vsatisfies-1.$n {package vsatisfies} tip268 { + test package-vsatisfies-1.$n {package vsatisfies} { package vsatisfies $p $r } $vs - test package-vcompare-1.$n {package vcompare} tip268 { + test package-vcompare-1.$n {package vcompare} { package vcompare $r $p } $vc incr n } +test package-vcompare-2.0 {package vcompare at 32bit boundary} { + package vcompare [expr {1<<31}] [expr {(1<<31)-1}] +} 1 + +# Note: It is correct that the result of the very first test, +# i.e. "5.0 5.0a0" is 1, i.e. that version 5.0a0 satisfies a 5.0 +# requirement. + +# The requirement "5.0" internally translates first to "5.0-6", and +# then to its final form of "5.0a0-6a0". These translations are +# explicitly specified by the TIP (Search for "padded/extended +# internally with 'a0'"). This was done intentionally for exactly the +# tested case, that an alpha package can satisfy a requirement for the +# regular package. An example would be a package FOO requiring Tcl 8.X +# for its operation. It can be used with Tcl 8.Xa0. Without our +# translation that would not be possible. + set n 0 foreach {required provided satisfied} { + 5.0 5.0a0 1 + 5.0a0 5.0 1 + 8.5a0- 8.5a5 1 8.5a0- 8.5b1 1 8.5a0- 8.5.1 1 @@ -1218,28 +1125,28 @@ foreach {required provided satisfied} { 8.5a0-8.5.0 8.5 0 } { - test package-vsatisfies-2.$n "package vsatisfies $provided $required" tip268 { + test package-vsatisfies-2.$n "package vsatisfies $provided $required" { package vsatisfies $provided $required } $satisfied incr n } -test package-vsatisfies-3.0 "package vsatisfies multiple" tip268 { +test package-vsatisfies-3.0 "package vsatisfies multiple" { # yes no package vsatisfies 8.4 8.4 7.3 } 1 -test package-vsatisfies-3.1 "package vsatisfies multiple" tip268 { +test package-vsatisfies-3.1 "package vsatisfies multiple" { # no yes package vsatisfies 8.4 7.3 8.4 } 1 -test package-vsatisfies-3.2 "package vsatisfies multiple" tip268 { +test package-vsatisfies-3.2 "package vsatisfies multiple" { # yes yes package vsatisfies 8.4.2 8.4 8.4.1 } 1 -test package-vsatisfies-3.3 "package vsatisfies multiple" tip268 { +test package-vsatisfies-3.3 "package vsatisfies multiple" { # no no package vsatisfies 8.4 7.3 6.1 } 0 @@ -1255,44 +1162,44 @@ proc prefer {args} { return $res } -test package-prefer-1.0 {default} tip268 { +test package-prefer-1.0 {default} { prefer } stable -test package-prefer-1.1 {default} tip268 { +test package-prefer-1.1 {default} { set ::env(TCL_PKG_PREFER_LATEST) stable ; # value not relevant! set res [prefer] unset ::env(TCL_PKG_PREFER_LATEST) set res } latest -test package-prefer-2.0 {wrong\#args} tip268 { +test package-prefer-2.0 {wrong\#args} { catch {package prefer foo bar} msg set msg } {wrong # args: should be "package prefer ?latest|stable?"} -test package-prefer-2.1 {bogus argument} tip268 { +test package-prefer-2.1 {bogus argument} { catch {package prefer foo} msg set msg } {bad preference "foo": must be latest or stable} -test package-prefer-3.0 {set, keep} tip268 { +test package-prefer-3.0 {set, keep} { package prefer stable } stable -test package-prefer-3.1 {set stable, keep} tip268 { +test package-prefer-3.1 {set stable, keep} { prefer stable } {stable stable} -test package-prefer-3.2 {set latest, change} tip268 { +test package-prefer-3.2 {set latest, change} { prefer latest } {stable latest} -test package-prefer-3.3 {set latest, keep} tip268 { +test package-prefer-3.3 {set latest, keep} { prefer latest latest } {stable latest latest} -test package-prefer-3.4 {set stable, rejected} tip268 { +test package-prefer-3.4 {set stable, rejected} { prefer latest stable } {stable latest latest} |