Fix test suites invoked in the wrong directory

Running test suites from another directory only works when the auto-chdir
code in host_test.function is enabled, which is platform-dependent and
configuration-dependent.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
Gilles Peskine 2024-09-11 13:21:50 +02:00
parent 282abb507d
commit 71a53b5cc0

View File

@ -85,8 +85,11 @@ sub pad_print_center {
for my $suite_path (@suites)
{
my $suite = $suite_path;
$suite =~ s!.*/!!;
my ($dir, $suite) = ('.', $suite_path);
if ($suite =~ m!(.*)/([^/]*)!) {
$dir = $1;
$suite = $2;
}
print "$suite ", "." x ( 72 - length($suite) - 2 - 4 ), " ";
if( $suite =~ /$skip_re/o ) {
print "SKIP\n";
@ -94,7 +97,7 @@ for my $suite_path (@suites)
next;
}
my $command = "$prefix$suite_path";
my $command = "cd $dir && $prefix$suite";
if( $verbose ) {
$command .= ' -v';
}