openssl/test/recipes/95-test_external_boringssl.t
Richard Levitte fb68fba05f Encourage having external tests in multiple test recipes
This will make the individual external tests more easily selectable /
deselectable through the usual test selection mechanism.

This also moves external tests to group 95.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2902)
2017-03-10 22:13:04 +01:00

44 lines
1.4 KiB
Perl

#! /usr/bin/env perl
# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the OpenSSL license (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
# in the file LICENSE in the source distribution or at
# https://www.openssl.org/source/license.html
use OpenSSL::Test;
use OpenSSL::Test::Utils;
use OpenSSL::Test qw/:DEFAULT bldtop_file srctop_file cmdstr/;
setup("test_external_boringssl");
plan skip_all => "No external tests in this configuration"
if disabled("external-tests");
plan skip_all => "BoringSSL runner not detected"
if !$ENV{BORING_RUNNER_DIR};
plan tests => 1;
indir $ENV{BORING_RUNNER_DIR} => sub {
ok(filter_run(cmd(["go", "test", "-shim-path",
bldtop_file("test", "ossl_shim", "ossl_shim"),
"-shim-config",
srctop_file("test", "ossl_shim", "ossl_config.json"),
"-pipe", "-allow-unimplemented"])),
"running BoringSSL tests");
}, create => 0, cleanup => 0;
# Filter the output so that the "ok" printed by go test doesn't confuse
# Test::More. Without that it thinks there has been one more test run than was
# planned
sub filter_run {
my $cmd = cmdstr(shift);
open(PIPE, "-|", $cmd);
while(<PIPE>) {
print STDOUT "go test: ", $_;
}
close PIPE;
}