[testsuite] : make check-functions-body dump expected and seen cases on failure.

Message ID patch-16250-tamar@arm.com
State New, archived
Headers
Series [testsuite] : make check-functions-body dump expected and seen cases on failure. |

Commit Message

Tamar Christina Sept. 23, 2022, 9:23 a.m. UTC
  Hi All,

Often times when a check_function_body check fails it can be quite hard to
figure out why as no additional information is provided.

This changes it so that on failures it prints out the regex expression it's
using and the text it's comparing against to the verbose log.

This makes it much easier to figure out why a test has failed.

Bootstrapped Regtested on aarch64-none-linux-gnu and no issues.

Ok for master?

Thanks,
Tamar

gcc/testsuite/ChangeLog:

	* lib/scanasm.exp (check_function_body): Add debug output to verbose log
	on failure.

--- inline copy of patch -- 
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index a80630bb2a819812ce1fe05184535011a12f1288..7c9dcfc9b2e49093355219f76838161f4c3302df 100644




--
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index a80630bb2a819812ce1fe05184535011a12f1288..7c9dcfc9b2e49093355219f76838161f4c3302df 100644
--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -803,7 +803,12 @@ proc check_function_body { functions name body_regexp } {
     if { ![info exists up_functions($name)] } {
 	return 0
     }
-    return [regexp "^$body_regexp\$" $up_functions($name)]
+    set fn_res [regexp "^$body_regexp\$" $up_functions($name)]
+    if { !$fn_res } {
+      verbose -log "body: $body_regexp"
+      verbose -log "against: $up_functions($name)"
+    }
+    return $fn_res
 }
 
 # Check the implementations of functions against expected output.  Used as:
  

Comments

Richard Sandiford Sept. 23, 2022, 9:32 a.m. UTC | #1
Tamar Christina <tamar.christina@arm.com> writes:
> Hi All,
>
> Often times when a check_function_body check fails it can be quite hard to
> figure out why as no additional information is provided.
>
> This changes it so that on failures it prints out the regex expression it's
> using and the text it's comparing against to the verbose log.
>
> This makes it much easier to figure out why a test has failed.
>
> Bootstrapped Regtested on aarch64-none-linux-gnu and no issues.
>
> Ok for master?
>
> Thanks,
> Tamar
>
> gcc/testsuite/ChangeLog:
>
> 	* lib/scanasm.exp (check_function_body): Add debug output to verbose log
> 	on failure.

OK, thanks.

Richard

>
> --- inline copy of patch -- 
> diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
> index a80630bb2a819812ce1fe05184535011a12f1288..7c9dcfc9b2e49093355219f76838161f4c3302df 100644
> --- a/gcc/testsuite/lib/scanasm.exp
> +++ b/gcc/testsuite/lib/scanasm.exp
> @@ -803,7 +803,12 @@ proc check_function_body { functions name body_regexp } {
>      if { ![info exists up_functions($name)] } {
>  	return 0
>      }
> -    return [regexp "^$body_regexp\$" $up_functions($name)]
> +    set fn_res [regexp "^$body_regexp\$" $up_functions($name)]
> +    if { !$fn_res } {
> +      verbose -log "body: $body_regexp"
> +      verbose -log "against: $up_functions($name)"
> +    }
> +    return $fn_res
>  }
>  
>  # Check the implementations of functions against expected output.  Used as:
  

Patch

--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -803,7 +803,12 @@  proc check_function_body { functions name body_regexp } {
     if { ![info exists up_functions($name)] } {
 	return 0
     }
-    return [regexp "^$body_regexp\$" $up_functions($name)]
+    set fn_res [regexp "^$body_regexp\$" $up_functions($name)]
+    if { !$fn_res } {
+      verbose -log "body: $body_regexp"
+      verbose -log "against: $up_functions($name)"
+    }
+    return $fn_res
 }
 
 # Check the implementations of functions against expected output.  Used as: