public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-8475] testsuite, jit: Stabilize error output.
@ 2024-01-28 10:59 Iain D Sandoe
  0 siblings, 0 replies; only message in thread
From: Iain D Sandoe @ 2024-01-28 10:59 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:557bea3d2e13bd8a4a19f494df748f7a384dc649

commit r14-8475-g557bea3d2e13bd8a4a19f494df748f7a384dc649
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Sat Jan 13 21:14:07 2024 +0000

    testsuite, jit: Stabilize error output.
    
    Currently when a test fails, we print out a lot of information,
    this includes items that are not stable between invocations (e.g.
    the PID for the executable).  That makes automated comparisons
    between test runs flag any persistent fails as new ones each time
    which is not usually what is wanted.
    
    This patch amends the error output to drop the variable portion
    of the message and retain items that should only change if the
    failure mode changes.
    
    gcc/testsuite/ChangeLog:
    
            * jit.dg/jit.exp: Filter error output to remove per-run
            variable content.
    
    Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

Diff:
---
 gcc/testsuite/jit.dg/jit.exp | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/gcc/testsuite/jit.dg/jit.exp b/gcc/testsuite/jit.dg/jit.exp
index 286cfa8192a5..893ff5f6dd05 100644
--- a/gcc/testsuite/jit.dg/jit.exp
+++ b/gcc/testsuite/jit.dg/jit.exp
@@ -94,25 +94,34 @@ proc parse_valgrind_logfile {name logfile} {
 # unexpected exits.
 
 proc verify_exit_status { executable wres } {
-    lassign $wres pid spawnid os_error_flag value
+    set extra [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"
+    set len [llength $extra]
+    if { $len >= 1 } {
+	if { [lindex $extra 0] == "CHILDKILLED" } {
+	    set reason "Unknown Reason"
+	    set detail "No Details"
+	    if { $len >= 2 } {
+		set reason [lindex $extra 1]
+		if { $len >= 3 } {
+		    set detail [lindex $extra 2]
+		}
+	    }
+	    fail "$executable killed: $reason $detail"
 	    return
 	}
     }
     if { $os_error_flag != 0 } {
-	fail "$executable: OS error: $wres"
+	fail "$executable: OS error: $os_error_flag $extra"
 	return
     }
     if { $value != 0 } {
-	fail "$executable: non-zero exit code: $wres"
+	fail "$executable: non-zero exit code: $value $extra"
 	return
     }
     pass "$executable exited cleanly"

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-01-28 10:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-28 10:59 [gcc r14-8475] testsuite, jit: Stabilize error output Iain D Sandoe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).