diff options
Diffstat (limited to 'tests/unixNotfy.test')
-rw-r--r-- | tests/unixNotfy.test | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/unixNotfy.test b/tests/unixNotfy.test new file mode 100644 index 0000000..5ed5f12 --- /dev/null +++ b/tests/unixNotfy.test @@ -0,0 +1,49 @@ +# This file contains tests for tclUnixNotfy.c. +# +# This file contains a collection of tests for one or more of the Tcl +# built-in commands. Sourcing this file into Tcl runs the tests and +# generates output for errors. No output means no errors were found. +# +# Copyright (c) 1997 by Sun Microsystems, Inc. +# +# See the file "license.terms" for information on usage and redistribution +# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# SCCS: @(#) unixNotfy.test 1.3 97/09/15 15:39:53 + +if {[string compare test [info procs test]] == 1} then {source defs} + +if {$tcl_platform(platform) != "unix"} { + return +} + +# The tests should not be run if you have a notifier which is unable to +# detect infinite vwaits, as the tests below will hang. The presence of +# the "testeventloop" command indicates that this is the case. + +if {"[info commands testeventloop]" == "testeventloop"} { + return +} + +test unixNotfy-1.1 {Tcl_DeleteFileHandler} { + catch {vwait x} + set f [open foo w] + fileevent $f writable {set x 1} + vwait x + close $f + list [catch {vwait x} msg] $msg +} {1 {can't wait for variable "x": would wait forever}} +test unixNotfy-1.2 {Tcl_DeleteFileHandler} { + catch {vwait x} + set f1 [open foo w] + set f2 [open foo2 w] + fileevent $f1 writable {set x 1} + fileevent $f2 writable {set y 1} + vwait x + close $f1 + vwait y + close $f2 + list [catch {vwait x} msg] $msg +} {1 {can't wait for variable "x": would wait forever}} + +file delete foo |