Commit | Line | Data |
---|---|---|
51c9c62d | 1 | #!/bin/bash |
4f4f6150 MJ |
2 | # |
3 | # Copyright (C) 2015 - Michael Jeanson <mjeanson@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 | ||
51c9c62d MJ |
18 | set -exu |
19 | ||
de41e5b5 MJ |
20 | # Has to be set in the environment |
21 | #CODECOV_TOKEN="" | |
22 | ||
673cb703 MJ |
23 | SRCDIR="src/lttng-analyses" |
24 | ||
4f4f6150 | 25 | PYTHON3="python3" |
b8a93ea3 | 26 | P3_VERSION=$($PYTHON3 -c 'import sys;v = sys.version.split()[0].split("."); print("{}.{}".format(v[0], v[1]))') |
4f4f6150 MJ |
27 | |
28 | BABELTRACE_DIR=$WORKSPACE/deps/babeltrace/build | |
29 | ||
30 | export LD_LIBRARY_PATH="$BABELTRACE_DIR/lib" | |
c7b16cb8 | 31 | export PYTHONPATH="$BABELTRACE_DIR/lib/python${P3_VERSION}/site-packages/" |
673cb703 | 32 | export PATH="$PATH:$BABELTRACE_DIR/bin" |
4f4f6150 MJ |
33 | |
34 | PYENV_HOME=$WORKSPACE/.pyenv/ | |
35 | ||
36 | # Delete previously built virtualenv | |
de41e5b5 MJ |
37 | if [ -d "$PYENV_HOME" ]; then |
38 | rm -rf "$PYENV_HOME" | |
4f4f6150 MJ |
39 | fi |
40 | ||
41 | # Create virtualenv and install necessary packages | |
de41e5b5 | 42 | virtualenv --system-site-packages -p $PYTHON3 "$PYENV_HOME" |
4f4f6150 | 43 | |
1b29d53b | 44 | set +ux |
de41e5b5 | 45 | . "$PYENV_HOME/bin/activate" |
1b29d53b | 46 | set -ux |
4f4f6150 | 47 | |
de41e5b5 MJ |
48 | pip install --quiet codecov |
49 | pip install --quiet tox | |
50 | ||
1b29d53b MJ |
51 | cd "$SRCDIR" |
52 | ||
de41e5b5 | 53 | # Hack for path too long in venv wrapper shebang |
1b29d53b MJ |
54 | TOXWORKDIR=$(mktemp -d) |
55 | export TOXWORKDIR | |
de41e5b5 MJ |
56 | |
57 | # Run base test suites and long regression test suite | |
58 | for suite in py3 noutf8 pep8 longregression; do | |
59 | export TOXENV="$suite" | |
60 | tox | |
61 | codecov -e TOXENV | |
62 | done | |
673cb703 | 63 | |
de41e5b5 | 64 | unset TOXENV |
1b29d53b MJ |
65 | rm -rf "$TOXWORKDIR" |
66 | ||
67 | # EOF |