1#!/bin/sh 2# 3# Copyright 2017-2022 The OpenSSL Project Authors. All Rights Reserved. 4# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 5# 6# Licensed under the Apache License 2.0 (the "License"). You may not use 7# this file except in compliance with the License. You can obtain a copy 8# in the file LICENSE in the source distribution or at 9# https://www.openssl.org/source/license.html 10 11# 12# OpenSSL external testing using the Python Cryptography module 13# 14set -e 15set -x 16 17O_EXE=`pwd`/$BLDTOP/apps 18O_BINC=`pwd`/$BLDTOP/include 19O_SINC=`pwd`/$SRCTOP/include 20O_LIB=`pwd`/$BLDTOP 21 22export PATH=$O_EXE:$PATH 23export LD_LIBRARY_PATH=$O_LIB:$LD_LIBRARY_PATH 24 25# Check/Set openssl version 26OPENSSL_VERSION=`openssl version | cut -f 2 -d ' '` 27 28echo "------------------------------------------------------------------" 29echo "Testing OpenSSL using Python Cryptography:" 30echo " CWD: $PWD" 31echo " SRCTOP: $SRCTOP" 32echo " BLDTOP: $BLDTOP" 33echo " OpenSSL version: $OPENSSL_VERSION" 34echo "------------------------------------------------------------------" 35 36cd $SRCTOP 37 38# Create a python virtual env and activate 39rm -rf venv-cryptography 40python -m venv venv-cryptography 41. ./venv-cryptography/bin/activate 42# Upgrade pip to always have latest 43pip install -U pip 44 45cd pyca-cryptography 46 47echo "------------------------------------------------------------------" 48echo "Building cryptography and installing test requirements" 49echo "------------------------------------------------------------------" 50LDFLAGS="-L$O_LIB" CFLAGS="-I$O_BINC -I$O_SINC " pip install .[test] 51pip install -e vectors 52 53echo "------------------------------------------------------------------" 54echo "Print linked libraries" 55echo "------------------------------------------------------------------" 56ldd $(find ../venv-cryptography/lib/ -iname '*.so') 57 58 59echo "------------------------------------------------------------------" 60echo "Running tests" 61echo "------------------------------------------------------------------" 62pytest -n auto tests --wycheproof-root=../wycheproof 63 64cd ../ 65deactivate 66rm -rf venv-cryptography 67 68exit 0 69 70