aboutsummaryrefslogtreecommitdiffstats
path: root/test/recipes
diff options
context:
space:
mode:
authorJon Spillett <jon.spillett@oracle.com>2017-03-09 10:50:55 +1000
committerRichard Levitte <levitte@openssl.org>2017-03-15 01:26:36 +0100
commit5c9e34473119c381961e148023138851b3d6b9d5 (patch)
tree0d86ed7cb47f2742d8719f177e6cef1a345a2b7a /test/recipes
parent946a515a2b370dbadb1f8c39e3586a8f1e3cff1a (diff)
downloadopenssl-5c9e34473119c381961e148023138851b3d6b9d5.tar.gz
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.t30
-rwxr-xr-xtest/recipes/95-test_external_pyca_data/cryptography.sh67
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
+