]> xenbits.xensource.com Git - people/liuw/osstest.git/commitdiff
tcl: Handle environment variables which are unset.
authorIan Campbell <ian.campbell@citrix.com>
Tue, 31 Mar 2015 15:06:46 +0000 (16:06 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 2 Apr 2015 10:37:18 +0000 (11:37 +0100)
This allows wrappers such as the standalone wrapper to do
     OSSTEST_SIMULATE=$foo ./sg-run-job
and not worry if $foo is unset.

Do likewise for OSSTEST_TCL_JOBDB_DEBUG.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
sg-run-job
tcl/JobDB-Executive.tcl
tcl/osstestlib.tcl

index 0ec314f778c1c394840f83bc004478d62958cbf4..eae159d7d876301159a76bd2b0c216fac0a34863 100755 (executable)
@@ -159,7 +159,7 @@ proc spawn-ts {iffail testid args} {
     jobdb::spawn-step-commit $flight $jobinfo(job) $stepno $testid
 
     set xprefix {}
-    if {[info exists env(OSSTEST_SIMULATE)]} { set xprefix echo }
+    if {[var-or-default env(OSSTEST_SIMULATE) 0]} { set xprefix echo }
 
     set log [jobdb::step-log-filename $flight $jobinfo(job) $stepno $ts]
     set redirects {< /dev/null}
index 430ea84ce8f5b255fa3afb5b21c91dbee8d61832..7228712f185eba0a6f655fe5a8e5f64fb72ad5cf 100644 (file)
@@ -117,7 +117,7 @@ proc db-update-1 {stmt} {
 }
 
 proc db-execute-debug {stmt} {
-    if {[info exists env(OSSTEST_TCL_JOBDB_DEBUG)]} {
+    if {[var-or-default env(OSSTEST_TCL_JOBDB_DEBUG) 0]} {
        puts stderr "EXECUTING >$stmt<"
     }
 }
index a0413c49904221b73130fa9db928bf1a93a18388..61a6a09fc6539fc8c7257b9b0f7ed6833dcaaf52 100644 (file)
@@ -74,3 +74,9 @@ proc lshift {listvar} {
     set list [lrange $list 1 end]
     return $head
 }
+
+proc var-or-default {varname {default {}}} {
+    upvar 1 $varname var
+    if {[info exists var]} { return $var }
+    return $default
+}