}
function run_test(){
test_name=$1
- echo -e "\n\n\n\n"
- echo "----------------------------------------------"
- echo " Running test case: ${test_name}"
- echo "----------------------------------------------"
- echo ""
serial_flag=""
if [ $serial == "true" ]; then
serial_flag="-s"
case $test_name in
"healthcheck")
- echo "Running health check test..."
${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/healthcheck.sh
;;
"vping_ssh")
- echo "Running vPing-SSH test..."
python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing_ssh.py \
$debug $report
;;
"vping_userdata")
- echo "Running vPing-userdata test... "
python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing_userdata.py \
$debug $report
;;
"odl")
- echo "Running ODL test..."
odl_tests
ODL_PORT=$odl_port ODL_IP=$odl_ip KEYSTONE_IP=$keystone_ip NEUTRON_IP=$neutron_ip USR_NAME=$usr_name PASS=$password \
${FUNCTEST_REPO_DIR}/testcases/Controllers/ODL/CI/start_tests.sh
fi
;;
"tempest")
- echo "Running Tempest tests..."
python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_tempest.py \
$debug $serial_flag $clean_flag -m smoke $report
# save tempest.conf for further troubleshooting
fi
;;
"vims")
- echo "Running vIMS test..."
python ${FUNCTEST_REPO_DIR}/testcases/vIMS/CI/vIMS.py \
$debug $clean_flag $report
;;
"rally")
- echo "Running Rally benchmark suite..."
python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py \
$debug $clean_flag all $report
;;
"bgpvpn")
- echo "Running BGPVPN Tempest test case..."
pushd ${repos_dir}/bgpvpn/
pip install --no-deps -e .
popd
popd
;;
"onos")
- echo "Running ONOS test case..."
if [ $INSTALLER_TYPE == "joid" ]; then
python ${FUNCTEST_REPO_DIR}/testcases/Controllers/ONOS/Teston/CI/onosfunctest.py -i joid
else
fi
;;
"promise")
- echo "Running PROMISE test case..."
python ${FUNCTEST_REPO_DIR}/testcases/features/promise.py $debug $report
sleep 10 # to let the instances terminate
;;
"doctor")
- echo "Running Doctor test..."
python ${FUNCTEST_REPO_DIR}/testcases/features/doctor.py
;;
"ovno")
- echo "Running OpenContrail test..."
${repos_dir}/ovno/Testcases/RunTests.sh
;;
esac
import argparse
import os
+import subprocess
import sys
import functest.ci.tier_builder as tb
flags += " -r"
cmd = ("%s%s" % (EXEC_SCRIPT, flags))
- logger.debug("Executing command %s" % cmd)
-
+ logger.debug("Executing command '%s'" % cmd)
print_separator("")
+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
+
+ while p.poll() is None:
+ line = p.stdout.readline().rstrip()
+ logger.debug(line)
+
+ if p != 0:
+ logger.error("The command '%s' failed. Cleaning and exiting." % cmd)
+ if CLEAN_FLAG:
+ cleanup()
+ sys.exit(1)
+
if CLEAN_FLAG:
cleanup()
+
def run_tier(tier):
print_separator("#")
logger.info("Running tier '%s'" % tier.get_name())
def run_all(tiers):
- logger.debug("Tiers to be executed:\n\n%s" % tiers)
+ logger.debug("Tiers to be executed:")
+ for tier in tiers.get_tiers():
+ logger.info("\n - %s. %s:\n\t%s"
+ % (tier.get_order(), tier.get_name(), tier.get_tests()))
+
for tier in tiers.get_tiers():
run_tier(tier)