diff options
author | rjohnson <rjohnson> | 1998-03-26 14:56:55 (GMT) |
---|---|---|
committer | rjohnson <rjohnson> | 1998-03-26 14:56:55 (GMT) |
commit | 72d823b9193f9ee2b0318563b49363cd08c11f24 (patch) | |
tree | c168cc164a71f320db9dcdfe7518ba7bd0d2c8d9 /tests/unixNotfy.test | |
parent | 2b5738da524e944cda39e24c0a87b745a43bd8c3 (diff) | |
download | tcl-72d823b9193f9ee2b0318563b49363cd08c11f24.zip tcl-72d823b9193f9ee2b0318563b49363cd08c11f24.tar.gz tcl-72d823b9193f9ee2b0318563b49363cd08c11f24.tar.bz2 |
Initial revision
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 |