1#! /usr/bin/env tclsh 2 3package require tcltest 2.5 4namespace import ::tcltest::* 5testConstraint exec [llength [info commands exec]] 6if {[namespace which testdebug] ne {}} { 7 testConstraint debug [testdebug] 8 testConstraint purify [testpurify] 9 testConstraint debugpurify [ 10 expr { 11 ![testConstraint memory] 12 && 13 [testConstraint debug] 14 && 15 [testConstraint purify] 16 }] 17} 18testConstraint fcopy [llength [info commands fcopy]] 19testConstraint fileevent [llength [info commands fileevent]] 20testConstraint thread [ 21 expr {0 == [catch {package require Thread 2.7-}]}] 22testConstraint notValgrind [expr {![testConstraint valgrind]}] 23 24 25namespace eval ::tcltests { 26 27 28 proc init {} { 29 if {[namespace which ::tcl::file::tempdir] eq {}} { 30 interp alias {} [namespace current]::tempdir {} [ 31 namespace current]::tempdir_alternate 32 } else { 33 interp alias {} [namespace current]::tempdir {} ::tcl::file::tempdir 34 } 35 } 36 37 38 proc tempdir_alternate {} { 39 close [file tempfile tempfile] 40 set tmpdir [file dirname $tempfile] 41 set execname [info nameofexecutable] 42 regsub -all {[^[:alpha:][:digit:]]} $execname _ execname 43 for {set i 0} {$i < 10000} {incr i} { 44 set time [clock milliseconds] 45 set name $tmpdir/${execname}_${time}_$i 46 if {![file exists $name]} { 47 file mkdir $name 48 return $name 49 } 50 } 51 error [list {could not create temporary directory}] 52 } 53 54 init 55 56 package provide tcltests 0.1 57} 58 59