-
Notifications
You must be signed in to change notification settings - Fork 45
/
test_inside_docker.sh
71 lines (52 loc) · 2.52 KB
/
test_inside_docker.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env bash
# This ensure that the script will exit if any command fails
set -e
# I am running as root, first let's create a new user and become that
# The user_id env. variable must be specified on the docker command line using -e user_id=`id -u`
adduser --system --home /home/user --shell /bin/bash --uid $user_id user --disabled-password
exec sudo -i -u user /bin/bash << EOF
###################################################################################
# Beginning of script run as user "user"
###################################################################################
set -e
cd /home/user
# Setup environment
echo "##########################################################"
echo " Setting up HEASOFT environment"
echo "##########################################################"
export HEADAS=/heasoft/build/x86_64-unknown-linux-gnu-libc2.23-0
source /heasoft/build/x86_64-unknown-linux-gnu-libc2.23-0/headas-init.sh
# Print XSPEC version
echo exit | xspec
echo "##########################################################"
echo " Creating python virtual environment"
echo "##########################################################"
virtualenv astromodels_env
source astromodels_env/bin/activate
echo "##########################################################"
echo " Installing numpy, pytest, pytest-cov and coveralls"
echo "##########################################################"
pip install numpy pytest pytest-cov coveralls codecov
echo "##########################################################"
echo " Installing astromodels"
echo "##########################################################"
# This assumes that the $TRAVIS_BUILD_DIR directory has been mounted to
# /astromodels using -v $TRAVIS_BUILD_DIR:/travis_build_dir
cd /travis_build_dir
pip install .
echo "##########################################################"
echo " Executing tests and coveralls"
echo "##########################################################"
# Execute tests
# (need to move away from root directory, otherwise xspec import will fail)
cd astromodels
python -m pytest -vv --cov=astromodels
echo "##########################################################"
echo " Executing codecov"
echo "##########################################################"
# Execute the coverage analysis
codecov -t 493c9a2d-42fc-40d6-8e65-24e681efaa1e
###################################################################################
# end of script run as user "user"
###################################################################################
EOF