diff --git a/README.rst b/README.rst index 281516bec2..9d19c234df 100644 --- a/README.rst +++ b/README.rst @@ -263,9 +263,7 @@ To run one single test serially :: $ testr run tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_reboot_non_existent_server -Alternatively, you can use the run_tempest.sh script which will create a venv -and run the tests or use tox to do the same. Tox also contains several existing -job configurations. For example:: +Tox also contains several existing job configurations. For example:: $ tox -efull diff --git a/run_tempest.sh b/run_tempest.sh deleted file mode 100755 index 414146be20..0000000000 --- a/run_tempest.sh +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/env bash - -echo "WARNING: This script is deprecated and will be removed in the near future. Please migrate to tempest run or another method of launching a test runner" - -function usage { - echo "Usage: $0 [OPTION]..." - echo "Run Tempest test suite" - echo "" - echo " -V, --virtual-env Always use virtualenv. Install automatically if not present" - echo " -N, --no-virtual-env Don't use virtualenv. Run tests in local environment" - echo " -n, --no-site-packages Isolate the virtualenv from the global Python environment" - echo " -f, --force Force a clean re-build of the virtual environment. Useful when dependencies have been added." - echo " -u, --update Update the virtual environment with any newer package versions" - echo " -s, --smoke Only run smoke tests" - echo " -t, --serial Run testr serially" - echo " -C, --config Config file location" - echo " -h, --help Print this usage message" - echo " -d, --debug Run tests with testtools instead of testr. This allows you to use PDB" - echo " -- [TESTROPTIONS] After the first '--' you can pass arbitrary arguments to testr " -} - -testrargs="" -venv=${VENV:-.venv} -with_venv=tools/with_venv.sh -serial=0 -always_venv=0 -never_venv=0 -no_site_packages=0 -debug=0 -force=0 -wrapper="" -config_file="" -update=0 - -if ! options=$(getopt -o VNnfusthdC:lL: -l virtual-env,no-virtual-env,no-site-packages,force,update,smoke,serial,help,debug,config: -- "$@") -then - # parse error - usage - exit 1 -fi - -eval set -- $options -first_uu=yes -while [ $# -gt 0 ]; do - case "$1" in - -h|--help) usage; exit;; - -V|--virtual-env) always_venv=1; never_venv=0;; - -N|--no-virtual-env) always_venv=0; never_venv=1;; - -n|--no-site-packages) no_site_packages=1;; - -f|--force) force=1;; - -u|--update) update=1;; - -d|--debug) debug=1;; - -C|--config) config_file=$2; shift;; - -s|--smoke) testrargs+="smoke";; - -t|--serial) serial=1;; - --) [ "yes" == "$first_uu" ] || testrargs="$testrargs $1"; first_uu=no ;; - *) testrargs="$testrargs $1";; - esac - shift -done - -if [ -n "$config_file" ]; then - config_file=`readlink -f "$config_file"` - export TEMPEST_CONFIG_DIR=`dirname "$config_file"` - export TEMPEST_CONFIG=`basename "$config_file"` -fi - -cd `dirname "$0"` - -if [ $no_site_packages -eq 1 ]; then - installvenvopts="--no-site-packages" -fi - -function testr_init { - if [ ! -d .testrepository ]; then - ${wrapper} testr init - fi -} - -function run_tests { - testr_init - ${wrapper} find . -type f -name "*.pyc" -delete - export OS_TEST_PATH=./tempest/test_discover - if [ $debug -eq 1 ]; then - if [ "$testrargs" = "" ]; then - testrargs="discover ./tempest/test_discover" - fi - ${wrapper} python -m testtools.run $testrargs - return $? - fi - - if [ $serial -eq 1 ]; then - ${wrapper} testr run --subunit $testrargs | ${wrapper} subunit-trace -n -f - else - ${wrapper} testr run --parallel --subunit $testrargs | ${wrapper} subunit-trace -n -f - fi -} - -if [ $never_venv -eq 0 ] -then - # Remove the virtual environment if --force used - if [ $force -eq 1 ]; then - echo "Cleaning virtualenv..." - rm -rf ${venv} - fi - if [ $update -eq 1 ]; then - echo "Updating virtualenv..." - virtualenv $installvenvopts $venv - $venv/bin/pip install -U -r requirements.txt - fi - if [ -e ${venv} ]; then - wrapper="${with_venv}" - else - if [ $always_venv -eq 1 ]; then - # Automatically install the virtualenv - virtualenv $installvenvopts $venv - wrapper="${with_venv}" - ${wrapper} pip install -U -r requirements.txt - else - echo -e "No virtual environment found...create one? (Y/n) \c" - read use_ve - if [ "x$use_ve" = "xY" -o "x$use_ve" = "x" -o "x$use_ve" = "xy" ]; then - # Install the virtualenv and run the test suite in it - virtualenv $installvenvopts $venv - wrapper=${with_venv} - ${wrapper} pip install -U -r requirements.txt - fi - fi - fi -fi - -run_tests -retval=$? - -exit $retval diff --git a/run_tests.sh b/run_tests.sh deleted file mode 100755 index a856bb44d9..0000000000 --- a/run_tests.sh +++ /dev/null @@ -1,193 +0,0 @@ -#!/usr/bin/env bash - -function usage { - echo "Usage: $0 [OPTION]..." - echo "Run Tempest unit tests" - echo "" - echo " -V, --virtual-env Always use virtualenv. Install automatically if not present" - echo " -N, --no-virtual-env Don't use virtualenv. Run tests in local environment" - echo " -n, --no-site-packages Isolate the virtualenv from the global Python environment" - echo " -f, --force Force a clean re-build of the virtual environment. Useful when dependencies have been added." - echo " -u, --update Update the virtual environment with any newer package versions" - echo " -t, --serial Run testr serially" - echo " -p, --pep8 Just run pep8" - echo " -c, --coverage Generate coverage report" - echo " -h, --help Print this usage message" - echo " -d, --debug Run tests with testtools instead of testr. This allows you to use PDB" - echo " -- [TESTROPTIONS] After the first '--' you can pass arbitrary arguments to testr " -} - -function deprecation_warning { - cat <&2 - echo "Running flake8 without virtual env may miss OpenStack HACKING detection" >&2 - fi - ${wrapper} flake8 -} - -if [ $never_venv -eq 0 ] -then - # Remove the virtual environment if --force used - if [ $force -eq 1 ]; then - echo "Cleaning virtualenv..." - rm -rf ${venv} - fi - if [ $update -eq 1 ]; then - echo "Updating virtualenv..." - virtualenv $installvenvopts $venv - $venv/bin/pip install -U -r requirements.txt -r test-requirements.txt - fi - if [ -e ${venv} ]; then - wrapper="${with_venv}" - else - if [ $always_venv -eq 1 ]; then - # Automatically install the virtualenv - virtualenv $installvenvopts $venv - wrapper="${with_venv}" - ${wrapper} pip install -U -r requirements.txt -r test-requirements.txt - else - echo -e "No virtual environment found...create one? (Y/n) \c" - read use_ve - if [ "x$use_ve" = "xY" -o "x$use_ve" = "x" -o "x$use_ve" = "xy" ]; then - # Install the virtualenv and run the test suite in it - virtualenv $installvenvopts $venv - wrapper=${with_venv} - ${wrapper} pip install -U -r requirements.txt -r test-requirements.txt - fi - fi - fi -fi - -if [ $just_pep8 -eq 1 ]; then - run_pep8 - exit -fi - -run_tests -retval=$? - -if [ -z "$testrargs" ]; then - run_pep8 -fi - -exit $retval diff --git a/tempest/tests/test_wrappers.py b/tempest/tests/test_wrappers.py deleted file mode 100644 index a4ef699c47..0000000000 --- a/tempest/tests/test_wrappers.py +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2013 IBM Corp. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import os -import shutil -import subprocess -import tempfile - -import six - -from tempest.tests import base - -DEVNULL = open(os.devnull, 'wb') - - -class TestWrappers(base.TestCase): - def setUp(self): - super(TestWrappers, self).setUp() - # Setup test dirs - self.directory = tempfile.mkdtemp(prefix='tempest-unit') - self.addCleanup(shutil.rmtree, self.directory) - self.test_dir = os.path.join(self.directory, 'tests') - os.mkdir(self.test_dir) - # Setup Test files - self.testr_conf_file = os.path.join(self.directory, '.testr.conf') - self.setup_cfg_file = os.path.join(self.directory, 'setup.cfg') - self.passing_file = os.path.join(self.test_dir, 'test_passing.py') - self.failing_file = os.path.join(self.test_dir, 'test_failing.py') - self.init_file = os.path.join(self.test_dir, '__init__.py') - self.setup_py = os.path.join(self.directory, 'setup.py') - shutil.copy('tempest/tests/files/testr-conf', self.testr_conf_file) - shutil.copy('tempest/tests/files/passing-tests', self.passing_file) - shutil.copy('tempest/tests/files/failing-tests', self.failing_file) - shutil.copy('setup.py', self.setup_py) - shutil.copy('tempest/tests/files/setup.cfg', self.setup_cfg_file) - shutil.copy('tempest/tests/files/__init__.py', self.init_file) - # copy over the pretty_tox scripts - shutil.copy('tools/pretty_tox.sh', - os.path.join(self.directory, 'pretty_tox.sh')) - shutil.copy('tools/pretty_tox_serial.sh', - os.path.join(self.directory, 'pretty_tox_serial.sh')) - - self.stdout = six.StringIO() - self.stderr = six.StringIO() - # Change directory, run wrapper and check result - self.addCleanup(os.chdir, os.path.abspath(os.curdir)) - os.chdir(self.directory) - - def assertRunExit(self, cmd, expected): - p = subprocess.Popen( - "bash %s" % cmd, shell=True, - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - out, err = p.communicate() - - self.assertEqual( - p.returncode, expected, - "Stdout: %s; Stderr: %s" % (out, err)) - - def test_pretty_tox(self): - # Git init is required for the pbr testr command. pbr requires a git - # version or an sdist to work. so make the test directory a git repo - # too. - subprocess.call(['git', 'init'], stderr=DEVNULL) - self.assertRunExit('pretty_tox.sh passing', 0) - - def test_pretty_tox_fails(self): - # Git init is required for the pbr testr command. pbr requires a git - # version or an sdist to work. so make the test directory a git repo - # too. - subprocess.call(['git', 'init'], stderr=DEVNULL) - self.assertRunExit('pretty_tox.sh', 1) - - def test_pretty_tox_serial(self): - self.assertRunExit('pretty_tox_serial.sh passing', 0) - - def test_pretty_tox_serial_fails(self): - self.assertRunExit('pretty_tox_serial.sh', 1) diff --git a/tools/pretty_tox.sh b/tools/pretty_tox.sh deleted file mode 100755 index 0b83b9151b..0000000000 --- a/tools/pretty_tox.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -echo "WARNING: This script is deprecated and will be removed in the near future. Please migrate to tempest run or another method of launching a test runner" - -set -o pipefail - -TESTRARGS=$1 -python setup.py testr --testr-args="--subunit $TESTRARGS" | subunit-trace --no-failure-debug -f -retval=$? -# NOTE(mtreinish) The pipe above would eat the slowest display from pbr's testr -# wrapper so just manually print the slowest tests. -echo -e "\nSlowest Tests:\n" -testr slowest -exit $retval diff --git a/tools/pretty_tox_serial.sh b/tools/pretty_tox_serial.sh deleted file mode 100755 index 1f8204e34d..0000000000 --- a/tools/pretty_tox_serial.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -echo "WARNING: This script is deprecated and will be removed in the near future. Please migrate to tempest run or another method of launching a test runner" - -set -o pipefail - -TESTRARGS=$@ - -if [ ! -d .testrepository ]; then - testr init -fi -testr run --subunit $TESTRARGS | subunit-trace -f -n -retval=$? -testr slowest - -exit $retval