+2014-12-01 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/jit.exp (verify_exit_status): New function.
+ (fixed_host_execute): Verify the exit status of the spawnee.
+
2014-12-01 David Malcolm <dmalcolm@redhat.com>
* jit.dg/jit.exp (fixed_host_execute): Fix timeout bug.
close $f
}
+# Given WRES, the result from "wait", issue a PASS
+# if the spawnee exited cleanly, or a FAIL for various kinds of
+# unexpected exits.
+
+proc verify_exit_status { executable wres } {
+ lassign $wres pid spawnid os_error_flag value
+ verbose "pid: $pid" 3
+ verbose "spawnid: $spawnid" 3
+ verbose "os_error_flag: $os_error_flag" 3
+ verbose "value: $value" 3
+
+ # Detect segfaults etc:
+ if { [llength $wres] > 4 } {
+ if { [lindex $wres 4] == "CHILDKILLED" } {
+ fail "$executable killed: $wres"
+ return
+ }
+ }
+ if { $os_error_flag != 0 } {
+ fail "$executable: OS error: $wres"
+ return
+ }
+ if { $value != 0 } {
+ fail "$executable: non-zero exit code: $wres"
+ return
+ }
+ pass "$executable exited cleanly"
+}
+
# This is host_execute from dejagnu.exp commit
# 126a089777158a7891ff975473939f08c0e31a1c
# with the following patch applied, and renaming to "fixed_host_execute".
catch wait wres
verbose "wres: $wres" 2
+ verify_exit_status $executable $wres
if $run_under_valgrind {
upvar 2 name name