Switch to testr serial instead of nose
This commit removes all usage of nose from tox and run_tests.sh and migrates over to testr for running tests serially. Change-Id: I484e02f24d3b30d976860b69d26f3276775deddc
This commit is contained in:
50
run_tests.sh
50
run_tests.sh
@@ -11,23 +11,22 @@ function usage {
|
||||
echo " -u, --update Update the virtual environment with any newer package versions"
|
||||
echo " -s, --smoke Only run smoke tests"
|
||||
echo " -w, --whitebox Only run whitebox tests"
|
||||
echo " -t, --with-testr Run using testr instead of nose"
|
||||
echo " -t, --parallel Run testr parallel"
|
||||
echo " -c, --nova-coverage Enable Nova coverage collection"
|
||||
echo " -C, --config Config file location"
|
||||
echo " -p, --pep8 Just run pep8"
|
||||
echo " -h, --help Print this usage message"
|
||||
echo " -d, --debug Debug this script -- set -o xtrace"
|
||||
echo " -S, --stdout Don't capture stdout"
|
||||
echo " -l, --logging Enable logging"
|
||||
echo " -L, --logging-config Logging config file location. Default is etc/logging.conf"
|
||||
echo " -- [NOSEOPTIONS] After the first '--' you can pass arbitrary arguments to nosetests "
|
||||
echo " -- [TESTROPTIONS] After the first '--' you can pass arbitrary arguments to testr "
|
||||
}
|
||||
|
||||
noseargs=""
|
||||
testrargs=""
|
||||
just_pep8=0
|
||||
venv=.venv
|
||||
with_venv=tools/with_venv.sh
|
||||
with_testr=0
|
||||
parallel=0
|
||||
always_venv=0
|
||||
never_venv=0
|
||||
no_site_packages=0
|
||||
@@ -39,7 +38,7 @@ update=0
|
||||
logging=0
|
||||
logging_config=etc/logging.conf
|
||||
|
||||
if ! options=$(getopt -o VNnfuswtcphdSC:lL: -l virtual-env,no-virtual-env,no-site-packages,force,update,smoke,whitebox,with-testr,nova-coverage,pep8,help,debug,stdout,config:,logging,logging-config: -- "$@")
|
||||
if ! options=$(getopt -o VNnfuswtcphdC:lL: -l virtual-env,no-virtual-env,no-site-packages,force,update,smoke,whitebox,parallel,nova-coverage,pep8,help,debug,config:,logging,logging-config: -- "$@")
|
||||
then
|
||||
# parse error
|
||||
usage
|
||||
@@ -60,14 +59,13 @@ while [ $# -gt 0 ]; do
|
||||
-c|--nova-coverage) let nova_coverage=1;;
|
||||
-C|--config) config_file=$2; shift;;
|
||||
-p|--pep8) let just_pep8=1;;
|
||||
-s|--smoke) noseargs="$noseargs --attr=type=smoke";;
|
||||
-w|--whitebox) noseargs="$noseargs --attr=type=whitebox";;
|
||||
-t|--with-testr) with_testr=1;;
|
||||
-S|--stdout) noseargs="$noseargs -s";;
|
||||
-s|--smoke) testrargs="$testrargs smoke";;
|
||||
-w|--whitebox) testrargs="$testrargs whitebox";;
|
||||
-t|--parallel) parallel=1;;
|
||||
-l|--logging) logging=1;;
|
||||
-L|--logging-config) logging_config=$2; shift;;
|
||||
--) [ "yes" == "$first_uu" ] || noseargs="$noseargs $1"; first_uu=no ;;
|
||||
*) noseargs="$noseargs $1"
|
||||
--) [ "yes" == "$first_uu" ] || testrargs="$testrargs $1"; first_uu=no ;;
|
||||
*) testrargs="$testrargs $1"
|
||||
esac
|
||||
shift
|
||||
done
|
||||
@@ -90,24 +88,10 @@ fi
|
||||
|
||||
cd `dirname "$0"`
|
||||
|
||||
export NOSE_WITH_OPENSTACK=1
|
||||
export NOSE_OPENSTACK_COLOR=1
|
||||
export NOSE_OPENSTACK_RED=15.00
|
||||
export NOSE_OPENSTACK_YELLOW=3.00
|
||||
export NOSE_OPENSTACK_SHOW_ELAPSED=1
|
||||
export NOSE_OPENSTACK_STDOUT=1
|
||||
|
||||
if [ $no_site_packages -eq 1 ]; then
|
||||
installvenvopts="--no-site-packages"
|
||||
fi
|
||||
|
||||
# only add tempest default if we don't specify a test
|
||||
if [[ "x$noseargs" =~ "tempest" ]]; then
|
||||
noseargs="$noseargs"
|
||||
else
|
||||
noseargs="$noseargs tempest"
|
||||
fi
|
||||
|
||||
function testr_init {
|
||||
if [ ! -d .testrepository ]; then
|
||||
${wrapper} testr init
|
||||
@@ -115,12 +99,12 @@ function testr_init {
|
||||
}
|
||||
|
||||
function run_tests {
|
||||
if [ $with_testr -eq 1 ]; then
|
||||
testr_init
|
||||
${wrapper} find . -type f -name "*.pyc" -delete
|
||||
${wrapper} testr run --parallel --subunit $noseargs | ${wrapper} subunit-2to1 | ${wrapper} tools/colorizer.py
|
||||
testr_init
|
||||
${wrapper} find . -type f -name "*.pyc" -delete
|
||||
if [ $parallel -eq 1 ]; then
|
||||
${wrapper} testr run --parallel --subunit $testrargs | ${wrapper} subunit-2to1 | ${wrapper} tools/colorizer.py
|
||||
else
|
||||
${wrapper} $NOSETESTS
|
||||
${wrapper} testr run --subunit $testrargs | ${wrapper} subunit-2to1 | ${wrapper} tools/colorizer.py
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -139,8 +123,6 @@ function run_coverage_report {
|
||||
${wrapper} python tools/tempest_coverage.py -c report
|
||||
}
|
||||
|
||||
NOSETESTS="nosetests $noseargs"
|
||||
|
||||
if [ $never_venv -eq 0 ]
|
||||
then
|
||||
# Remove the virtual environment if --force used
|
||||
@@ -187,7 +169,7 @@ if [ $nova_coverage -eq 1 ]; then
|
||||
run_coverage_report
|
||||
fi
|
||||
|
||||
if [ -z "$noseargs" ]; then
|
||||
if [ -z "$testrargs" ]; then
|
||||
run_pep8
|
||||
fi
|
||||
|
||||
|
||||
@@ -5,5 +5,5 @@ TESTRARGS=$@
|
||||
if [ ! -d .testrepository ]; then
|
||||
testr init
|
||||
fi
|
||||
testr run --subunit $TESTRARGS | subunit-2to1 | tools/colorizer.py
|
||||
testr run --subunit $TESTRARGS | subunit2pyunit
|
||||
testr slowest
|
||||
|
||||
31
tox.ini
31
tox.ini
@@ -13,22 +13,11 @@ setenv = VIRTUAL_ENV={envdir}
|
||||
commands =
|
||||
python setup.py testr --slowest
|
||||
|
||||
|
||||
[testenv:full]
|
||||
sitepackages = True
|
||||
setenv = VIRTUAL_ENV={envdir}
|
||||
NOSE_WITH_OPENSTACK=1
|
||||
NOSE_OPENSTACK_COLOR=1
|
||||
NOSE_OPENSTACK_RED=15
|
||||
NOSE_OPENSTACK_YELLOW=3
|
||||
NOSE_OPENSTACK_SHOW_ELAPSED=1
|
||||
NOSE_OPENSTACK_STDOUT=1
|
||||
commands =
|
||||
nosetests --logging-format '%(asctime)-15s %(message)s' --with-xunit --xunit-file=nosetests-full.xml -sv tempest/api tempest/scenario tempest/thirdparty tempest/cli
|
||||
|
||||
[testenv:testr-serial]
|
||||
sitepackages = True
|
||||
setenv = VIRTUAL_ENV={envdir}
|
||||
# The regex below is used to select which tests to run and exclude the slow tag:
|
||||
# See the testrepostiory bug: https://bugs.launchpad.net/testrepository/+bug/1208610
|
||||
commands =
|
||||
sh tools/pretty_tox_serial.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}'
|
||||
|
||||
@@ -41,27 +30,15 @@ commands =
|
||||
[testenv:smoke]
|
||||
sitepackages = True
|
||||
setenv = VIRTUAL_ENV={envdir}
|
||||
NOSE_WITH_OPENSTACK=1
|
||||
NOSE_OPENSTACK_COLOR=1
|
||||
NOSE_OPENSTACK_RED=15
|
||||
NOSE_OPENSTACK_YELLOW=3
|
||||
NOSE_OPENSTACK_SHOW_ELAPSED=1
|
||||
NOSE_OPENSTACK_STDOUT=1
|
||||
commands =
|
||||
nosetests --logging-format '%(asctime)-15s %(message)s' --with-xunit -sv --attr=type=smoke --xunit-file=nosetests-smoke.xml tempest
|
||||
sh tools/pretty_tox_serial.sh 'smoke {posargs}'
|
||||
|
||||
[testenv:coverage]
|
||||
sitepackages = True
|
||||
setenv = VIRTUAL_ENV={envdir}
|
||||
NOSE_WITH_OPENSTACK=1
|
||||
NOSE_OPENSTACK_COLOR=1
|
||||
NOSE_OPENSTACK_RED=15
|
||||
NOSE_OPENSTACK_YELLOW=3
|
||||
NOSE_OPENSTACK_SHOW_ELAPSED=1
|
||||
NOSE_OPENSTACK_STDOUT=1
|
||||
commands =
|
||||
python -m tools/tempest_coverage -c start --combine
|
||||
nosetests --logging-format '%(asctime)-15s %(message)s' --with-xunit --xunit-file=nosetests-full.xml -sv tempest/api tempest/scenario tempest/thirdparty tempest/cli
|
||||
sh tools/pretty_tox_serial.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}'
|
||||
python -m tools/tempest_coverage -c report --html {posargs}
|
||||
|
||||
[testenv:stress]
|
||||
|
||||
Reference in New Issue
Block a user