Add Python Cryptography.io external test suite
[openssl.git] / test / recipes / 95-test_external_pyca_data / cryptography.sh
1 #!/bin/sh
2 #
3 # Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
4 #
5 # Licensed under the OpenSSL license (the "License").  You may not use
6 # this file except in compliance with the License.  You can obtain a copy
7 # in the file LICENSE in the source distribution or at
8 # https://www.openssl.org/source/license.html
9 #
10 # ====================================================================
11 # Copyright (c) 2017 Oracle and/or its affiliates.  All rights reserved.
12 #
13
14 #
15 # OpenSSL external testing using the Python Cryptography module
16 #
17 set -e
18
19 O_EXE=`pwd`/$BLDTOP/apps
20 O_BINC=`pwd`/$BLDTOP/include
21 O_SINC=`pwd`/$SRCTOP/include
22 O_LIB=`pwd`/$BLDTOP
23
24 export PATH=$O_EXE:$PATH
25 export LD_LIBRARY_PATH=$O_LIB:$LD_LIBRARY_PATH
26
27 # Check/Set openssl version
28 OPENSSL_VERSION=`openssl version | cut -f 2 -d ' '`
29
30 echo "------------------------------------------------------------------"
31 echo "Testing OpenSSL using Python Cryptography:"
32 echo "   CWD:                $PWD"
33 echo "   SRCTOP:             $SRCTOP"
34 echo "   BLDTOP:             $BLDTOP"
35 echo "   OpenSSL version:    $OPENSSL_VERSION"
36 echo "------------------------------------------------------------------"
37
38 cd $SRCTOP
39
40 # Create a python virtual env and activate
41 rm -rf venv-pycrypto
42 virtualenv venv-pycrypto
43 . ./venv-pycrypto/bin/activate
44
45 cd pyca-cryptography
46
47 pip install -q --requirement dev-requirements.txt
48
49 echo "------------------------------------------------------------------"
50 echo "Building cryptography"
51 echo "------------------------------------------------------------------"
52 python ./setup.py clean
53
54 CFLAGS="-I$O_BINC -I$O_SINC -L$O_LIB" python ./setup.py build
55
56 echo "------------------------------------------------------------------"
57 echo "Running tests"
58 echo "------------------------------------------------------------------"
59
60 CFLAGS="-I$O_BINC -I$O_SINC -L$O_LIB" python ./setup.py test
61
62 cd ../
63 deactivate
64 rm -rf venv-pycrypto
65
66 exit 0
67