[1/8] Convert skip_altivec_tests to allow form

Message ID 20230122215558.1931803-2-tom@tromey.com
State Committed
Headers
Series Use 'require' even more |

Commit Message

Tom Tromey Jan. 22, 2023, 9:55 p.m. UTC
  This renames skip_altivec_tests to allow_altivec_tests and updates its
users to use require.
---
 gdb/testsuite/gdb.arch/altivec-abi.exp        |  3 +-
 gdb/testsuite/gdb.arch/altivec-regs.exp       |  4 +--
 .../gdb.arch/powerpc-vector-regs.exp          |  3 +-
 gdb/testsuite/lib/gdb.exp                     | 28 +++++++++----------
 4 files changed, 20 insertions(+), 18 deletions(-)
  

Comments

Pedro Alves Jan. 23, 2023, 7:45 p.m. UTC | #1
On 2023-01-22 9:55 p.m., Tom Tromey wrote:
> -if {![istarget "powerpc*"] || [skip_altivec_tests]} {
> +require allow_altivec_tests
> +if {![istarget "powerpc*"]} {
>      verbose "Skipping altivec abi tests."
>      return
>  }

Something preexisting, and that can be done after your patch, but I note that it's odd
that we have to check [istarget "powerpc*"] explicitly.  I don't think there are
non-Power altivec systems?  I think the istarget check would be better moved
inside allow_altivec_tests.  All existing callers have that same istarget check, even.
  
Tom Tromey Jan. 24, 2023, 7:53 p.m. UTC | #2
>>>>> "Pedro" == Pedro Alves <pedro@palves.net> writes:

Pedro> On 2023-01-22 9:55 p.m., Tom Tromey wrote:
>> -if {![istarget "powerpc*"] || [skip_altivec_tests]} {
>> +require allow_altivec_tests
>> +if {![istarget "powerpc*"]} {
>> verbose "Skipping altivec abi tests."
>> return
>> }

Pedro> Something preexisting, and that can be done after your patch, but
Pedro> I note that it's odd that we have to check [istarget "powerpc*"]
Pedro> explicitly.  I don't think there are non-Power altivec systems?
Pedro> I think the istarget check would be better moved inside
Pedro> allow_altivec_tests.  All existing callers have that same
Pedro> istarget check, even.

I've tacked on a patch to do this.

Tom
  

Patch

diff --git a/gdb/testsuite/gdb.arch/altivec-abi.exp b/gdb/testsuite/gdb.arch/altivec-abi.exp
index 28d0ae1fff9..1c3cda451e4 100644
--- a/gdb/testsuite/gdb.arch/altivec-abi.exp
+++ b/gdb/testsuite/gdb.arch/altivec-abi.exp
@@ -21,7 +21,8 @@ 
 # This file uses altivec-abi.c for input.
 #
 
-if {![istarget "powerpc*"] || [skip_altivec_tests]} {
+require allow_altivec_tests
+if {![istarget "powerpc*"]} {
     verbose "Skipping altivec abi tests."
     return
 }
diff --git a/gdb/testsuite/gdb.arch/altivec-regs.exp b/gdb/testsuite/gdb.arch/altivec-regs.exp
index 21e019122ce..8a7fd2e502c 100644
--- a/gdb/testsuite/gdb.arch/altivec-regs.exp
+++ b/gdb/testsuite/gdb.arch/altivec-regs.exp
@@ -21,8 +21,8 @@ 
 # This file uses altivec-regs.c for input.
 #
 
-
-if {![istarget "powerpc*"] || [skip_altivec_tests]} {
+require allow_altivec_tests
+if {![istarget "powerpc*"]} {
     verbose "Skipping altivec register tests."
     return
 }
diff --git a/gdb/testsuite/gdb.arch/powerpc-vector-regs.exp b/gdb/testsuite/gdb.arch/powerpc-vector-regs.exp
index f9d404b4835..bbcf45a555d 100644
--- a/gdb/testsuite/gdb.arch/powerpc-vector-regs.exp
+++ b/gdb/testsuite/gdb.arch/powerpc-vector-regs.exp
@@ -20,7 +20,8 @@ 
 # 0 to 31 in each of the 16 bytes of each corresponding register, and
 # we then check if gdb sees these same values.
 
-if {![istarget "powerpc*"] || [skip_altivec_tests]} {
+require allow_altivec_tests
+if {![istarget "powerpc*"]} {
     verbose "Skipping PowerPC vector register tests."
     return
 }
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 3188f2de615..4346c858579 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -3457,18 +3457,18 @@  proc support_displaced_stepping {} {
     return 0
 }
 
-# Run a test on the target to see if it supports vmx hardware.  Return 0 if so, 
-# 1 if it does not.  Based on 'check_vmx_hw_available' from the GCC testsuite.
+# Run a test on the target to see if it supports vmx hardware.  Return 1 if so, 
+# 0 if it does not.  Based on 'check_vmx_hw_available' from the GCC testsuite.
 
-gdb_caching_proc skip_altivec_tests {
+gdb_caching_proc allow_altivec_tests {
     global srcdir subdir gdb_prompt inferior_exited_re
 
-    set me "skip_altivec_tests"
+    set me "allow_altivec_tests"
 
     # Some simulators are known to not support VMX instructions.
     if { [istarget powerpc-*-eabi] || [istarget powerpc*-*-eabispe] } {
-        verbose "$me:  target known to not support VMX, returning 1" 2
-        return 1
+	verbose "$me:  target known to not support VMX, returning 0" 2
+	return 0
     }
 
     # Make sure we have a compiler that understands altivec.
@@ -3477,8 +3477,8 @@  gdb_caching_proc skip_altivec_tests {
     } elseif [test_compiler_info xlc*] {
         set compile_flags "additional_flags=-qaltivec"
     } else {
-        verbose "Could not compile with altivec support, returning 1" 2
-        return 1
+	verbose "Could not compile with altivec support, returning 0" 2
+	return 0
     }
 
     # Compile a test program containing VMX instructions.
@@ -3493,7 +3493,7 @@  gdb_caching_proc skip_altivec_tests {
 	}
     }
     if {![gdb_simple_compile $me $src executable $compile_flags]} {
-        return 1
+	return 0
     }
 
     # Compilation succeeded so now run it via gdb.
@@ -3506,22 +3506,22 @@  gdb_caching_proc skip_altivec_tests {
     gdb_expect {
         -re ".*Illegal instruction.*${gdb_prompt} $" {
             verbose -log "\n$me altivec hardware not detected" 
-            set skip_vmx_tests 1
+	    set allow_vmx_tests 0
         }
         -re ".*$inferior_exited_re normally.*${gdb_prompt} $" {
             verbose -log "\n$me: altivec hardware detected" 
-            set skip_vmx_tests 0
+	    set allow_vmx_tests 1
         }
         default {
           warning "\n$me: default case taken"
-            set skip_vmx_tests 1
+	    set allow_vmx_tests 0
         }
     }
     gdb_exit
     remote_file build delete $obj
 
-    verbose "$me:  returning $skip_vmx_tests" 2
-    return $skip_vmx_tests
+    verbose "$me:  returning $allow_vmx_tests" 2
+    return $allow_vmx_tests
 }
 
 # Run a test on the power target to see if it supports ISA 3.1 instructions