提交 caadc543 编写于 作者: R Richard Levitte

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: NRich Salz <rsalz@openssl.org>
上级 fb921436
......@@ -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 = @_;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册