# - 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)
#
# Note that filters are necessary for stderr results to filter out things that
# always change, eg. process id numbers.
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 @failures; # List of failed tests
my ($f) = @_;
# Defaults.
- ($vgopts, $prog, $args, $stdout_filter, $stderr_filter, $cpu_test) =
- ("", undef, "", undef, undef, undef);
+ ($vgopts, $prog, $args, $stdout_filter, $stderr_filter, $cpu_test, $delete)
+ = ("", undef, "", undef, undef, undef, undef);
# Every test directory must have a "filter_stderr"
$stderr_filter = validate_program(".", $default_stderr_filter, 1);
$stderr_filter = validate_program(".", $1, 1);
} elsif ($line =~ /^\s*cpu_test:\s*(.*)$/) {
$cpu_test = $1;
+ } elsif ($line =~ /^\s*delete:\s*(.*)$/) {
+ $delete = $1;
} else {
die "Bad line in $f: $line\n";
}
do_diffs($fullname, $name, "stdout", \@stdout_exps);
do_diffs($fullname, $name, "stderr", \@stderr_exps);
+
+ if (defined $delete) {
+ unlink(glob($delete));
+ }
+
$num_tests_done++;
}