Commit | Line | Data |
---|---|---|
62f05720 | 1 | #!/bin/bash -xu |
17e89ff6 JR |
2 | # |
3 | # Copyright (C) 2017 - Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com> | |
4 | # | |
5 | # This program is free software: you can redistribute it and/or modify | |
6 | # it under the terms of the GNU General Public License as published by | |
7 | # the Free Software Foundation, either version 3 of the License, or | |
8 | # (at your option) any later version. | |
9 | # | |
10 | # This program is distributed in the hope that it will be useful, | |
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | # GNU General Public License for more details. | |
14 | # | |
15 | # You should have received a copy of the GNU General Public License | |
16 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 | ||
18 | PYTHON3="python3" | |
19 | P3_VERSION=$($PYTHON3 -c "import sys;print(sys.version[:3])") | |
20 | ||
21 | URCU_INCS=${WORKSPACE}/deps/liburcu/build/include | |
22 | URCU_LIBS=${WORKSPACE}/deps/liburcu/build/lib | |
23a9e184 | 23 | URCU_PKG_CONFIG=${URCU_LIBS}/pkgconfig |
17e89ff6 JR |
24 | |
25 | # Get liburcu setup | |
26 | export LD_LIBRARY_PATH="$URCU_LIBS:${LD_LIBRARY_PATH:-}" | |
27 | export CPPFLAGS="${CPPFLAGS:-} -I$URCU_INCS" | |
28 | export LDFLAGS="${LDFLAGS:-} -L$URCU_LIBS" | |
23a9e184 | 29 | export PKG_CONFIG_PATH="$URCU_PKG_CONFIG:${PKG_CONFIG_PATH:-}" |
17e89ff6 | 30 | |
62f05720 JR |
31 | # Tox does not support long path venv for whatever reason. |
32 | PYENV_HOME=$(mktemp -d) | |
17e89ff6 | 33 | |
17e89ff6 JR |
34 | |
35 | # Create virtualenv and install necessary packages | |
36 | virtualenv --system-site-packages -p $PYTHON3 "$PYENV_HOME" | |
37 | ||
38 | set +ux | |
39 | . "$PYENV_HOME/bin/activate" | |
40 | set -ux | |
41 | ||
42 | pip install --quiet tox | |
43 | ||
44 | # Hack for path too long in venv wrapper shebang | |
45 | TOXWORKDIR=$(mktemp -d) | |
46 | export TOXWORKDIR | |
47 | ||
48 | cd src/ | |
49 | ||
50 | # Run test suite via tox | |
17e89ff6 | 51 | tox -v -- --junit-xml="${WORKSPACE}/result.xml" |
62f05720 JR |
52 | |
53 | # Remove base venv | |
54 | rm -rf "$PYENV_HOME" | |
17e89ff6 JR |
55 | |
56 | # Save | |
57 | cp -r "$TOXWORKDIR" "${WORKSPACE}/artifacts" | |
58 | rm -rf "$TOXWORKDIR" | |
59 | ||
60 | # EOF | |
61 |