summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xdocker/run_tests.sh12
-rw-r--r--docs/userguide/runfunctest.rst5
-rw-r--r--testcases/VIM/OpenStack/CI/libraries/run_tempest.py13
3 files changed, 27 insertions, 3 deletions
diff --git a/docker/run_tests.sh b/docker/run_tests.sh
index 83806d6f7..0f9e8a30c 100755
--- a/docker/run_tests.sh
+++ b/docker/run_tests.sh
@@ -22,6 +22,7 @@ where:
-h|--help show this help text
-r|--report push results to database (false by default)
-n|--no-clean do not clean OpenStack resources after test run
+ -s|--serial run tests in one thread
-t|--test run specific set of tests
<test_name> one or more of the following separated by comma:
vping_ssh,vping_userdata,odl,rally,tempest,vims,onos,promise,ovno
@@ -38,6 +39,8 @@ examples:
offline=false
report=""
clean=true
+serial=false
+
# Get the list of runnable tests
# Check if we are in CI mode
@@ -86,6 +89,10 @@ function run_test(){
if [ $clean == "false" ]; then
clean_flag="-n"
fi
+ serial_flag=""
+ if [ $serial == "true" ]; then
+ serial_flag="-s"
+ fi
case $test_name in
"vping_ssh")
@@ -115,7 +122,7 @@ function run_test(){
"tempest")
info "Running Tempest tests..."
python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_tempest.py \
- --debug -m $clean_flag custom ${report}
+ --debug $serial_flag $clean_flag -m custom ${report}
# save tempest.conf for further troubleshooting
tempest_conf="${RALLY_VENV_DIR}/tempest/for-deployment-*/tempest.conf"
if [ -f ${tempest_conf} ]; then
@@ -213,6 +220,9 @@ while [[ $# > 0 ]]
-n|--no-clean)
clean=false
;;
+ -s|--serial)
+ serial=true
+ ;;
-t|--test|--tests)
TEST="$2"
shift
diff --git a/docs/userguide/runfunctest.rst b/docs/userguide/runfunctest.rst
index 61511413c..364333740 100644
--- a/docs/userguide/runfunctest.rst
+++ b/docs/userguide/runfunctest.rst
@@ -26,6 +26,7 @@ several options::
-h|--help show this help text
-r|--report push results to database (false by default)
-n|--no-clean do not clean up OpenStack resources after test run
+ -s|--serial run tests in one thread
-t|--test run specific set of tests
<test_name> one or more of the following separated by comma:
vping_ssh,vping_userdata,odl,rally,tempest,vims,onos,promise,ovno
@@ -58,6 +59,10 @@ is called once by *prepare_env.sh* when setting up the Functest environment
to snapshot all the OpenStack resources (images, networks, volumes, security groups,
tenants, users) so that an eventual cleanup does not remove any of this defaults.
+The *-s* option forces execution of test cases in a single thread. Currently this
+option affects Tempest test cases only and can be used e.g. for troubleshooting
+concurrency problems.
+
The script
*$repos_dir/functest/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py*
is normally called after a test execution if the *-n* is not specified. It
diff --git a/testcases/VIM/OpenStack/CI/libraries/run_tempest.py b/testcases/VIM/OpenStack/CI/libraries/run_tempest.py
index 9638a274d..294669182 100644
--- a/testcases/VIM/OpenStack/CI/libraries/run_tempest.py
+++ b/testcases/VIM/OpenStack/CI/libraries/run_tempest.py
@@ -33,8 +33,14 @@ modes = ['full', 'smoke', 'baremetal', 'compute', 'data_processing',
""" tests configuration """
parser = argparse.ArgumentParser()
-parser.add_argument("-d", "--debug", help="Debug mode", action="store_true")
-parser.add_argument("-m", "--mode", help="Tempest test mode [smoke, all]",
+parser.add_argument("-d", "--debug",
+ help="Debug mode",
+ action="store_true")
+parser.add_argument("-s", "--serial",
+ help="Run tests in one thread",
+ action="store_true")
+parser.add_argument("-m", "--mode",
+ help="Tempest test mode [smoke, all]",
default="smoke")
parser.add_argument("-r", "--report",
help="Create json result file",
@@ -292,6 +298,9 @@ def main():
else:
MODE = "--set "+args.mode
+ if args.serial:
+ MODE = "--concur 1 "+MODE
+
if not os.path.exists(TEMPEST_RESULTS_DIR):
os.makedirs(TEMPEST_RESULTS_DIR)