• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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