diff options
author | Jon Spillett <jon.spillett@oracle.com> | 2017-03-09 10:50:55 +1000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2017-03-15 01:26:36 +0100 |
commit | 5c9e34473119c381961e148023138851b3d6b9d5 (patch) | |
tree | 0d86ed7cb47f2742d8719f177e6cef1a345a2b7a /test/recipes | |
parent | 946a515a2b370dbadb1f8c39e3586a8f1e3cff1a (diff) |
Add Python Cryptography.io external test suite
Add python cryptography testing instructions too
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2885)
Diffstat (limited to 'test/recipes')
-rw-r--r-- | test/recipes/95-test_external_pyca.t | 30 | ||||
-rwxr-xr-x | test/recipes/95-test_external_pyca_data/cryptography.sh | 67 |
2 files changed, 97 insertions, 0 deletions
diff --git a/test/recipes/95-test_external_pyca.t b/test/recipes/95-test_external_pyca.t new file mode 100644 index 0000000000..7ced77ea45 --- /dev/null +++ b/test/recipes/95-test_external_pyca.t @@ -0,0 +1,30 @@ +#! /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 data_file srctop_file cmdstr/; + +setup("test_external"); + +plan skip_all => "No external tests in this configuration" + if disabled("external-tests"); + +plan tests => 1; + +SKIP: { + skip "PYCA Cryptography not available", 1 + if ! -f srctop_file("pyca-cryptography", "setup.py"); + skip "PYCA tests not available on Windows or VMS", 1 + if $^O =~ /^(VMS|MSWin32)$/; + + ok(run(cmd(["sh", data_file("cryptography.sh")])), + "running Python Cryptography tests"); +} + diff --git a/test/recipes/95-test_external_pyca_data/cryptography.sh b/test/recipes/95-test_external_pyca_data/cryptography.sh new file mode 100755 index 0000000000..34d1a8a5be --- /dev/null +++ b/test/recipes/95-test_external_pyca_data/cryptography.sh @@ -0,0 +1,67 @@ +#!/bin/sh +# +# Copyright 2017 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 +# +# ==================================================================== +# Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved. +# + +# +# OpenSSL external testing using the Python Cryptography module +# +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 + +# Check/Set openssl version +OPENSSL_VERSION=`openssl version | cut -f 2 -d ' '` + +echo "------------------------------------------------------------------" +echo "Testing OpenSSL using Python Cryptography:" +echo " CWD: $PWD" +echo " SRCTOP: $SRCTOP" +echo " BLDTOP: $BLDTOP" +echo " OpenSSL version: $OPENSSL_VERSION" +echo "------------------------------------------------------------------" + +cd $SRCTOP + +# Create a python virtual env and activate +rm -rf venv-pycrypto +virtualenv venv-pycrypto +. ./venv-pycrypto/bin/activate + +cd pyca-cryptography + +pip install -q --requirement dev-requirements.txt + +echo "------------------------------------------------------------------" +echo "Building cryptography" +echo "------------------------------------------------------------------" +python ./setup.py clean + +CFLAGS="-I$O_BINC -I$O_SINC -L$O_LIB" python ./setup.py build + +echo "------------------------------------------------------------------" +echo "Running tests" +echo "------------------------------------------------------------------" + +CFLAGS="-I$O_BINC -I$O_SINC -L$O_LIB" python ./setup.py test + +cd ../ +deactivate +rm -rf venv-pycrypto + +exit 0 + |