# where STATUS is the job/step status to be used if the step
# status is not as expected, and the special meanings are:
#
-# - Only for run-ts; suprresses exception on failure.
+# - for run-ts; suprresses exception on failure.
+# for per-host-ts; suppresses consequences of failure.
# ! Run this even if the job is being truncated.
# (for per-host-ts, even if the job is no longer $ok)
# . Shorthand for "fail"
global ok
upvar 1 $iffail_status_var iffail_status
+ if {[regexp {^-} $iffail]} {
+ # move - to the end, since docs say it should have come first
+ regsub {^-} "$iffail-" {} iffail
+ }
if {[regexp {^!?\.$} $iffail]} {
regsub {\.$} $iffail fail iffail
}
foreach host $need_xen_hosts await $awaitl {
if {![reap-ts $await]} {
jobdb::logputs stderr "$flight.$jobinfo(job) @$host $args failed"
- set failed 1
- set ok 0
+ if {[string compare - $iffail_status]} {
+ set failed 1
+ set ok 0
+ }
}
}