* tests/test_driver.pl: Add cd to the .run output file

This commit is contained in:
Paul Smith 2024-02-04 09:47:36 -05:00
parent ec348f51d0
commit 63b602e74f

View file

@ -184,21 +184,25 @@ sub resetENV
# so it can either be a ref of a list or a string. # so it can either be a ref of a list or a string.
sub cmd2str sub cmd2str
{ {
my @c;
my $cmd = $_[0]; my $cmd = $_[0];
if (!ref($cmd)) { if (!ref($cmd)) {
return $cmd; push @c, $cmd;
} } else {
foreach (@$cmd) {
my @c; if (/[][#;"*?&|<>(){}\$`^~!]/) {
foreach (@$cmd) { s/\'/\'\\'\'/g;
if (/[][#;"*?&|<>(){}\$`^~!]/) { push @c, "'$_'";
s/\'/\'\\'\'/g; } else {
push @c, "'$_'"; push @c, $_;
} else { }
push @c, $_;
} }
} }
return join(' ', @c);
if ($testpath eq $cwd) {
return join(' ', @c);
}
return "(cd $testpath && " . join(' ', @c) . ')';
} }
sub toplevel sub toplevel
@ -255,7 +259,7 @@ sub toplevel
# Locate the top source directory. # Locate the top source directory.
$toppath = File::Spec->rel2abs(File::Spec->updir(), $srcpath); $toppath = File::Spec->rel2abs(File::Spec->updir(), $srcpath);
$cwd = cwd(); local $cwd = cwd();
$workpath = "$workdir"; $workpath = "$workdir";
@ -649,7 +653,7 @@ sub run_all_tests
$perl_testname = File::Spec->catfile($scriptpath, $testname); $perl_testname = File::Spec->catfile($scriptpath, $testname);
-f $perl_testname or die "Invalid test: $testname\n\n"; -f $perl_testname or die "Invalid test: $testname\n\n";
$testpath = File::Spec->catdir($workpath, $testname); local $testpath = File::Spec->catdir($workpath, $testname);
remove_directory_tree($testpath); remove_directory_tree($testpath);
mkdir($testpath, 0777) or &error("Couldn't mkdir $testpath: $!\n", 1); mkdir($testpath, 0777) or &error("Couldn't mkdir $testpath: $!\n", 1);