summaryrefslogtreecommitdiffstats
path: root/tests/winDde.test
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2004-05-19 20:15:29 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2004-05-19 20:15:29 (GMT)
commite52d9cbf151b4d4106c36834e820db9442ec9a3b (patch)
treeb07002700fcbcc6b4ed86c424196b744184971a1 /tests/winDde.test
parentcc56afda247802cb646330c25f3f03db20b1a43d (diff)
downloadtcl-e52d9cbf151b4d4106c36834e820db9442ec9a3b.zip
tcl-e52d9cbf151b4d4106c36834e820db9442ec9a3b.tar.gz
tcl-e52d9cbf151b4d4106c36834e820db9442ec9a3b.tar.bz2
Massive test cleanup; all tests are run, and constraints are used where necessary.
Diffstat (limited to 'tests/winDde.test')
-rw-r--r--tests/winDde.test622
1 files changed, 242 insertions, 380 deletions
diff --git a/tests/winDde.test b/tests/winDde.test
index 5600984..850d839 100644
--- a/tests/winDde.test
+++ b/tests/winDde.test
@@ -9,7 +9,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: winDde.test,v 1.19 2003/10/06 14:32:22 dgp Exp $
+# RCS: @(#) $Id: winDde.test,v 1.20 2004/05/19 20:15:32 dkf Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest 2
@@ -22,10 +22,10 @@ if {$tcl_platform(platform) == "windows"} {
set lib [lindex [glob -directory [file join [pwd] [file dirname \
[info nameofexecutable]]] tcldde*.dll] 0]
load $lib dde
+ testConstraint dde 1
}] {
+ testConstraint dde 0
puts "WARNING: Unable to find the dde package. Skipping dde tests."
- ::tcltest::cleanupTests
- return
}
}
@@ -112,56 +112,49 @@ proc createChildProcess { ddeServerName {handler {}}} {
# -------------------------------------------------------------------------
-test winDde-1.1 {Settings the server's topic name} {pcOnly} {
+test winDde-1.1 {Settings the server's topic name} {pcOnly dde} {
list [dde servername foobar] [dde servername] [dde servername self]
} {foobar foobar self}
-test winDde-2.1 {Checking for other services} {pcOnly} {
+test winDde-2.1 {Checking for other services} {pcOnly dde} {
expr [llength [dde services {} {}]] >= 0
} 1
-
test winDde-2.2 {Checking for existence, with service and topic specified} \
- {pcOnly} {
+ {pcOnly dde} {
llength [dde services TclEval self]
} 1
-
test winDde-2.3 {Checking for existence, with only the service specified} \
- {pcOnly} {
+ {pcOnly dde} {
expr [llength [dde services TclEval {}]] >= 1
} 1
-
test winDde-2.4 {Checking for existence, with only the topic specified} \
- {pcOnly} {
+ {pcOnly dde} {
expr [llength [dde services {} self]] >= 1
} 1
# -------------------------------------------------------------------------
-test winDde-3.1 {DDE execute locally} {pcOnly} {
+test winDde-3.1 {DDE execute locally} {pcOnly dde} {
set a ""
dde execute TclEval self {set a "foo"}
set a
} foo
-
-test winDde-3.2 {DDE execute -async locally} {pcOnly} {
+test winDde-3.2 {DDE execute -async locally} {pcOnly dde} {
set a ""
dde execute -async TclEval self {set a "foo"}
update
set a
} foo
-
-test winDde-3.3 {DDE request locally} {pcOnly} {
+test winDde-3.3 {DDE request locally} {pcOnly dde} {
set a ""
dde execute TclEval self {set a "foo"}
dde request TclEval self a
} foo
-
-test winDde-3.4 {DDE eval locally} {pcOnly} {
+test winDde-3.4 {DDE eval locally} {pcOnly dde} {
set a ""
dde eval self set a "foo"
} foo
-
-test winDde-3.5 {DDE request locally} {pcOnly} {
+test winDde-3.5 {DDE request locally} {pcOnly dde} {
set a ""
dde execute TclEval self {set a "foo"}
dde request -binary TclEval self a
@@ -169,7 +162,7 @@ test winDde-3.5 {DDE request locally} {pcOnly} {
# -------------------------------------------------------------------------
-test winDde-4.1 {DDE execute remotely} {stdio pcOnly} {
+test winDde-4.1 {DDE execute remotely} {stdio pcOnly dde} {
set a ""
set name child-4.1
set child [createChildProcess $name]
@@ -178,8 +171,7 @@ test winDde-4.1 {DDE execute remotely} {stdio pcOnly} {
update
set a
} ""
-
-test winDde-4.2 {DDE execute async remotely} {stdio pcOnly} {
+test winDde-4.2 {DDE execute async remotely} {stdio pcOnly dde} {
set a ""
set name child-4.2
set child [createChildProcess $name]
@@ -188,8 +180,7 @@ test winDde-4.2 {DDE execute async remotely} {stdio pcOnly} {
update
set a
} ""
-
-test winDde-4.3 {DDE request remotely} {stdio pcOnly} {
+test winDde-4.3 {DDE request remotely} {stdio pcOnly dde} {
set a ""
set name chile-4.3
set child [createChildProcess $name]
@@ -199,8 +190,7 @@ test winDde-4.3 {DDE request remotely} {stdio pcOnly} {
update
set a
} foo
-
-test winDde-4.4 {DDE eval remotely} {stdio pcOnly} {
+test winDde-4.4 {DDE eval remotely} {stdio pcOnly dde} {
set a ""
set name child-4.4
set child [createChildProcess $name]
@@ -212,388 +202,260 @@ test winDde-4.4 {DDE eval remotely} {stdio pcOnly} {
# -------------------------------------------------------------------------
-test winDde-5.1 {check for bad arguments} {pcOnly} {
+test winDde-5.1 {check for bad arguments} {pcOnly dde} {
catch {dde execute "" "" "" ""} result
set result
} {wrong # args: should be "dde execute ?-async? serviceName topicName value"}
-
-test winDde-5.2 {check for bad arguments} {pcOnly} {
+test winDde-5.2 {check for bad arguments} {pcOnly dde} {
catch {dde execute "" "" ""} result
set result
} {cannot execute null data}
-
-test winDde-5.3 {check for bad arguments} {pcOnly} {
+test winDde-5.3 {check for bad arguments} {pcOnly dde} {
catch {dde execute -foo "" "" ""} result
set result
} {wrong # args: should be "dde execute ?-async? serviceName topicName value"}
-
-test winDde-5.4 {DDE eval bad arguments} {pcOnly} {
+test winDde-5.4 {DDE eval bad arguments} {pcOnly dde} {
list [catch {dde eval "" "foo"} msg] $msg
} {1 {invalid service name ""}}
# -------------------------------------------------------------------------
-test winDde-6.1 {DDE servername bad arguments} \
- -constraints pcOnly \
- -body {list [catch {dde servername -z -z -z} msg] $msg} \
- -result {1 {wrong # args: should be "dde servername ?-force? ?-handler proc? ?--? ?serverName?"}}
-
-test winDde-6.2 {DDE servername set name} \
- -constraints pcOnly \
+test winDde-6.1 {DDE servername bad arguments} -constraints {pcOnly dde} -body {
+ dde servername -z -z -z
+} -returnCodes error -result {wrong # args: should be "dde servername ?-force? ?-handler proc? ?--? ?serverName?"}
+test winDde-6.2 {DDE servername set name} -constraints {pcOnly dde} \
-body {dde servername -- winDde-6.2} \
-result {winDde-6.2}
-
-test winDde-6.3 {DDE servername set exact name} \
- -constraints pcOnly \
+test winDde-6.3 {DDE servername set exact name} -constraints {pcOnly dde} \
-body {dde servername -force winDde-6.3} \
-result {winDde-6.3}
-
-test winDde-6.4 {DDE servername set exact name} \
- -constraints pcOnly \
+test winDde-6.4 {DDE servername set exact name} -constraints {pcOnly dde} \
-body {dde servername -force -- winDde-6.4} \
-result {winDde-6.4}
-
-test winDde-6.5 {DDE remote servername collision} \
- -constraints {stdio pcOnly} \
- -setup {
- set name child-6.5
- set child [createChildProcess $name]
- } \
- -body {
- dde servername -- $name
- } \
- -cleanup {
- dde execute TclEval $name {set done 1}
- update
- } \
- -result "child-6.5 #2"
-
-test winDde-6.6 {DDE remote servername collision force} \
- -constraints {stdio pcOnly} \
- -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 {child-6.6}
+test winDde-6.5 {DDE remote servername collision} -constraints {stdio pcOnly 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 "child-6.5 #2"
+test winDde-6.6 {DDE remote servername collision force} -constraints {stdio pcOnly 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 {child-6.6}
# -------------------------------------------------------------------------
-test winDde-7.1 {Load DDE in slave interpreter } \
- -constraints pcOnly \
- -setup {
- interp create slave
- } \
- -body {
- slave eval [list load $lib dde]
- slave eval [list dde servername -- dde-interp-7.1]
- } \
- -cleanup {
- interp delete slave
- } \
- -result {dde-interp-7.1}
-
-test winDde-7.2 {DDE slave cleanup} \
- -constraints pcOnly \
- -setup {
- interp create slave
- slave eval [list load $lib 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 {[lsearch -exact $s $m] != -1} {
- set s
- }
- } \
- -result {}
-
-test winDde-7.3 {DDE present in slave interp} \
- -constraints pcOnly \
- -setup {
- interp create slave
- slave eval [list load $lib dde]
- slave eval [list dde servername -- dde-interp-7.3]
- } \
- -body {
- dde services TclEval dde-interp-7.3
- } \
- -cleanup {
- interp delete slave
- } \
- -result {{TclEval dde-interp-7.3}}
-
-test winDde-7.4 {interp name collision with -force} \
- -constraints pcOnly \
- -setup {
- interp create slave
- slave eval [list load $lib dde]
- slave eval [list dde servername -- dde-interp-7.4]
- } \
- -body {
- dde servername -force -- dde-interp-7.4
- } \
- -cleanup {
- interp delete slave
- } \
- -result {dde-interp-7.4}
-
-test winDde-7.5 {interp name collision without -force} \
- -constraints pcOnly \
- -setup {
- interp create slave
- slave eval [list load $lib dde]
- slave eval [list dde servername -- dde-interp-7.5]
- } \
- -body {
- dde servername -- dde-interp-7.5
- } \
- -cleanup {
- interp delete slave
- } \
- -result "dde-interp-7.5 #2"
+test winDde-7.1 {Load DDE in slave interpreter } -constraints {pcOnly dde} -setup {
+ interp create slave
+} -body {
+ slave eval [list load $lib dde]
+ slave eval [list dde servername -- dde-interp-7.1]
+} -cleanup {
+ interp delete slave
+} -result {dde-interp-7.1}
+test winDde-7.2 {DDE slave cleanup} -constraints {pcOnly dde} -setup {
+ interp create slave
+ slave eval [list load $lib 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 {[lsearch -exact $s $m] != -1} {
+ set s
+ }
+} -result {}
+test winDde-7.3 {DDE present in slave interp} -constraints {pcOnly dde} -setup {
+ interp create slave
+ slave eval [list load $lib dde]
+ slave eval [list dde servername -- dde-interp-7.3]
+} -body {
+ dde services TclEval dde-interp-7.3
+} -cleanup {
+ interp delete slave
+} -result {{TclEval dde-interp-7.3}}
+test winDde-7.4 {interp name collision with -force} -constraints {pcOnly dde} -setup {
+ interp create slave
+ slave eval [list load $lib dde]
+ slave eval [list dde servername -- dde-interp-7.4]
+} -body {
+ dde servername -force -- dde-interp-7.4
+} -cleanup {
+ interp delete slave
+} -result {dde-interp-7.4}
+test winDde-7.5 {interp name collision without -force} -constraints {pcOnly dde} -setup {
+ interp create slave
+ slave eval [list load $lib dde]
+ slave eval [list dde servername -- dde-interp-7.5]
+} -body {
+ dde servername -- dde-interp-7.5
+} -cleanup {
+ interp delete slave
+} -result "dde-interp-7.5 #2"
# -------------------------------------------------------------------------
-test winDde-8.1 {Safe DDE load} \
- -constraints pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- } \
- -body {
- list [catch {slave eval dde servername slave} msg] $msg
- } \
- -cleanup {interp delete slave} \
- -result {1 {invalid command name "dde"}}
-
-test winDde-8.2 {Safe DDE set servername} \
- -constraints pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- } \
- -body {
- slave invokehidden dde servername slave
- } \
- -cleanup {interp delete slave} \
- -result {slave}
-
-test winDde-8.3 {Safe DDE check handler required for eval} \
- -constraints pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- slave invokehidden dde servername slave
- } \
- -body {
- 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 pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- slave invokehidden dde servername slave
- } \
- -body {
- slave eval set a 1
- list [catch {
- dde execute TclEval slave {set a 2}
- slave eval set a
- } msg] $msg
- } \
- -cleanup {interp delete slave} \
- -result {0 1}
-
-test winDde-8.5 {Safe DDE check that request is denied} \
- -constraints pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- slave invokehidden dde servername slave
- } \
- -body {
- slave eval set a 1
- list [catch {dde request TclEval slave a} msg] $msg
- } \
- -cleanup {interp delete slave} \
- -result {1 {remote server cannot handle this command}}
-
-test winDde-8.6 {Safe DDE assign handler procedure} \
- -constraints pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
- } \
- -body {
- slave invokehidden dde servername -handler DDEACCEPT slave
- } \
- -cleanup {interp delete slave} \
- -result slave
-
-test winDde-8.7 {Safe DDE check simple command} \
- -constraints pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
- slave invokehidden dde servername -handler DDEACCEPT slave
- } \
- -body {
- list [catch {
- dde eval slave set x 1
- } msg] $msg
- } \
- -cleanup {interp delete slave} \
- -result {0 {set x 1}}
-
-test winDde-8.8 {Safe DDE check non-list command} \
- -constraints pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
- slave invokehidden dde servername -handler DDEACCEPT slave
- } \
- -body {
- list [catch {
- set s "c:\\Program Files\\Microsoft Visual Studio\\"
- dde eval slave $s
- string compare [slave eval set DDECMD] $s
- } msg] $msg
- } \
- -cleanup {interp delete slave} \
- -result {0 0}
-
-test winDde-8.9 {Safe DDE check command evaluation} \
- -constraints pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel #0 $cmd]}}
- slave invokehidden dde servername -handler DDEACCEPT slave
- } \
- -body {
- list [catch {
- dde eval slave set x 1
- slave eval set x
- } msg] $msg
- } \
- -cleanup {interp delete slave} \
- -result {0 1}
-
-test winDde-8.10 {Safe DDE check command evaluation (2)} \
- -constraints pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel #0 $cmd]}}
- slave invokehidden dde servername -handler DDEACCEPT slave
- } \
- -body {
- list [catch {
- dde eval slave [list set x 1]
- slave eval set x
- } msg] $msg
- } \
- -cleanup {interp delete slave} \
- -result {0 1}
-
-test winDde-8.11 {Safe DDE check command evaluation (3)} \
- -constraints pcOnly \
- -setup {
- interp create -safe slave
- slave invokehidden load $lib dde
- slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel #0 $cmd]}}
- slave invokehidden dde servername -handler DDEACCEPT slave
- } \
- -body {
- list [catch {
- dde eval slave [list [list set x 1]]
- slave eval set x
- } msg] $msg
- } \
- -cleanup {interp delete slave} \
- -result {1 {invalid command name "set x 1"}}
+test winDde-8.1 {Safe DDE load} -constraints {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+} -body {
+ list [catch {slave eval dde servername slave} msg] $msg
+} -cleanup {
+ interp delete slave
+} -result {1 {invalid command name "dde"}}
+test winDde-8.2 {Safe DDE set servername} -constraints {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+} -body {
+ slave invokehidden dde servername slave
+} -cleanup {interp delete slave} -result {slave}
+test winDde-8.3 {Safe DDE check handler required for eval} -constraints {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+ slave invokehidden dde servername slave
+} -body {
+ 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 {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+ slave invokehidden dde servername slave
+} -body {
+ slave eval set a 1
+ list [catch {
+ dde execute TclEval slave {set a 2}
+ slave eval set a
+ } msg] $msg
+} -cleanup {interp delete slave} -result {0 1}
+test winDde-8.5 {Safe DDE check that request is denied} -constraints {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+ slave invokehidden dde servername slave
+} -body {
+ slave eval set a 1
+ list [catch {dde request TclEval slave a} msg] $msg
+} -cleanup {
+ interp delete slave
+} -result {1 {remote server cannot handle this command}}
+test winDde-8.6 {Safe DDE assign handler procedure} -constraints {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+ slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
+} -body {
+ slave invokehidden dde servername -handler DDEACCEPT slave
+} -cleanup {interp delete slave} -result slave
+test winDde-8.7 {Safe DDE check simple command} -constraints {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+ slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
+ slave invokehidden dde servername -handler DDEACCEPT slave
+} -body {
+ list [catch {
+ dde eval slave set x 1
+ } msg] $msg
+} -cleanup {interp delete slave} -result {0 {set x 1}}
+test winDde-8.8 {Safe DDE check non-list command} -constraints {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+ slave eval {proc DDEACCEPT {cmd} {set ::DDECMD $cmd}}
+ slave invokehidden dde servername -handler DDEACCEPT slave
+} -body {
+ list [catch {
+ set s "c:\\Program Files\\Microsoft Visual Studio\\"
+ dde eval slave $s
+ string compare [slave eval set DDECMD] $s
+ } msg] $msg
+} -cleanup {interp delete slave} -result {0 0}
+test winDde-8.9 {Safe DDE check command evaluation} -constraints {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+ slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}}
+ slave invokehidden dde servername -handler DDEACCEPT slave
+} -body {
+ list [catch {
+ dde eval slave set x 1
+ slave eval set x
+ } msg] $msg
+} -cleanup {interp delete slave} -result {0 1}
+test winDde-8.10 {Safe DDE check command evaluation (2)} -constraints {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+ slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}}
+ slave invokehidden dde servername -handler DDEACCEPT slave
+} -body {
+ list [catch {
+ dde eval slave [list set x 1]
+ slave eval set x
+ } msg] $msg
+} -cleanup {interp delete slave} -result {0 1}
+test winDde-8.11 {Safe DDE check command evaluation (3)} -constraints {pcOnly dde} -setup {
+ interp create -safe slave
+ slave invokehidden load $lib dde
+ slave eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}}
+ slave invokehidden dde servername -handler DDEACCEPT slave
+} -body {
+ list [catch {
+ dde eval slave [list [list set x 1]]
+ slave eval set x
+ } msg] $msg
+} -cleanup {interp delete slave} -result {1 {invalid command name "set x 1"}}
# -------------------------------------------------------------------------
-test winDde-9.1 {External safe DDE check string passing} \
- -constraints {pcOnly stdio} \
- -setup {
- set name child-9.1
- set child [createChildProcess $name Handler1]
- file copy -force script1.tcl dde-script.tcl
- } \
- -body {
- list [catch {
- dde eval $name set x 1
- gets $child line
- set line
- } msg] $msg
- } \
- -cleanup {
- dde execute TclEval $name stop
- update
- file delete -force -- dde-script.tcl
- } \
- -result {0 {set x 1}}
-
-test winDde-9.2 {External safe DDE check command evaluation} \
- -constraints {pcOnly stdio} \
- -setup {
- set name child-9.2
- set child [createChildProcess $name Handler2]
- file copy -force script1.tcl dde-script.tcl
- } \
- -body {
- list [catch {
- dde eval $name set x 1
- gets $child line
- set line
- } msg] $msg
- } \
- -cleanup {
- dde execute TclEval $name stop
- update
- file delete -force -- dde-script.tcl
- } \
- -result {0 1}
-
-test winDde-9.3 {External safe DDE check prefixed arguments} \
- -constraints {pcOnly stdio} \
- -setup {
- set name child-9.3
- set child [createChildProcess $name [list Handler3 ARG]]
- file copy -force script1.tcl dde-script.tcl
- } \
- -body {
- list [catch {
- dde eval $name set x 1
- gets $child line
- set line
- } msg] $msg
- } \
- -cleanup {
- dde execute TclEval $name stop
- update
- file delete -force -- dde-script.tcl
- } \
- -result {0 {ARG {set x 1}}}
+test winDde-9.1 {External safe DDE check string passing} -constraints {pcOnly dde stdio} -setup {
+ set name child-9.1
+ set child [createChildProcess $name Handler1]
+ file copy -force script1.tcl dde-script.tcl
+} -body {
+ list [catch {
+ dde eval $name set x 1
+ gets $child line
+ set line
+ } msg] $msg
+} -cleanup {
+ dde execute TclEval $name stop
+ update
+ file delete -force -- dde-script.tcl
+} -result {0 {set x 1}}
+test winDde-9.2 {External safe DDE check command evaluation} -constraints {pcOnly dde stdio} -setup {
+ set name child-9.2
+ set child [createChildProcess $name Handler2]
+ file copy -force script1.tcl dde-script.tcl
+} -body {
+ list [catch {
+ dde eval $name set x 1
+ gets $child line
+ set line
+ } msg] $msg
+} -cleanup {
+ dde execute TclEval $name stop
+ update
+ file delete -force -- dde-script.tcl
+} -result {0 1}
+test winDde-9.3 {External safe DDE check prefixed arguments} -constraints {pcOnly dde stdio} -setup {
+ set name child-9.3
+ set child [createChildProcess $name [list Handler3 ARG]]
+ file copy -force script1.tcl dde-script.tcl
+} -body {
+ list [catch {
+ dde eval $name set x 1
+ gets $child line
+ set line
+ } msg] $msg
+} -cleanup {
+ dde execute TclEval $name stop
+ update
+ file delete -force -- dde-script.tcl
+} -result {0 {ARG {set x 1}}}
# -------------------------------------------------------------------------