# 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. # # RCS: @(#) $Id: unixNotfy.test,v 1.1.2.2 1998/09/24 23:59:39 stanton Exp $ 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 "testthread" command indicates that this is the case. if {"[info commands testthread]" == "testthread"} { 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 file delete foo2 return