mirror of
https://github.com/openssl/openssl.git
synced 2025-03-19 19:50:42 +08:00
GOST external tests
[extended tests] Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11792)
This commit is contained in:
parent
712e8debb5
commit
aa2cb51da0
5
.gitmodules
vendored
5
.gitmodules
vendored
@ -9,3 +9,8 @@
|
||||
[submodule "krb5"]
|
||||
path = krb5
|
||||
url = https://github.com/krb5/krb5
|
||||
|
||||
[submodule "gost-engine"]
|
||||
path = gost-engine
|
||||
url = https://github.com/gost-engine/engine
|
||||
update = rebase
|
||||
|
@ -93,9 +93,11 @@ jobs:
|
||||
apt:
|
||||
packages:
|
||||
- golang-1.10
|
||||
- cmake
|
||||
- libtest2-suite-perl
|
||||
compiler: gcc
|
||||
# External test pyca-cryptography temporarily disabled due to long term travis failures
|
||||
env: EXTENDED_TEST="yes" CONFIG_OPTS="--debug enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-external-tests enable-buildtest-c++" BORINGSSL_TESTS="yes" CXX="g++" TESTS="test_external_boringssl test_external_krb5"
|
||||
env: EXTENDED_TEST="yes" CONFIG_OPTS="--debug enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-external-tests enable-buildtest-c++" BORINGSSL_TESTS="yes" CXX="g++" TESTS="test_external_boringssl test_external_krb5 test_external_gost_engine"
|
||||
- os: linux
|
||||
compiler: clang
|
||||
env: EXTENDED_TEST="yes" CONFIG_OPTS="enable-msan disable-afalgeng -Wno-unused-command-line-argument"
|
||||
|
1
gost-engine
Submodule
1
gost-engine
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 7f055baddc3aa79fc1c2cf22bf5d5750843f5920
|
@ -134,6 +134,28 @@ of your system. Certain tests may require more installed packages to run. No
|
||||
tests are expected to fail.
|
||||
|
||||
|
||||
GOST engine test suite
|
||||
===============
|
||||
|
||||
Much like the PYCA/Cryptography test suite, this builds and runs the GOST engine
|
||||
tests against the local OpenSSL build.
|
||||
|
||||
You will need a git checkout of gost-engine at the top level:
|
||||
|
||||
$ git submodule update --init
|
||||
|
||||
Then configure/build OpenSSL enabling external tests:
|
||||
|
||||
$ ./config shared enable-external-tests
|
||||
$ make
|
||||
|
||||
GOST engine requires CMake for the build process.
|
||||
|
||||
GOST engine tests will then be run as part of the rest of the suite, or can be
|
||||
explicitly run (with more debugging):
|
||||
|
||||
$ make test VERBOSE=1 TESTS=test_external_gost_engine
|
||||
|
||||
Updating test suites
|
||||
====================
|
||||
|
||||
|
26
test/recipes/95-test_external_gost_engine.t
Normal file
26
test/recipes/95-test_external_gost_engine.t
Normal file
@ -0,0 +1,26 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License 2.0 (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 data_file srctop_file cmdstr/;
|
||||
|
||||
setup("test_external");
|
||||
|
||||
plan skip_all => "No external tests in this configuration"
|
||||
if disabled("external-tests");
|
||||
plan skip_all => "GOST engine tests not available on Windows or VMS"
|
||||
if $^O =~ /^(VMS|MSWin32)$/;
|
||||
plan skip_all => "GOST engine tests only available in a shared build"
|
||||
if disabled("shared");
|
||||
|
||||
plan tests => 1;
|
||||
|
||||
ok(run(cmd(["sh", data_file("gost_engine.sh")])),
|
||||
"running GOST engine tests");
|
45
test/recipes/95-test_external_gost_engine_data/gost_engine.sh
Executable file
45
test/recipes/95-test_external_gost_engine_data/gost_engine.sh
Executable file
@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License 2.0 (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
|
||||
|
||||
#
|
||||
# OpenSSL external testing using the GOST engine
|
||||
#
|
||||
set -e
|
||||
|
||||
O_EXE=`pwd`/$BLDTOP/apps
|
||||
O_BINC=`pwd`/$BLDTOP/include
|
||||
O_SINC=`pwd`/$SRCTOP/include
|
||||
O_LIB=`pwd`/$BLDTOP
|
||||
|
||||
export PATH=$O_EXE:$PATH
|
||||
export LD_LIBRARY_PATH=$O_LIB:$LD_LIBRARY_PATH
|
||||
export OPENSSL_ROOT_DIR=$O_LIB
|
||||
|
||||
# Check/Set openssl version
|
||||
OPENSSL_VERSION=`openssl version | cut -f 2 -d ' '`
|
||||
|
||||
echo "------------------------------------------------------------------"
|
||||
echo "Testing OpenSSL using GOST engine:"
|
||||
echo " CWD: $PWD"
|
||||
echo " SRCTOP: $SRCTOP"
|
||||
echo " BLDTOP: $BLDTOP"
|
||||
echo " OPENSSL_ROOT_DIR: $OPENSSL_ROOT_DIR"
|
||||
echo " OpenSSL version: $OPENSSL_VERSION"
|
||||
echo "------------------------------------------------------------------"
|
||||
|
||||
cd $SRCTOP/gost-engine
|
||||
rm -rf build
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
CTEST_OUTPUT_ON_FAILURE=1 HARNESS_OSSL_PREFIX='' OPENSSL_ENGINES=$OPENSSL_ROOT_DIR/gost-engine/build/bin make test
|
||||
|
||||
exit 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user