Commit | Line | Data |
---|---|---|
691f7f2d | 1 | #!/bin/bash |
17e89ff6 | 2 | # |
4ce5a709 | 3 | # Copyright (C) 2017 Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com> |
17e89ff6 JR |
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 | ||
691f7f2d MJ |
18 | set -xu |
19 | ||
17e89ff6 | 20 | PYTHON3="python3" |
17e89ff6 | 21 | |
62f05720 JR |
22 | # Tox does not support long path venv for whatever reason. |
23 | PYENV_HOME=$(mktemp -d) | |
17e89ff6 | 24 | |
17e89ff6 JR |
25 | # Create virtualenv and install necessary packages |
26 | virtualenv --system-site-packages -p $PYTHON3 "$PYENV_HOME" | |
27 | ||
28 | set +ux | |
4ce5a709 | 29 | # shellcheck disable=SC1091 |
17e89ff6 JR |
30 | . "$PYENV_HOME/bin/activate" |
31 | set -ux | |
32 | ||
33 | pip install --quiet tox | |
34 | ||
35 | # Hack for path too long in venv wrapper shebang | |
36 | TOXWORKDIR=$(mktemp -d) | |
37 | export TOXWORKDIR | |
38 | ||
4ce5a709 MJ |
39 | cd src/ || exit 1 |
40 | ||
41 | # Required to build tools < 2.11 with GCC >= 10 | |
42 | export CFLAGS="-fcommon" | |
17e89ff6 JR |
43 | |
44 | # Run test suite via tox | |
1f14ee5a | 45 | tox -v -e babeltrace -- --junit-xml="${WORKSPACE}/result.xml" |
62f05720 JR |
46 | |
47 | # Remove base venv | |
4ce5a709 | 48 | deactivate |
62f05720 | 49 | rm -rf "$PYENV_HOME" |
17e89ff6 JR |
50 | |
51 | # Save | |
52 | cp -r "$TOXWORKDIR" "${WORKSPACE}/artifacts" | |
53 | rm -rf "$TOXWORKDIR" | |
54 | ||
55 | # EOF | |
56 |