diff options
Diffstat (limited to 'tests/winDde.test')
| -rw-r--r-- | tests/winDde.test | 477 |
1 files changed, 213 insertions, 264 deletions
diff --git a/tests/winDde.test b/tests/winDde.test index 8f4da11..f0ef56c 100644 --- a/tests/winDde.test +++ b/tests/winDde.test @@ -4,27 +4,26 @@ # built-in commands. Sourcing this file into Tcl runs the tests and # generates output for errors. No output means no errors were found. # -# Copyright © 1999 Scriptics Corporation. +# Copyright (c) 1999 by Scriptics Corporation. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. -if {"::tcltest" ni [namespace children]} { - package require tcltest 2.5 +if {[lsearch [namespace children] ::tcltest] == -1} { + package require tcltest 2 + #tcltest::configure -verbose {pass start} namespace import -force ::tcltest::* } -source [file join [file dirname [info script]] tcltests.tcl] testConstraint dde 0 if {[testConstraint win]} { if {![catch { ::tcltest::loadTestedCommands - set ::ddever [package require dde 1.4.5] - set ::ddelib [info loaded {} Dde]}]} { + package require dde + set ::ddelib [lindex [package ifneeded dde 1.3.3] 1]}]} { testConstraint dde 1 } } -testConstraint notWine [expr {![info exists ::env(CI_USING_WINE)]}] # ------------------------------------------------------------------------- @@ -33,21 +32,20 @@ testConstraint notWine [expr {![info exists ::env(CI_USING_WINE)]}] set scriptName [makeFile {} script1.tcl] -proc createChildProcess {ddeServerName args} { +proc createChildProcess {ddeServerName {handler {}}} { file delete -force $::scriptName set f [open $::scriptName w+] - fconfigure $f -encoding utf-8 puts $f [list set ddeServerName $ddeServerName] - puts $f [list load $::ddelib Dde] + puts $f [list load $::ddelib dde] puts $f { # DDE child server - # - if {"::tcltest" ni [namespace children]} { - package require tcltest 2.5 + if {[lsearch [namespace children] ::tcltest] == -1} { + package require tcltest namespace import -force ::tcltest::* } - + # If an error occurs during the tests, this process may end up not # being closed down. To deal with this we create a 30s timeout. proc ::DoTimeout {} { @@ -57,19 +55,16 @@ proc createChildProcess {ddeServerName args} { flush stdout } set timeout [after 30000 ::DoTimeout] - + # Define a restricted handler. proc Handler1 {cmd} { if {$cmd eq "stop"} {set ::done 1} - if {$cmd == ""} { - set cmd "null data" - } - puts $cmd ; flush stdout + puts $cmd ; flush stdout return } proc Handler2 {cmd} { if {$cmd eq "stop"} {set ::done 1} - puts [uplevel \#0 $cmd] ; flush stdout + puts [uplevel \#0 $cmd] ; flush stdout return } proc Handler3 {prefix cmd} { @@ -79,7 +74,11 @@ proc createChildProcess {ddeServerName args} { } } # set the dde server name to the supplied argument. - puts $f [list dde servername {*}$args -- $ddeServerName] + if {$handler == {}} { + puts $f [list dde servername $ddeServerName] + } else { + puts $f [list dde servername -handler $handler -- $ddeServerName] + } puts $f { # run the server and handle final cleanup. after 200;# give dde a chance to get going. @@ -89,346 +88,309 @@ proc createChildProcess {ddeServerName args} { # allow enough time for the calling process to # claim all results, to avoid spurious "server did # not respond" - after 200 {set reallyDone 1} + after 200 { set reallyDone 1 } vwait reallyDone exit } close $f - + # run the child server script. set f [open |[list [interpreter] $::scriptName] r] - fconfigure $f -buffering line -encoding utf-8 + fconfigure $f -buffering line gets $f line return $f } # ------------------------------------------------------------------------- -test winDde-1.0 {check if we are testing the right dll} {win dde} { - set ::ddever -} {1.4.5} -test winDde-1.1 {Settings the server's topic name} -constraints dde -body { +test winDde-1.1 {Settings the server's topic name} {win dde} { list [dde servername foobar] [dde servername] [dde servername self] -} -result {foobar foobar self} +} {foobar foobar self} -test winDde-2.1 {Checking for other services} -constraints dde -body { - expr {[llength [dde services {} {}]] >= 0} -} -result 1 +test winDde-2.1 {Checking for other services} {win dde} { + expr [llength [dde services {} {}]] >= 0 +} 1 test winDde-2.2 {Checking for existence, with service and topic specified} \ - -constraints dde -body { + {win dde} { llength [dde services TclEval self] -} -result 1 +} 1 test winDde-2.3 {Checking for existence, with only the service specified} \ - -constraints dde -body { - expr {[llength [dde services TclEval {}]] >= 1} -} -result 1 + {win dde} { + expr [llength [dde services TclEval {}]] >= 1 +} 1 test winDde-2.4 {Checking for existence, with only the topic specified} \ - -constraints dde -body { - expr {[llength [dde services {} self]] >= 1} -} -result 1 + {win dde} { + expr [llength [dde services {} self]] >= 1 +} 1 # ------------------------------------------------------------------------- -test winDde-3.1 {DDE execute locally} -constraints dde -body { - set \xE1 "" - dde execute TclEval self [list set \xE1 foo] - set \xE1 -} -result foo -test winDde-3.2 {DDE execute -async locally} -constraints dde -body { - set \xE1 "" - dde execute -async TclEval self [list set \xE1 foo] +test winDde-3.1 {DDE execute locally} {win dde} { + set a "" + dde execute TclEval self {set a "foo"} + set a +} foo +test winDde-3.2 {DDE execute -async locally} {win dde} { + set a "" + dde execute -async TclEval self {set a "foo"} update - set \xE1 -} -result foo -test winDde-3.3 {DDE request locally} -constraints dde -body { - set \xE1 "" - dde execute TclEval self [list set \xE1 foo] - dde request TclEval self \xE1 -} -result foo -test winDde-3.4 {DDE eval locally} -constraints dde -body { - set \xE1 "" - dde eval self set \xE1 foo -} -result foo -test winDde-3.5 {DDE request locally} -constraints dde -body { - set \xE1 "" - dde execute TclEval self [list set \xE1 foo] - dde request -binary TclEval self \xE1 -} -result "foo\x00" -# Set variable a to A with diaeresis (Unicode C4) by relying on the fact -# that utf-8 is sent (e.g. "c3 84" on the wire) -test winDde-3.6 {DDE request utf-8} -constraints dde -body { - set \xE1 "not set" - dde execute TclEval self "set \xE1 \xC4" - scan [set \xE1] %c -} -result 196 -# Set variable a to A with diaeresis (Unicode C4) using binary execute -# and compose utf-8 (e.g. "c3 84" ) manually -test winDde-3.7 {DDE request binary} -constraints {dde notWine} -body { - set \xE1 "not set" - dde execute -binary TclEval self [list set \xC3\xA1 \xC3\x84\x00] - scan [set \xE1] %c -} -result 196 -test winDde-3.8 {DDE poke locally} -constraints {dde debug} -body { - set \xE1 "" - dde poke TclEval self \xE1 \xC4 - dde request TclEval self \xE1 -} -result \xC4 -test winDde-3.9 {DDE poke -binary locally} -constraints {dde debug} -body { - set \xE1 "" - dde poke -binary TclEval self \xE1 \xC3\x84\x00 - dde request TclEval self \xE1 -} -result \xC4 + set a +} foo +test winDde-3.3 {DDE request locally} {win dde} { + set a "" + dde execute TclEval self {set a "foo"} + dde request TclEval self a +} foo +test winDde-3.4 {DDE eval locally} {win dde} { + set a "" + dde eval self set a "foo" +} foo +test winDde-3.5 {DDE request locally} {win dde} { + set a "" + dde execute TclEval self {set a "foo"} + dde request -binary TclEval self a +} "foo\x00" # ------------------------------------------------------------------------- -test winDde-4.1 {DDE execute remotely} -constraints {dde stdio} -body { - set \xE1 "" - set name ch\xEDld-4.1 +test winDde-4.1 {DDE execute remotely} {stdio win dde} { + set a "" + set name child-4.1 set child [createChildProcess $name] - dde execute TclEval $name [list set \xE1 foo] + dde execute TclEval $name {set a "foo"} dde execute TclEval $name {set done 1} update - set \xE1 -} -result "" -test winDde-4.2 {DDE execute async remotely} -constraints {dde stdio} -body { - set \xE1 "" - set name ch\xEDld-4.2 + set a +} "" +test winDde-4.2 {DDE execute async remotely} {stdio win dde} { + set a "" + set name child-4.2 set child [createChildProcess $name] - dde execute -async TclEval $name [list set \xE1 foo] - update - dde execute TclEval $name {set done 1} + dde execute -async TclEval $name {set a "foo"} update - set \xE1 -} -result "" -test winDde-4.3 {DDE request remotely} -constraints {dde stdio} -body { - set \xE1 "" - set name ch\xEDld-4.3 - set child [createChildProcess $name] - dde execute TclEval $name [list set \xE1 foo] - set \xE1 [dde request TclEval $name \xE1] dde execute TclEval $name {set done 1} update - set \xE1 -} -result foo -test winDde-4.4 {DDE eval remotely} -constraints {dde stdio} -body { - set \xE1 "" - set name ch\xEDld-4.4 + set a +} "" +test winDde-4.3 {DDE request remotely} {stdio win dde} { + set a "" + set name chile-4.3 set child [createChildProcess $name] - set \xE1 [dde eval $name set \xE1 foo] + dde execute TclEval $name {set a "foo"} + set a [dde request TclEval $name a] dde execute TclEval $name {set done 1} update - set \xE1 -} -result foo -test winDde-4.5 {DDE poke remotely} -constraints {dde debug stdio} -body { - set \xE1 "" - set name ch\xEDld-4.5 + set a +} foo +test winDde-4.4 {DDE eval remotely} {stdio win dde} { + set a "" + set name child-4.4 set child [createChildProcess $name] - dde poke TclEval $name \xE1 foo - set \xE1 [dde request TclEval $name \xE1] + set a [dde eval $name set a "foo"] dde execute TclEval $name {set done 1} update - set \xE1 -} -result foo + set a +} foo # ------------------------------------------------------------------------- -test winDde-5.1 {check for bad arguments} -constraints dde -body { +test winDde-5.1 {check for bad arguments} -constraints {win dde} -body { dde execute "" "" "" "" -} -returnCodes error -result {wrong # args: should be "dde execute ?-async? ?-binary? serviceName topicName value"} -test winDde-5.2 {check for bad arguments} -constraints dde -body { - dde execute -binary "" "" "" +} -returnCodes error -result {wrong # args: should be "dde execute ?-async? serviceName topicName value"} +test winDde-5.2 {check for bad arguments} -constraints {win dde} -body { + dde execute "" "" "" } -returnCodes error -result {cannot execute null data} -test winDde-5.3 {check for bad arguments} -constraints dde -body { +test winDde-5.3 {check for bad arguments} -constraints {win dde} -body { dde execute -foo "" "" "" -} -returnCodes error -result {wrong # args: should be "dde execute ?-async? ?-binary? serviceName topicName value"} -test winDde-5.4 {DDE eval bad arguments} -constraints dde -body { +} -returnCodes error -result {wrong # args: should be "dde execute ?-async? serviceName topicName value"} +test winDde-5.4 {DDE eval bad arguments} -constraints {win dde} -body { dde eval "" "foo" } -returnCodes error -result {invalid service name ""} # ------------------------------------------------------------------------- -test winDde-6.1 {DDE servername bad arguments} -constraints dde -body { +test winDde-6.1 {DDE servername bad arguments} -constraints {win dde} -body { dde servername -z -z -z } -returnCodes error -result {bad option "-z": must be -force, -handler, or --} -test winDde-6.2 {DDE servername set name} -constraints dde -body { +test winDde-6.2 {DDE servername set name} -constraints {win dde} -body { dde servername -- winDde-6.2 } -result {winDde-6.2} -test winDde-6.3 {DDE servername set exact name} -constraints dde -body { +test winDde-6.3 {DDE servername set exact name} -constraints {win dde} -body { dde servername -force winDde-6.3 } -result {winDde-6.3} -test winDde-6.4 {DDE servername set exact name} -constraints dde -body { +test winDde-6.4 {DDE servername set exact name} -constraints {win dde} -body { dde servername -force -- winDde-6.4 } -result {winDde-6.4} -test winDde-6.5 {DDE remote servername collision} -constraints {dde stdio} -setup { - set name ch\xEDld-6.5 +test winDde-6.5 {DDE remote servername collision} -constraints {stdio win dde} -setup { + set name child-6.5 set child [createChildProcess $name] } -body { dde servername -- $name } -cleanup { dde execute TclEval $name {set done 1} update -} -result "ch\xEDld-6.5 #2" -test winDde-6.6 {DDE remote servername collision force} -constraints {dde stdio} -setup { - set name ch\xEDld-6.6 +} -result "child-6.5 #2" +test winDde-6.6 {DDE remote servername collision force} -constraints {stdio win dde} -setup { + set name child-6.6 set child [createChildProcess $name] } -body { dde servername -force -- $name } -cleanup { dde execute TclEval $name {set done 1} update -} -result "ch\xEDld-6.6" +} -result {child-6.6} # ------------------------------------------------------------------------- -test winDde-7.1 {Load DDE in child interpreter} -constraints dde -setup { - interp create child +test winDde-7.1 {Load DDE in slave interpreter } -constraints {win dde} -setup { + interp create slave } -body { - child eval [list load $::ddelib Dde] - child eval [list dde servername -- dde-interp-7.1] + slave eval [list load $::ddelib Dde] + slave eval [list dde servername -- dde-interp-7.1] } -cleanup { - interp delete child + interp delete slave } -result {dde-interp-7.1} -test winDde-7.2 {DDE child cleanup} -constraints dde -setup { - interp create child - child eval [list load $::ddelib Dde] - child eval [list dde servername -- dde-interp-7.5] - interp delete child +test winDde-7.2 {DDE slave cleanup} -constraints {win dde} -setup { + interp create slave + slave eval [list load $::ddelib Dde] + slave eval [list dde servername -- dde-interp-7.5] + interp delete slave } -body { dde services TclEval {} set s [dde services TclEval {}] set m [list [list TclEval dde-interp-7.5]] - if {$m in $s} { + if {[lsearch -exact $s $m] != -1} { set s } } -result {} -test winDde-7.3 {DDE present in child interp} -constraints dde -setup { - interp create child - child eval [list load $::ddelib Dde] - child eval [list dde servername -- dde-interp-7.3] +test winDde-7.3 {DDE present in slave interp} -constraints {win dde} -setup { + interp create slave + slave eval [list load $::ddelib Dde] + slave eval [list dde servername -- dde-interp-7.3] } -body { dde services TclEval dde-interp-7.3 } -cleanup { - interp delete child + interp delete slave } -result {{TclEval dde-interp-7.3}} -test winDde-7.4 {interp name collision with -force} -constraints dde -setup { - interp create child - child eval [list load $::ddelib Dde] - child eval [list dde servername -- dde-interp-7.4] +test winDde-7.4 {interp name collision with -force} -constraints {win dde} -setup { + interp create slave + slave eval [list load $::ddelib Dde] + slave eval [list dde servername -- dde-interp-7.4] } -body { dde servername -force -- dde-interp-7.4 } -cleanup { - interp delete child + interp delete slave } -result {dde-interp-7.4} -test winDde-7.5 {interp name collision without -force} -constraints dde -setup { - interp create child - child eval [list load $::ddelib Dde] - child eval [list dde servername -- dde-interp-7.5] +test winDde-7.5 {interp name collision without -force} -constraints {win dde} -setup { + interp create slave + slave eval [list load $::ddelib Dde] + slave eval [list dde servername -- dde-interp-7.5] } -body { dde servername -- dde-interp-7.5 } -cleanup { - interp delete child + interp delete slave } -result "dde-interp-7.5 #2" # ------------------------------------------------------------------------- -test winDde-8.1 {Safe DDE load} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde +test winDde-8.1 {Safe DDE load} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde } -body { - child eval dde servername child + slave eval dde servername slave } -cleanup { - interp delete child + interp delete slave } -returnCodes error -result {invalid command name "dde"} -test winDde-8.2 {Safe DDE set servername} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde +test winDde-8.2 {Safe DDE set servername} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde } -body { - child invokehidden dde servername child -} -cleanup {interp delete child} -result {child} -test winDde-8.3 {Safe DDE check handler required for eval} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde - child invokehidden dde servername child + slave invokehidden dde servername slave +} -cleanup {interp delete slave} -result {slave} +test winDde-8.3 {Safe DDE check handler required for eval} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde + slave invokehidden dde servername slave } -body { - catch {dde eval child set a 1} msg -} -cleanup {interp delete child} -result {1} -test winDde-8.4 {Safe DDE check that execute is denied} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde - child invokehidden dde servername child + catch {dde eval slave set a 1} msg +} -cleanup {interp delete slave} -result {1} +test winDde-8.4 {Safe DDE check that execute is denied} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde + slave invokehidden dde servername slave } -body { - child eval set a 1 - dde execute TclEval child {set a 2} - child eval set a -} -cleanup {interp delete child} -result 1 -test winDde-8.5 {Safe DDE check that request is denied} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde - child invokehidden dde servername child + slave eval set a 1 + dde execute TclEval slave {set a 2} + slave eval set a +} -cleanup {interp delete slave} -result 1 +test winDde-8.5 {Safe DDE check that request is denied} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde + slave invokehidden dde servername slave } -body { - child eval set a 1 - dde request TclEval child a + slave eval set a 1 + dde request TclEval slave a } -cleanup { - interp delete child + interp delete slave } -returnCodes error -result {remote server cannot handle this command} -test winDde-8.6 {Safe DDE assign handler procedure} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde - child eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}} +test winDde-8.6 {Safe DDE assign handler procedure} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde + slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}} } -body { - child invokehidden dde servername -handler DDEACCEPT child -} -cleanup {interp delete child} -result child -test winDde-8.7 {Safe DDE check simple command} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde - child eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}} - child invokehidden dde servername -handler DDEACCEPT child + slave invokehidden dde servername -handler DDEACCEPT slave +} -cleanup {interp delete slave} -result slave +test winDde-8.7 {Safe DDE check simple command} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde + slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}} + slave invokehidden dde servername -handler DDEACCEPT slave } -body { - dde eval child set x 1 -} -cleanup {interp delete child} -result {set x 1} -test winDde-8.8 {Safe DDE check non-list command} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde - child eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}} - child invokehidden dde servername -handler DDEACCEPT child + dde eval slave set x 1 +} -cleanup {interp delete slave} -result {set x 1} +test winDde-8.8 {Safe DDE check non-list command} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde + slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}} + slave invokehidden dde servername -handler DDEACCEPT slave } -body { set s "c:\\Program Files\\Microsoft Visual Studio\\" - dde eval child $s - string equal [child eval set DDECMD] $s -} -cleanup {interp delete child} -result 1 -test winDde-8.9 {Safe DDE check command evaluation} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde - child eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}} - child invokehidden dde servername -handler DDEACCEPT child + dde eval slave $s + string equal [slave eval set DDECMD] $s +} -cleanup {interp delete slave} -result 1 +test winDde-8.9 {Safe DDE check command evaluation} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde + slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}} + slave invokehidden dde servername -handler DDEACCEPT slave } -body { - dde eval child set \xE1 1 - child eval set \xE1 -} -cleanup {interp delete child} -result 1 -test winDde-8.10 {Safe DDE check command evaluation (2)} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde - child eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}} - child invokehidden dde servername -handler DDEACCEPT child + dde eval slave set x 1 + slave eval set x +} -cleanup {interp delete slave} -result 1 +test winDde-8.10 {Safe DDE check command evaluation (2)} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde + slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}} + slave invokehidden dde servername -handler DDEACCEPT slave } -body { - dde eval child [list set x 1] - child eval set x -} -cleanup {interp delete child} -result 1 -test winDde-8.11 {Safe DDE check command evaluation (3)} -constraints dde -setup { - interp create -safe child - child invokehidden load $::ddelib Dde - child eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}} - child invokehidden dde servername -handler DDEACCEPT child + dde eval slave [list set x 1] + slave eval set x +} -cleanup {interp delete slave} -result 1 +test winDde-8.11 {Safe DDE check command evaluation (3)} -constraints {win dde} -setup { + interp create -safe slave + slave invokehidden load $::ddelib Dde + slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}} + slave invokehidden dde servername -handler DDEACCEPT slave } -body { - dde eval child [list [list set x 1]] - child eval set x -} -cleanup {interp delete child} -returnCodes error -result {invalid command name "set x 1"} + dde eval slave [list [list set x 1]] + slave eval set x +} -cleanup {interp delete slave} -returnCodes error -result {invalid command name "set x 1"} # ------------------------------------------------------------------------- -test winDde-9.1 {External safe DDE check string passing} -constraints {dde stdio} -setup { - set name ch\xEDld-9.1 - set child [createChildProcess $name -handler Handler1] +test winDde-9.1 {External safe DDE check string passing} -constraints {win dde stdio} -setup { + set name child-9.1 + set child [createChildProcess $name Handler1] file copy -force script1.tcl dde-script.tcl } -body { dde eval $name set x 1 @@ -439,9 +401,9 @@ test winDde-9.1 {External safe DDE check string passing} -constraints {dde stdio update file delete -force -- dde-script.tcl } -result {set x 1} -test winDde-9.2 {External safe DDE check command evaluation} -constraints {dde stdio} -setup { - set name ch\xEDld-9.2 - set child [createChildProcess $name -handler Handler2] +test winDde-9.2 {External safe DDE check command evaluation} -constraints {win dde stdio} -setup { + set name child-9.2 + set child [createChildProcess $name Handler2] file copy -force script1.tcl dde-script.tcl } -body { dde eval $name set x 1 @@ -452,9 +414,9 @@ test winDde-9.2 {External safe DDE check command evaluation} -constraints {dde s update file delete -force -- dde-script.tcl } -result 1 -test winDde-9.3 {External safe DDE check prefixed arguments} -constraints {dde stdio} -setup { - set name ch\xEDld-9.3 - set child [createChildProcess $name -handler [list Handler3 ARG]] +test winDde-9.3 {External safe DDE check prefixed arguments} -constraints {win dde stdio} -setup { + set name child-9.3 + set child [createChildProcess $name [list Handler3 ARG]] file copy -force script1.tcl dde-script.tcl } -body { dde eval $name set x 1 @@ -465,24 +427,11 @@ test winDde-9.3 {External safe DDE check prefixed arguments} -constraints {dde s update file delete -force -- dde-script.tcl } -result {ARG {set x 1}} -test winDde-9.4 {External safe DDE check null data passing} -constraints {dde stdio} -setup { - set name ch\xEDld-9.4 - set child [createChildProcess $name -handler Handler1] - file copy -force script1.tcl dde-script.tcl -} -body { - dde execute TclEval $name "" - gets $child line - set line -} -cleanup { - dde execute TclEval $name stop - update - file delete -force -- dde-script.tcl -} -result {null data} # ------------------------------------------------------------------------- #cleanup -#catch {interp delete $child}; # ensure we clean up the child. +#catch {interp delete $slave}; # ensure we clean up the slave. file delete -force $::scriptName ::tcltest::cleanupTests return |
