forked from StackStorm/st2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathst2-setup-tests
71 lines (55 loc) · 1.68 KB
/
st2-setup-tests
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
#!/bin/bash
echo -e "Installer for tests packs..."
if [ -z $1 ]; then
echo "Must specify test pack to install!"
exit 2
fi
PACK=$1
PY27=`which python2.7`
TESTSBRANCH=$2
if [ -z "$TESTSBRANCH" ]; then
echo "Using branch master..."
TESTSBRANCH='master'
fi
TESTSREPO='https://github.com/StackStorm/st2tests.git'
TESTSPATH="/opt/stackstorm/packs"
VENVSPATH="/opt/stackstorm/virtualenvs"
TMPPATH='/tmp/st2tests'
if [ -d ${TMPPATH} ]; then
echo -e "Deleting ${TMPPATH}..."
rm -Rf ${TMPPATH}
fi
echo -e "Cloning st2tests to ${TMPPATH}..."
git clone -b ${TESTSBRANCH} ${TESTSREPO} ${TMPPATH}
echo -e "Checking if ${PACK} pack is installed..."
CHECK=`st2 action list | grep '${PACK}.' &> /dev/null`
if [ "$?" == 0 ]; then
echo -e "Uninstalling existing ${PACK} pack..."
st2 run packs.uninstall packs=${PACK}
fi
if [ -d ${TESTSPATH}/${PACK} ]; then
echo -e "Deleting ${TESTSPATH}/${PACK}..."
rm -Rf ${TESTSPATH}/${PACK}
fi
if [ -d ${VENVSPATH}/${PACK} ]; then
echo -e "Deleting ${VENVSPATH}/${PACK}..."
rm -Rf ${VENVSPATH}/${PACK}
fi
echo -e "Copying ${PACK} to ${TESTSPATH}..."
cp -Rf ${TMPPATH}/packs/${PACK} ${TESTSPATH}/
echo -e "Reloading St2 content..."
st2ctl reload
echo -e "Bootstrapping virtualenv for ${PACK} pack..."
if [ -f ${TESTSPATH}/${PACK}/requirements.txt ]; then
echo "Creating virtualenv for ${PACK}..."
mkdir -p ${VENVSPATH}
virtualenv -p ${PY27} --system-site-packages ${VENVSPATH}/${PACK}
echo "Installing requirements.txt for ${PACK}..."
source ${VENVSPATH}/${PACK}/bin/activate
pip install -r ${TESTSPATH}/${PACK}/requirements.txt
deactivate
fi
if [ -d ${TMPPATH} ]; then
echo -e "Cleaning temporary directory..."
rm -Rf ${TMPPATH}
fi