]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Generalised the reg test script again: replaced the "cpu_test" line,
authorNicholas Nethercote <n.nethercote@gmail.com>
Thu, 18 Nov 2004 12:48:17 +0000 (12:48 +0000)
committerNicholas Nethercote <n.nethercote@gmail.com>
Thu, 18 Nov 2004 12:48:17 +0000 (12:48 +0000)
which caused the test to be skipped if the CPU type wasn't appropriate,
with a "prereq" line, which specifies a command that must succeed before
the test is run.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3041

33 files changed:
addrcheck/tests/x86/insn_cmov.vgtest
addrcheck/tests/x86/insn_fpu.vgtest
addrcheck/tests/x86/insn_mmx.vgtest
addrcheck/tests/x86/insn_mmxext.vgtest
addrcheck/tests/x86/insn_sse.vgtest
addrcheck/tests/x86/insn_sse2.vgtest
cachegrind/tests/x86/fpu-28-108.vgtest
cachegrind/tests/x86/insn_cmov.vgtest
cachegrind/tests/x86/insn_fpu.vgtest
cachegrind/tests/x86/insn_mmx.vgtest
cachegrind/tests/x86/insn_mmxext.vgtest
cachegrind/tests/x86/insn_sse.vgtest
cachegrind/tests/x86/insn_sse2.vgtest
helgrind/tests/x86/insn_cmov.vgtest
helgrind/tests/x86/insn_fpu.vgtest
helgrind/tests/x86/insn_mmx.vgtest
helgrind/tests/x86/insn_mmxext.vgtest
helgrind/tests/x86/insn_sse.vgtest
helgrind/tests/x86/insn_sse2.vgtest
memcheck/tests/x86/insn_cmov.vgtest
memcheck/tests/x86/insn_fpu.vgtest
memcheck/tests/x86/insn_mmx.vgtest
memcheck/tests/x86/insn_mmxext.vgtest
memcheck/tests/x86/insn_sse.vgtest
memcheck/tests/x86/insn_sse2.vgtest
none/tests/x86/insn_cmov.vgtest
none/tests/x86/insn_fpu.vgtest
none/tests/x86/insn_mmx.vgtest
none/tests/x86/insn_mmxext.vgtest
none/tests/x86/insn_sse.vgtest
none/tests/x86/insn_sse2.vgtest
tests/cputest.c
tests/vg_regtest.in

index 8deeb9eb98fbdf14d4100ba853a1d48d0fc142d6..28f108c8b8efe4f85c61640fddb40b063141959a 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_cmov
-cpu_test: x86-cmov
+prereq: ../../../tests/cputest x86-cmov
index e7ca604d857c13248f862042ff85baf153eba5b3..278e8b79edf88b03d9729e7666bc1c070e2d0b2d 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_fpu
-cpu_test: x86-fpu
+prereq: ../../../tests/cputest x86-fpu
index 6f6b2ab4ee79bd60d4b0df93b65f166d38e2a213..d0ffcf4994e5d712235b16db545de1af5a21dfc8 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_mmx
-cpu_test: x86-mmx
+prereq: ../../../tests/cputest x86-mmx
index 7a30fa41828ef0e69823ac8412880551597c3451..2f5d9ef4da42133a7de2347bf2c2df51ebdc88b6 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_mmxext
-cpu_test: x86-mmxext
+prereq: ../../../tests/cputest x86-mmxext
index 626e712227042036a77a51bbb73dce1bc7db43b7..be56cc9d4b18a902b9895ffeb767d5282edc7716 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_sse
-cpu_test: x86-sse
+prereq: ../../../tests/cputest x86-sse
index 8a09a9924190cb9888fbea60a6b8c0b17396f722..346e5c4e02b6f46a167a8eee37c8f74d66b412c4 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_sse2
-cpu_test: x86-sse2
+prereq: ../../../tests/cputest x86-sse2
index 47c2606bc6746251c85dca439a1d914ce81ba519..b2e138edd25c85a9e0ee52ed6da38d14feaeefe8 100644 (file)
@@ -1,3 +1,2 @@
 prog: fpu-28-108
 cleanup: rm cachegrind.out.*
-cpu_test: x86
index 3d5d2bc2d6e03de27d53e24468dbd94fb172bef7..1290b2e0eed9a4be978988d151eb864fe37d3870 100644 (file)
@@ -1,4 +1,4 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_cmov
-cpu_test: x86-cmov
+prereq: ../../../tests/cputest x86-cmov
 cleanup: rm cachegrind.out.*
index 486ce5869d42df690971acbad0ca2ae8a1b1ce08..a6f3b17b717df4547e1087e48e30ba39f9eaffb8 100644 (file)
@@ -1,4 +1,4 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_fpu
-cpu_test: x86-fpu
+prereq: ../../../tests/cputest x86-fpu
 cleanup: rm cachegrind.out.*
index 36dcc2063dd007e3c5867ad89895f05d0f0064b2..591b0c82d4cc227d1f33882715dd29e3b8c749f3 100644 (file)
@@ -1,4 +1,4 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_mmx
-cpu_test: x86-mmx
+prereq: ../../../tests/cputest x86-mmx
 cleanup: rm cachegrind.out.*
index 96da64d193ccc8f2ddc392ec3f57359cab27fcc8..6d2cbb45337de553917a9c99b15b7b79f833063e 100644 (file)
@@ -1,4 +1,4 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_mmxext
-cpu_test: x86-mmxext
+prereq: ../../../tests/cputest x86-mmxext
 cleanup: rm cachegrind.out.*
index 08837b6371b0bba4813e8aac29088273abb18e00..73b143ff322a705c910255730e5261e9215415b9 100644 (file)
@@ -1,4 +1,4 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_sse
-cpu_test: x86-sse
+prereq: ../../../tests/cputest x86-sse
 cleanup: rm cachegrind.out.*
index b0fe3e76a15470a7478840b28bc39f4fd6fb1399..9c99e0329863c764eb61c5fc2a212feb62a9f62e 100644 (file)
@@ -1,4 +1,4 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_sse2
-cpu_test: x86-sse2
+prereq: ../../../tests/cputest x86-sse2
 cleanup: rm cachegrind.out.*
index 8deeb9eb98fbdf14d4100ba853a1d48d0fc142d6..28f108c8b8efe4f85c61640fddb40b063141959a 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_cmov
-cpu_test: x86-cmov
+prereq: ../../../tests/cputest x86-cmov
index e7ca604d857c13248f862042ff85baf153eba5b3..278e8b79edf88b03d9729e7666bc1c070e2d0b2d 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_fpu
-cpu_test: x86-fpu
+prereq: ../../../tests/cputest x86-fpu
index 6f6b2ab4ee79bd60d4b0df93b65f166d38e2a213..d0ffcf4994e5d712235b16db545de1af5a21dfc8 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_mmx
-cpu_test: x86-mmx
+prereq: ../../../tests/cputest x86-mmx
index 7a30fa41828ef0e69823ac8412880551597c3451..2f5d9ef4da42133a7de2347bf2c2df51ebdc88b6 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_mmxext
-cpu_test: x86-mmxext
+prereq: ../../../tests/cputest x86-mmxext
index 626e712227042036a77a51bbb73dce1bc7db43b7..be56cc9d4b18a902b9895ffeb767d5282edc7716 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_sse
-cpu_test: x86-sse
+prereq: ../../../tests/cputest x86-sse
index 8a09a9924190cb9888fbea60a6b8c0b17396f722..346e5c4e02b6f46a167a8eee37c8f74d66b412c4 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_sse2
-cpu_test: x86-sse2
+prereq: ../../../tests/cputest x86-sse2
index 8deeb9eb98fbdf14d4100ba853a1d48d0fc142d6..28f108c8b8efe4f85c61640fddb40b063141959a 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_cmov
-cpu_test: x86-cmov
+prereq: ../../../tests/cputest x86-cmov
index e7ca604d857c13248f862042ff85baf153eba5b3..278e8b79edf88b03d9729e7666bc1c070e2d0b2d 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_fpu
-cpu_test: x86-fpu
+prereq: ../../../tests/cputest x86-fpu
index 6f6b2ab4ee79bd60d4b0df93b65f166d38e2a213..d0ffcf4994e5d712235b16db545de1af5a21dfc8 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_mmx
-cpu_test: x86-mmx
+prereq: ../../../tests/cputest x86-mmx
index 7a30fa41828ef0e69823ac8412880551597c3451..2f5d9ef4da42133a7de2347bf2c2df51ebdc88b6 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_mmxext
-cpu_test: x86-mmxext
+prereq: ../../../tests/cputest x86-mmxext
index 626e712227042036a77a51bbb73dce1bc7db43b7..be56cc9d4b18a902b9895ffeb767d5282edc7716 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_sse
-cpu_test: x86-sse
+prereq: ../../../tests/cputest x86-sse
index 8a09a9924190cb9888fbea60a6b8c0b17396f722..346e5c4e02b6f46a167a8eee37c8f74d66b412c4 100644 (file)
@@ -1,3 +1,3 @@
 vgopts: -q
 prog: ../../../none/tests/x86/insn_sse2
-cpu_test: x86-sse2
+prereq: ../../../tests/cputest x86-sse2
index abb1b68e2c597bfa371eba815c7c3fdca583e7ee..d4a5640550aa59b7775a3a50e440f83f3828f2ef 100644 (file)
@@ -1,2 +1,2 @@
 prog: insn_cmov
-cpu_test: x86-cmov
+prereq: ../../../tests/cputest x86-cmov
index af3548421db008bb76a8f4bd2190089994990807..846a04c36795cec64e52169d97811d46ac63e572 100644 (file)
@@ -1,2 +1,2 @@
 prog: insn_fpu
-cpu_test: x86-fpu
+prereq: ../../../tests/cputest x86-fpu
index 146613e9a1255b3d2b3f211b202385d37ee92a98..80fab51da310c0f7e5869b5064e55305c1c3bf80 100644 (file)
@@ -1,2 +1,2 @@
 prog: insn_mmx
-cpu_test: x86-mmx
+prereq: ../../../tests/cputest x86-mmx
index d4f40edd4d5a33b6168e135c3c9b84382e9ea203..973ee4aff2b11f1c4ea8d0602daae08323128992 100644 (file)
@@ -1,2 +1,2 @@
 prog: insn_mmxext
-cpu_test: x86-mmxext
+prereq: ../../../tests/cputest x86-mmxext
index b493e2dfc6bc5ea8ca2b0dc68742abdfe557f91c..88b96bc1bf90976696bd4bb60bc697d385f40fe6 100644 (file)
@@ -1,2 +1,2 @@
 prog: insn_sse
-cpu_test: x86-sse
+prereq: ../../../tests/cputest x86-sse
index aaf7a10e458eb0c037eb567844feae855c30a8aa..da1f4942a9fb95354bec5a8c0cadc2e2a68d719e 100644 (file)
@@ -1,2 +1,2 @@
 prog: insn_sse2
-cpu_test: x86-sse2
+prereq: ../../../tests/cputest x86-sse2
index 4ccbee38b2f54b2d18bf5fae5174e3e47a6a2145..04d66bf3efe71df7d842d48b0515f1fc05709c4c 100644 (file)
@@ -21,8 +21,7 @@ static int go(char* cpu)
    unsigned int level = 0, mask = 0, a, b, c, d;
 
    if ( strcmp( cpu, "x86" ) == 0 ) {
-     level = 1;
-     mask = 1 << 0;
+     return 0;
    } else if ( strcmp( cpu, "x86-fpu" ) == 0 ) {
      level = 1;
      mask = 1 << 0;
index 7bb2d92cd4542b29aa114e37f2f0922ed1f1da10..a0e88429039dd1541b74c18ac6c12ec752f31a50 100755 (executable)
@@ -49,7 +49,7 @@
 #   - vgopts: <Valgrind options>                    (default: none)
 #   - stdout_filter: <filter to run stdout through> (default: none)
 #   - stderr_filter: <filter to run stderr through> (default: ./filter_stderr)
-#   - cpu_test: <cpu feature required for test>     (default: none)
+#   - prereq: <prerequisite command>                (default: none)
 #   - cleanup: <post-test cleanup cmd to run>       (default: none)
 #
 # Note that filters are necessary for stderr results to filter out things that
@@ -59,6 +59,9 @@
 # than one expected output).  It can be missing if it would be empty.  Expected
 # stderr (filtered) is kept in <test>.stderr.exp[0-9]?. 
 #
+# The prerequisite command, if present, must return 0 otherwise the test is
+# skipped.
+#
 # If results don't match, the output can be found in <test>.std<strm>.out,
 # and the diff between expected and actual in <test>.std<strm>.diff[0-9]?.
 #
@@ -82,7 +85,7 @@ my $prog;               # test prog
 my $args;               # test prog args
 my $stdout_filter;      # filter program to run stdout results file through
 my $stderr_filter;      # filter program to run stderr results file through
-my $cpu_test;           # cpu feature to check for before running test
+my $prereq;             # prerequisite test to satisfy before running test
 my $cleanup;            # cleanup command to run
 
 my @failures;           # List of failed tests
@@ -169,7 +172,7 @@ sub read_vgtest_file($)
     my ($f) = @_;
 
     # Defaults.
-    ($vgopts, $prog, $args, $stdout_filter, $stderr_filter, $cpu_test, $cleanup)
+    ($vgopts, $prog, $args, $stdout_filter, $stderr_filter, $prereq, $cleanup)
       = ("", undef, "", undef, undef, undef, undef);
 
     # Every test directory must have a "filter_stderr"
@@ -188,8 +191,8 @@ sub read_vgtest_file($)
             $stdout_filter = validate_program(".", $1, 1, 1);
         } elsif ($line =~ /^\s*stderr_filter:\s*(.*)$/) {
             $stderr_filter = validate_program(".", $1, 1, 1);
-        } elsif ($line =~ /^\s*cpu_test:\s*(.*)$/) {
-            $cpu_test = $1;
+        } elsif ($line =~ /^\s*prereq:\s*(.*)$/) {
+            $prereq = $1;
         } elsif ($line =~ /^\s*cleanup:\s*(.*)$/) {
             $cleanup = $1;
         } else {
@@ -263,9 +266,9 @@ sub do_one_test($$)
 
     read_vgtest_file($vgtest);
 
-    if (defined $cpu_test) {
-        if (system("$tests_dir/tests/cputest $cpu_test") != 0) {
-            printf("%-16s (cpu_test failed, skipping)\n", "$name:");
+    if (defined $prereq) {
+        if (system("$prereq") != 0) {
+            printf("%-16s (skipping, prereq failed: $prereq)\n", "$name:");
             return;
         }
     }