Generalised reg test script: instead of having a "delete:" line, for removing

files once a test has completed, we have a "cleanup:" line, which specifies a
cleanup command.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3039
This commit is contained in:
Nicholas Nethercote 2004-11-18 11:57:00 +00:00
parent 6918dc8dc3
commit a2d1e021a4
16 changed files with 23 additions and 22 deletions

View File

@ -1,2 +1,2 @@
prog: chdir
delete: cachegrind.out.*
cleanup: rm cachegrind.out.*

View File

@ -1,3 +1,3 @@
prog: dlclose
stderr_filter: filter_cachesim_discards
delete: cachegrind.out.*
cleanup: rm cachegrind.out.*

View File

@ -1,3 +1,3 @@
prog: fpu-28-108
delete: cachegrind.out.*
cleanup: rm cachegrind.out.*
cpu_test: x86

View File

@ -1,3 +1,3 @@
vgopts: -q
prog: ../../../none/tests/x86/insn_basic
delete: cachegrind.out.*
cleanup: rm cachegrind.out.*

View File

@ -1,4 +1,4 @@
vgopts: -q
prog: ../../../none/tests/x86/insn_cmov
cpu_test: x86-cmov
delete: cachegrind.out.*
cleanup: rm cachegrind.out.*

View File

@ -1,4 +1,4 @@
vgopts: -q
prog: ../../../none/tests/x86/insn_fpu
cpu_test: x86-fpu
delete: cachegrind.out.*
cleanup: rm cachegrind.out.*

View File

@ -1,4 +1,4 @@
vgopts: -q
prog: ../../../none/tests/x86/insn_mmx
cpu_test: x86-mmx
delete: cachegrind.out.*
cleanup: rm cachegrind.out.*

View File

@ -1,4 +1,4 @@
vgopts: -q
prog: ../../../none/tests/x86/insn_mmxext
cpu_test: x86-mmxext
delete: cachegrind.out.*
cleanup: rm cachegrind.out.*

View File

@ -1,4 +1,4 @@
vgopts: -q
prog: ../../../none/tests/x86/insn_sse
cpu_test: x86-sse
delete: cachegrind.out.*
cleanup: rm cachegrind.out.*

View File

@ -1,4 +1,4 @@
vgopts: -q
prog: ../../../none/tests/x86/insn_sse2
cpu_test: x86-sse2
delete: cachegrind.out.*
cleanup: rm cachegrind.out.*

View File

@ -1,3 +1,3 @@
prog: ../../tests/true
vgopts: --format=html
delete: massif.*.*
cleanup: rm massif.*.*

View File

@ -1,3 +1,3 @@
prog: ../../tests/true
vgopts: --format=text
delete: massif.*.*
cleanup: rm massif.*.*

View File

@ -1,2 +1,2 @@
prog: badjump
delete: vgcore.pid*
cleanup: rm vgcore.pid*

View File

@ -1,4 +1,4 @@
prog: scalar
vgopts: -q --error-limit=no
args: < scalar.c
delete: tmp_write_file_foo
cleanup: rm tmp_write_file_foo

View File

@ -1,3 +1,3 @@
prog: int
stderr_filter: filter_int
delete: vgcore.pid*
cleanup: rm vgcore.pid*

View File

@ -50,7 +50,7 @@
# - 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)
# - delete: <created file(s) to delete> (default: none)
# - cleanup: <post-test cleanup cmd to run> (default: none)
#
# Note that filters are necessary for stderr results to filter out things that
# always change, eg. process id numbers.
@ -83,7 +83,7 @@ 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 $delete; # file(s) to delete
my $cleanup; # cleanup command to run
my @failures; # List of failed tests
@ -169,7 +169,7 @@ sub read_vgtest_file($)
my ($f) = @_;
# Defaults.
($vgopts, $prog, $args, $stdout_filter, $stderr_filter, $cpu_test, $delete)
($vgopts, $prog, $args, $stdout_filter, $stderr_filter, $cpu_test, $cleanup)
= ("", undef, "", undef, undef, undef, undef);
# Every test directory must have a "filter_stderr"
@ -190,8 +190,8 @@ sub read_vgtest_file($)
$stderr_filter = validate_program(".", $1, 1, 1);
} elsif ($line =~ /^\s*cpu_test:\s*(.*)$/) {
$cpu_test = $1;
} elsif ($line =~ /^\s*delete:\s*(.*)$/) {
$delete = $1;
} elsif ($line =~ /^\s*cleanup:\s*(.*)$/) {
$cleanup = $1;
} else {
die "Bad line in $f: $line\n";
}
@ -297,8 +297,9 @@ sub do_one_test($$)
do_diffs($fullname, $name, "stdout", \@stdout_exps);
do_diffs($fullname, $name, "stderr", \@stderr_exps);
if (defined $delete) {
unlink(glob($delete));
if (defined $cleanup) {
(system("$cleanup") == 0) or
print("(cleanup operation failed: $cleanup)\n");
}
$num_tests_done++;