summaryrefslogtreecommitdiffstats
path: root/testcases/Controllers/ODL/CI/start_tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'testcases/Controllers/ODL/CI/start_tests.sh')
-rwxr-xr-x[-rw-r--r--]testcases/Controllers/ODL/CI/start_tests.sh67
1 files changed, 33 insertions, 34 deletions
diff --git a/testcases/Controllers/ODL/CI/start_tests.sh b/testcases/Controllers/ODL/CI/start_tests.sh
index 367a075f7..5e87726b8 100644..100755
--- a/testcases/Controllers/ODL/CI/start_tests.sh
+++ b/testcases/Controllers/ODL/CI/start_tests.sh
@@ -1,9 +1,11 @@
#!/bin/bash
-# Script requires that test environment is created already
# it includes python2.7 virtual env with robot packages and git
-# use create_env.sh script for creating python virtualenv
BASEDIR=`dirname $0`
+RESULTS_DIR='/home/opnfv/functest/results/odl/'
+REPO_DIR='/home/opnfv/repos/odl_integration'
+#TODO: read this form config_functest.yaml
+
# Colors
green='\033[0;32m'
light_green='\033[1;32m'
@@ -17,11 +19,11 @@ usage:
where:
-h show this help text
- var one of the following: OSTACK_IP, ODL_PORT, USR_NAME, USR_PASSWORD
+ var one of the following: ODL_IP, ODL_PORT, USR_NAME, PASS, NEUTRON_IP
value new value for var
example:
- OSTACK_IP=oscontro1 ODL_PORT=8080 bash $(basename "$0")"
+ ODL_IP=oscontro1 ODL_PORT=8080 bash $(basename "$0")"
while getopts ':h' option; do
case "$option" in
@@ -38,36 +40,30 @@ done
echo -e "${green}Current environment parameters for ODL suite.${nc}"
# Following vars might be also specified as CLI params
set -x
-OSTACK_IP=${OSTACK_IP:-'oscontrol'}
+ODL_IP=${ODL_IP:-'192.168.1.5'}
ODL_PORT=${ODL_PORT:-8081}
-USR_NAME=${USR_NAME:-'admin'}
-USR_PASSWORD=${USR_PASSWORD:-'octopus'}
+USR_NAME=${USR_NAME:-'neutron'}
+PASS=${PASS:-'octopus'}
+NEUTRON_IP=${NEUTRON_IP:-192.168.0.68}
set +x
-echo -e "${green}Cloning ODL integration git repo.${nc}"
-if [ -d integration ]; then
- cd integration
- git checkout -- .
- git pull
- cd -
-else
- git clone https://github.com/opendaylight/integration.git
-fi
# Change openstack password for admin tenant in neutron suite
-sed -i "s/\"password\": \"admin\"/\"password\": \"${USR_PASSWORD}\"/" integration/test/csit/suites/openstack/neutron/__init__.robot
+sed -i "s/\"password\": \".*\"/\"password\": \"${PASS}\"/" ${REPO_DIR}/test/csit/suites/openstack/neutron/__init__.robot
+
+# Add Start Suite and Teardown Suite
+sed -i "/^Documentation.*/a Suite Teardown Stop Suite" ${REPO_DIR}/test/csit/suites/openstack/neutron/__init__.robot
+sed -i "/^Documentation.*/a Suite Setup Start Suite" ${REPO_DIR}/test/csit/suites/openstack/neutron/__init__.robot
+
-if source $BASEDIR/venv/bin/activate; then
- echo -e "${green}Python virtualenv activated.${nc}"
-else
- echo -e "${red}ERROR${nc}"
- exit 1
-fi
+# add custom tests to suite, if there are more custom tests needed this will be reworked
+echo -e "${green}Copy custom tests to suite.${nc}"
+cp -vf ${BASEDIR}/custom_tests/neutron/* ${REPO_DIR}/test/csit/suites/openstack/neutron/
# List of tests are specified in test_list.txt
# those are relative paths to test directories from integartion suite
echo -e "${green}Executing chosen tests.${nc}"
-test_num=1
+test_num=0
while read line
do
# skip comments
@@ -75,16 +71,19 @@ do
# skip empty lines
[[ -z "${line}" ]] && continue
- echo -e "${light_green}Starting test: $line ${nc}"
- pybot -v OPENSTACK:${OSTACK_IP} -v PORT:${ODL_PORT} -v CONTROLLER:${OSTACK_IP} $line
- mkdir -p $BASEDIR/logs/${test_num}
- mv log.html $BASEDIR/logs/${test_num}/
- mv report.html $BASEDIR/logs/${test_num}/
- mv output.xml $BASEDIR/logs/${test_num}/
((test_num++))
-done < test_list.txt
+ echo -e "${light_green}Starting test: $line ${nc}"
+ pybot -v OPENSTACK:${NEUTRON_IP} -v PORT:${ODL_PORT} -v CONTROLLER:${ODL_IP} ${REPO_DIR}/$line
+ mkdir -p $RESULTS_DIR/logs/${test_num}
+ mv log.html $RESULTS_DIR/logs/${test_num}/
+ mv report.html $RESULTS_DIR/logs/${test_num}/
+ mv output.xml $RESULTS_DIR/logs/${test_num}/
+done < ${BASEDIR}/test_list.txt
-echo -e "${green}Deactivate venv.${nc}"
-deactivate
+# create final report which includes all partial test reports
+for i in $(seq $test_num); do
+ rebot_params="$rebot_params $RESULTS_DIR/logs/$i/output.xml"
+done
-# Now we can copy output.xml, log.html and report.xml files generated by robot.
+echo -e "${green}Final report is located:${nc}"
+rebot $rebot_params