summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/io.test186
-rw-r--r--tests/ioCmd.test26
-rw-r--r--tests/platform.test13
3 files changed, 25 insertions, 200 deletions
diff --git a/tests/io.test b/tests/io.test
index 914cbca..50c5808 100644
--- a/tests/io.test
+++ b/tests/io.test
@@ -7886,192 +7886,6 @@ test io-53.15 {[ed29c4da21] DoRead: fblocked seen as error} -setup {
removeFile out
} -result 100
-test io-53.18 {[32ae34e63a] recursive CopyData} -setup {
- proc driver {cmd args} {
- variable buffer
- variable index
- set chan [lindex $args 0]
- switch -- $cmd {
- initialize {
- set index($chan) 0
- set buffer($chan) [encoding convertto utf-8 \
- [string repeat a 100]]
- return {initialize finalize watch read}
- }
- finalize {
- unset index($chan) buffer($chan)
- return
- }
- watch {
- if {"read" in [lindex $args 1]} {
- chan postevent $chan read
- }
- return
- }
- read {
- set n [lindex $args 1]
- set new [expr {$index($chan) + $n}]
- set result [string range $buffer($chan) $index($chan) $new-1]
- set index($chan) $new
- return $result
- }
- }
- }
- proc more {c outChan bytes args} {
- if {[eof $c]} {
- set ::done eof
- catch {close $c}
- return
- }
- if {[llength $args]} {
- set ::done error
- } else {
- chan copy $c $outChan -command [list [namespace which more] $c $outChan]
- }
- }
- set c [chan create read [namespace which driver]]
- chan configure $c -encoding utf-8
- set out [makeFile {} out]
- set outChan [open $out w]
- # Different encoding to force use of DoReadChars()
- chan configure $outChan -encoding iso8859-1
-} -body {
- after 100 {set ::done timeout}
- chan copy $c $outChan -size 99 -command [list [namespace which more] $c $outChan]
- vwait ::done
- set ::done
-} -cleanup {
- close $outChan
- removeFile out
- rename driver {}
- rename more {}
- unset ::done
-} -result eof
-
-test io-53.19 {[32ae34e63a] stop ReflectWatch filtering} -setup {
- proc driver {cmd args} {
- variable buffer
- variable index
- set chan [lindex $args 0]
- switch -- $cmd {
- initialize {
- set index($chan) 0
- set buffer($chan) [encoding convertto utf-8 \
- [string repeat a 100]]
- return {initialize finalize watch read}
- }
- finalize {
- unset index($chan) buffer($chan)
- return
- }
- watch {
- if {"read" in [lindex $args 1]} {
- chan postevent $chan read
- }
- return
- }
- read {
- set n [lindex $args 1]
- set new [expr {$index($chan) + $n}]
- set result [string range $buffer($chan) $index($chan) $new-1]
- set index($chan) $new
- return $result
- }
- }
- }
- proc more {c outChan bytes args} {
- if {[eof $c]} {
- set ::done eof
- catch {close $c}
- return
- }
- if {[llength $args]} {
- set ::done error
- } else {
- chan copy $c $outChan -size 30 -command [list [namespace which more] $c $outChan]
- }
- }
- set c [chan create read [namespace which driver]]
- chan configure $c -encoding utf-8 -buffersize 20
- set out [makeFile {} out]
- set outChan [open $out w]
- # Different encoding to force use of DoReadChars()
- chan configure $outChan -encoding iso8859-1
-} -body {
- after 100 {set ::done timeout}
- chan copy $c $outChan -size 30 -command [list [namespace which more] $c $outChan]
- vwait ::done
- set ::done
-} -cleanup {
- catch {close $outChan}
- removeFile out
- rename driver {}
- rename more {}
- unset ::done
-} -result eof
-
-test io-53.20 {[e0a7b3e5f8] DoRead calls to UpdateInterest} -setup {
- proc driver {cmd args} {
- variable buffer
- variable index
- set chan [lindex $args 0]
- switch -- $cmd {
- initialize {
- set index($chan) 0
- set buffer($chan) [encoding convertto utf-8 \
- [string repeat a 100]]
- return {initialize finalize watch read}
- }
- finalize {
- unset index($chan) buffer($chan)
- return
- }
- watch {
- if {"read" in [lindex $args 1]} {
- chan postevent $chan read
- }
- return
- }
- read {
- set n [lindex $args 1]
- set new [expr {$index($chan) + $n}]
- set result [string range $buffer($chan) $index($chan) $new-1]
- set index($chan) $new
- return $result
- }
- }
- }
- proc more {c outChan bytes args} {
- if {[eof $c]} {
- set ::done eof
- catch {close $c}
- return
- }
- if {[llength $args]} {
- set ::done error
- } else {
- chan copy $c $outChan -size 10 -command [list [namespace which more] $c $outChan]
- }
- }
- set c [chan create read [namespace which driver]]
- chan configure $c -encoding utf-8 -buffersize 20
- set out [makeFile {} out]
- set outChan [open $out w]
- # Same encoding to force use of DoRead()
- chan configure $outChan -encoding utf-8
-} -body {
- after 100 {set ::done timeout}
- chan copy $c $outChan -size 10 -command [list [namespace which more] $c $outChan]
- vwait ::done
- set ::done
-} -cleanup {
- catch {close $outChan}
- removeFile out
- rename driver {}
- rename more {}
- unset ::done
-} -result eof
-
test io-54.1 {Recursive channel events} {socket fileevent} {
# This test checks to see if file events are delivered during recursive
# event loops when there is buffered data on the channel.
diff --git a/tests/ioCmd.test b/tests/ioCmd.test
index e2a6d84..5a76d48 100644
--- a/tests/ioCmd.test
+++ b/tests/ioCmd.test
@@ -981,7 +981,7 @@ test iocmd-23.1 {chan read, regular data return} -match glob -body {
close $c
rename foo {}
set res
-} -result {{read rc* 4096} {read rc* 4096} {watch rc* {}} snarfsnarf}
+} -result {{read rc* 4096} {read rc* 4096} snarfsnarf}
test iocmd-23.2 {chan read, bad data return, to much} -match glob -body {
set res {}
proc foo {args} {
@@ -993,7 +993,7 @@ test iocmd-23.2 {chan read, bad data return, to much} -match glob -body {
close $c
rename foo {}
set res
-} -result {{read rc* 4096} {watch rc* {}} 1 {read delivered more than requested}}
+} -result {{read rc* 4096} 1 {read delivered more than requested}}
test iocmd-23.3 {chan read, for non-readable channel} -match glob -body {
set res {}
proc foo {args} {
@@ -1016,7 +1016,7 @@ test iocmd-23.4 {chan read, error return} -match glob -body {
close $c
rename foo {}
set res
-} -result {{read rc* 4096} {watch rc* {}} 1 BOOM!}
+} -result {{read rc* 4096} 1 BOOM!}
test iocmd-23.5 {chan read, break return is error} -match glob -body {
set res {}
proc foo {args} {
@@ -1028,7 +1028,7 @@ test iocmd-23.5 {chan read, break return is error} -match glob -body {
close $c
rename foo {}
set res
-} -result {{read rc* 4096} {watch rc* {}} 1 *bad code*}
+} -result {{read rc* 4096} 1 *bad code*}
test iocmd-23.6 {chan read, continue return is error} -match glob -body {
set res {}
proc foo {args} {
@@ -1040,7 +1040,7 @@ test iocmd-23.6 {chan read, continue return is error} -match glob -body {
close $c
rename foo {}
set res
-} -result {{read rc* 4096} {watch rc* {}} 1 *bad code*}
+} -result {{read rc* 4096} 1 *bad code*}
test iocmd-23.7 {chan read, custom return is error} -match glob -body {
set res {}
proc foo {args} {
@@ -1052,7 +1052,7 @@ test iocmd-23.7 {chan read, custom return is error} -match glob -body {
close $c
rename foo {}
set res
-} -result {{read rc* 4096} {watch rc* {}} 1 *bad code*}
+} -result {{read rc* 4096} 1 *bad code*}
test iocmd-23.8 {chan read, level is squashed} -match glob -body {
set res {}
proc foo {args} {
@@ -1064,7 +1064,7 @@ test iocmd-23.8 {chan read, level is squashed} -match glob -body {
close $c
rename foo {}
set res
-} -result {{read rc* 4096} {watch rc* {}} 1 *bad code* {-code 1 -level 0 -errorcode NONE -errorline 1 -errorinfo *bad code*subcommand "read"*}}
+} -result {{read rc* 4096} 1 *bad code* {-code 1 -level 0 -errorcode NONE -errorline 1 -errorinfo *bad code*subcommand "read"*}}
test iocmd-23.9 {chan read, no data means eof} -match glob -setup {
set res {}
proc foo {args} {
@@ -1080,7 +1080,7 @@ test iocmd-23.9 {chan read, no data means eof} -match glob -setup {
close $c
rename foo {}
unset res
-} -result {{read rc* 4096} {watch rc* {}} {} 1}
+} -result {{read rc* 4096} {} 1}
test iocmd-23.10 {chan read, EAGAIN means no data, yet no eof either} -match glob -setup {
set res {}
proc foo {args} {
@@ -1096,7 +1096,7 @@ test iocmd-23.10 {chan read, EAGAIN means no data, yet no eof either} -match glo
close $c
rename foo {}
unset res
-} -result {{read rc* 4096} {watch rc* {}} {} 0}
+} -result {{read rc* 4096} {} 0}
test iocmd-23.11 {chan read, close pulls the rug out} -match glob -body {
set res {}
proc foo {args} {
@@ -1410,14 +1410,14 @@ test iocmd-25.10 {chan configure, cgetall, level is ignored} -match glob -body {
test iocmd-26.1 {chan configure, set standard option} -match glob -body {
set res {}
proc foo {args} {
- oninit configure; onfinal; track; return
+ oninit configure; onfinal; track; note MUST_NOT_HAPPEN; return
}
set c [chan create {r w} foo]
note [fconfigure $c -translation lf]
close $c
rename foo {}
set res
-} -result {{watch rc* {}} {}}
+} -result {{}}
test iocmd-26.2 {chan configure, set option, error return} -match glob -body {
set res {}
proc foo {args} {
@@ -1955,7 +1955,7 @@ test iocmd-31.6 {chan postevent, posted events do happen} -match glob -body {
close $c
rename foo {}
set res
-} -result {{watch rc* read} {} TOCK {watch rc* read} {} {watch rc* {}}}
+} -result {{watch rc* read} {} TOCK {} {watch rc* {}}}
test iocmd-31.7 {chan postevent, posted events do happen} -match glob -body {
set res {}
proc foo {args} {oninit; onfinal; track; return}
@@ -1968,7 +1968,7 @@ test iocmd-31.7 {chan postevent, posted events do happen} -match glob -body {
close $c
rename foo {}
set res
-} -result {{watch rc* write} {} TOCK {watch rc* write} {} {watch rc* {}}}
+} -result {{watch rc* write} {} TOCK {} {watch rc* {}}}
test iocmd-31.8 {chan postevent after close throws error} -match glob -setup {
proc foo {args} {oninit; onfinal; track; return}
proc dummy args { return }
diff --git a/tests/platform.test b/tests/platform.test
index ab82d07..b5ddc48 100644
--- a/tests/platform.test
+++ b/tests/platform.test
@@ -1,4 +1,4 @@
-# The file tests the tcl_platform variable
+# The file tests the tcl_platform variable and platform package.
#
# This file contains a collection of tests for one or more of the Tcl
# built-in commands. Sourcing this file into Tcl runs the tests and
@@ -54,6 +54,17 @@ test platform-3.1 {CPU ID on Windows/UNIX} \
-match regexp \
-result {^(?:AuthenticAMD|CentaurHauls|CyrixInstead|GenuineIntel)$}
+# The platform package makes very few promises, but does promise that the
+# format of string it produces consists of two non-empty words separated by a
+# hyphen.
+package require platform
+test platform-4.1 {format of platform::identify result} -match regexp -body {
+ platform::identify
+} -result {^[^-]+-[^-]+$}
+test platform-4.2 {format of platform::generic result} -match regexp -body {
+ platform::generic
+} -result {^[^-]+-[^-]+$}
+
# cleanup
cleanupTests