# These tests are design especially for the vfork() implementation # of exec where sh -c must be used and thus we must take extra care # in quoting arguments to exec. source [file dirname [info script]]/testing.tcl needs cmd exec set d \" set s ' set b \\ test exec2-1.1 "Quoting - Result" { exec echo ${d}double quoted${d} ${s}single quoted${s} ${b}backslash quoted${b} } "\"double\ quoted\"\ 'single quoted'\ \\backslash\ quoted\\" test exec2-1.2 "Quoting - Word Grouping" { string trim [exec echo ${d}double quoted${d} ${s}single quoted${s} ${b}backslash quoted${b} | wc -w] } {6} test exec2-2.1 "Add to exec environment" { set env(testenv) "the value" exec printenv | sed -n -e /^testenv=/p } {testenv=the value} test exec2-2.2 "Remove from exec environment" { set env(testenv2) "new value" unset env(testenv) exec printenv | sed -n -e /^testenv=/p } {} test exec2-2.3 "Remove all exec environment" { array unset env * exec printenv | sed -n -e /^testenv2=/p } {} test exec2-2.4 "Remove all env var" { unset -nocomplain env exec printenv | sed -n -e /^testenv2=/p } {} testreport