diff options
Diffstat (limited to 'testcases/Controllers/ODL/CI/start_tests.sh')
-rwxr-xr-x[-rw-r--r--] | testcases/Controllers/ODL/CI/start_tests.sh | 67 |
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 367a075f..5e87726b 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 |