mirror of
https://codeberg.org/scip/pcp.git
synced 2025-12-17 12:00:56 +01:00
added loop feature (variable loop = $count) to execute the same test multiple times
This commit is contained in:
@@ -63,6 +63,7 @@ else {
|
|||||||
$continue = &runtest($cfg{test}->{$test}, $test);
|
$continue = &runtest($cfg{test}->{$test}, $test);
|
||||||
if (!$continue) {
|
if (!$continue) {
|
||||||
print "Last failed check: $test\n";
|
print "Last failed check: $test\n";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -73,6 +74,16 @@ sub runtest {
|
|||||||
my($cfg, $name) = @_;
|
my($cfg, $name) = @_;
|
||||||
my($in, $out, $error, $timeout);
|
my($in, $out, $error, $timeout);
|
||||||
|
|
||||||
|
if (exists $cfg->{loop}) {
|
||||||
|
my $loop = delete $cfg->{loop};
|
||||||
|
foreach my $n (0 .. $loop) {
|
||||||
|
if (&runtest($cfg, "${name}-loop-${n}") == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
foreach my $key (keys %{$cfg}) {
|
foreach my $key (keys %{$cfg}) {
|
||||||
$cfg->{$key} =~ s/\`([^\`]*)\`/my $result = `$1`; chomp $result; $result/ge;
|
$cfg->{$key} =~ s/\`([^\`]*)\`/my $result = `$1`; chomp $result; $result/ge;
|
||||||
}
|
}
|
||||||
@@ -117,8 +128,13 @@ sub runtest {
|
|||||||
$output =~ s/^\s*//;
|
$output =~ s/^\s*//;
|
||||||
$output =~ s/\s*$//;
|
$output =~ s/\s*$//;
|
||||||
|
|
||||||
|
printf "$output\n" if $verbose > 1;
|
||||||
|
|
||||||
if (exists $cfg->{expect}) {
|
if (exists $cfg->{expect}) {
|
||||||
if ($cfg->{expect} =~ /^\//) {
|
if ($cfg->{expect} =~ /^!(\/.*)/) {
|
||||||
|
unlike($output, $1, "$name") or return final 0;
|
||||||
|
}
|
||||||
|
elsif ($cfg->{expect} =~ /^\//) {
|
||||||
like($output, $cfg->{expect}, "$name") or return final 0;
|
like($output, $cfg->{expect}, "$name") or return final 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -172,6 +188,7 @@ done_testing;
|
|||||||
|
|
||||||
sub final {
|
sub final {
|
||||||
my $ret = shift;
|
my $ret = shift;
|
||||||
|
system("stty echo"); # turn echo on, just in case a prompt timed out
|
||||||
if ($output =~ /(segmentation fault|bus error)/i || -s "pcp1.core") {
|
if ($output =~ /(segmentation fault|bus error)/i || -s "pcp1.core") {
|
||||||
# override $ret
|
# override $ret
|
||||||
$ret = 0;
|
$ret = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user