1#!/bin/bash -ex 2 3if [[ "${TOXENV}" == "pypy" ]]; then 4 PYENV_ROOT="$HOME/.pyenv" 5 PATH="$PYENV_ROOT/bin:$PATH" 6 eval "$(pyenv init -)" 7fi 8if [ -n "${LIBRESSL}" ]; then 9 OPENSSL=$LIBRESSL 10 export CFLAGS="-Werror -Wno-error=deprecated-declarations -Wno-error=discarded-qualifiers -Wno-error=unused-function" 11fi 12 13if [ -n "${OPENSSL}" ]; then 14 OPENSSL_DIR="ossl-2/${OPENSSL}" 15 16 export PATH="$HOME/$OPENSSL_DIR/bin:$PATH" 17 export CFLAGS="${CFLAGS} -I$HOME/$OPENSSL_DIR/include" 18 # rpath on linux will cause it to use an absolute path so we don't need to 19 # do LD_LIBRARY_PATH 20 export LDFLAGS="-L$HOME/$OPENSSL_DIR/lib -Wl,-rpath=$HOME/$OPENSSL_DIR/lib" 21fi 22 23source ~/.venv/bin/activate 24 25if [ -n "${DOCKER}" ]; then 26 # We will be able to drop the -u once we switch the default container user in the 27 # dockerfiles. 28 docker run --rm -u 2000:2000 \ 29 -v "${TRAVIS_BUILD_DIR}":"${TRAVIS_BUILD_DIR}" \ 30 -v "${HOME}/wycheproof":/wycheproof \ 31 -w "${TRAVIS_BUILD_DIR}" \ 32 -e TOXENV "${DOCKER}" \ 33 /bin/sh -c "tox -- --wycheproof-root='/wycheproof'" 34elif [ -n "${TOXENV}" ]; then 35 tox -- --wycheproof-root="$HOME/wycheproof" 36else 37 downstream_script="${TRAVIS_BUILD_DIR}/.travis/downstream.d/${DOWNSTREAM}.sh" 38 if [ ! -x "$downstream_script" ]; then 39 exit 1 40 fi 41 $downstream_script install 42 pip install . 43 $downstream_script run 44fi 45