Fix vLBCL AAI API call parameters
[testsuite.git] / runTags.sh
1 #!/bin/bash
2
3 # Set the defaults
4 DEFAULT_LOG_LEVEL="TRACE" # Available levels: TRACE, DEBUG, INFO (default), WARN, NONE (no logging)
5 DEFAULT_RES="1280x1024x24"
6 DEFAULT_DISPLAY=":99"
7 DEFAULT_ROBOT_TEST="-i health"
8 INSTALL_NAME="OpenECOMP_ETE"
9 DEFAULT_OUTPUT_FOLDER=./
10
11 # To mitigate the chromedriver hanging issue
12 export DBUS_SESSION_BUS_ADDRESS=/dev/null
13
14 # Use default if none specified as env var
15 LOG_LEVEL=${LOG_LEVEL:-$DEFAULT_LOG_LEVEL}
16 RES=${RES:-$DEFAULT_RES}
17 DISPLAY=${DISPLAY:-$DEFAULT_DISPLAY}
18
19 # OUTPUT_FOLDER env variable will be overridden by -d command line argument.
20 OUTPUT_FOLDER=${OUTPUT_FOLDER:-$DEFAULT_OUTPUT_FOLDER}
21
22 VARIABLEFILES=
23 LISTENERS=
24
25 ## Single argument, it is an include tag
26 if [ $# -eq 1 ]; then
27     ROBOT_TAGS="-i $1"
28 fi
29
30 ##
31 ## if more than 1 tag is supplied, the must be provided with -i or -e
32 ##
33 while [ $# -gt 1 ]
34 do
35         key="$1"
36
37         case $key in
38         -i|--include)
39         ROBOT_TAGS="${ROBOT_TAGS} -i $2"
40         shift
41         ;;
42         -e|--exclude)
43         ROBOT_TAGS="${ROBOT_TAGS} -e $2"
44         shift
45         ;;
46         -d|--outputdir)
47         OUTPUT_FOLDER=$2
48         shift
49         ;;
50                 --display)
51         DISPLAY=:$2
52         shift
53         ;;
54                 --listener)
55         LISTENERS="${LISTENER} --listener $2 "
56         shift
57         ;;
58                 -V)
59         VARIABLEFILES="${VARIABLEFILES} -V $2 "
60         shift
61         ;;
62                 -v)
63         VARIABLES="${VARIABLES} -v $2 "
64         shift
65         ;;
66         esac
67         shift
68 done
69
70 if [ "${ROBOT_TAGS}" = "" ];then
71     ROBOT_TAGS=$DEFAULT_ROBOT_TEST
72 fi
73
74 # Start Xvfb
75 echo -e "Starting Xvfb on display ${DISPLAY} with res ${RES}"
76 Xvfb ${DISPLAY} -ac -screen 0 ${RES} +extension RANDR &
77 XVFBPID=$!
78 # Get pid of this spawned process to make sure we kill the correct process later
79
80 export DISPLAY=${DISPLAY}
81
82 # Execute tests
83 echo -e "Executing robot tests at log level ${LOG_LEVEL}"
84
85 ROBOT_LIBS=./robot/library:./robot/library/eteutils:./robot/library/heatbridge
86
87 cd /var/opt/${INSTALL_NAME}
88 python -m robot.run -L ${LOG_LEVEL} -d ${OUTPUT_FOLDER} ${VARIABLEFILES} ${VARIABLES} ${LISTENERS} -P ${ROBOT_LIBS} ${ROBOT_TAGS} $(pwd)
89 RET_CODE=$?
90
91 # Stop Xvfb we started earlier
92 # select it from list of possible Xvfb pids running because
93 # a) there may be multiple Xvfbs running and
94 # b) the XVFBPID may not be the correct if the start did not actually work (unlikely and that may be)
95 PIDS=$(pgrep Xvfb)
96 for P in $PIDS
97 do
98         if [ $P == $XVFBPID ];then
99                 kill -9 $P
100         fi
101 done
102
103 exit $RET_CODE