New feature: STOPTEST
When the environment variable STOPTEST is defined (with any value other than the empty string), the test machinery in OpenSSL::Test goes into a different mode that will stop all testing at the end of a failing recipe. Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
fb921436f3
commit
caadc54381
@ -27,6 +27,8 @@ my %directories = (); # Directories we want to keep track of
|
||||
# to the environment variables TOP (mandatory),
|
||||
# BIN_D, TEST_D and RESULT_D.
|
||||
|
||||
my $end_with_bailout = 0;
|
||||
|
||||
sub quotify;
|
||||
|
||||
sub __top_file {
|
||||
@ -140,6 +142,8 @@ sub setup {
|
||||
$directories{TEST} = $ENV{TEST_D} || catdir($directories{TOP},"test");
|
||||
$directories{RESULTS} = $ENV{RESULT_D} || $directories{TEST};
|
||||
|
||||
$end_with_bailout = $ENV{STOPTEST} ? 1 : 0;
|
||||
|
||||
BAIL_OUT("setup() expects the file Configure in the \$TOP directory")
|
||||
unless -f top_file("Configure");
|
||||
|
||||
@ -273,6 +277,13 @@ sub cmdstr {
|
||||
return $display_cmd;
|
||||
}
|
||||
|
||||
END {
|
||||
my $tb = Test::More->builder;
|
||||
my $failure = scalar(grep { $_ == 0; } $tb->summary);
|
||||
if ($failure && $end_with_bailout) {
|
||||
BAIL_OUT("Stoptest!");
|
||||
}
|
||||
}
|
||||
sub run {
|
||||
my ($cmd, $display_cmd, %errlogs) = shift->(0);
|
||||
my %opts = @_;
|
||||
|
Loading…
x
Reference in New Issue
Block a user