Browse Source

Refactor heat gate testing contrib support

The existing code is running tests twice, one for heat, one for
contrib via adding two commands in tox.

This breaked tox single run. For example:

  tox -e py27 -- heat.tests.test_software_config

Except heat.tests.test_software_config is executed, all test cases in
contrib will be executed also.

The patch added contrib in discover list, which can make sure both
contrib in heat gate testing and does not break single test run.

Change-Id: I014d7b95c64287e1fd04a0ba69fce0de554a9a08
changes/83/67783/3
JUN JIE NAN 9 years ago
parent
commit
20b854b836
  1. 4
      .testr.conf
  2. 4
      contrib/.testr.conf
  3. 39
      contrib/bin/run_tests.py
  4. 1
      tox.ini

4
.testr.conf

@ -1,4 +1,6 @@
[DEFAULT]
test_command=${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT $IDOPTION
test_command=
${PYTHON:-python} -m subunit.run discover -s . $LISTOPT $IDOPTION
${PYTHON:-python} -m subunit.run discover -s contrib $LISTOPT $IDOPTION
test_id_option=--load-list $IDFILE
test_list_option=--list

4
contrib/.testr.conf

@ -1,4 +0,0 @@
[DEFAULT]
test_command=python -m subunit.run discover -s contrib $LISTOPT $IDOPTION
test_id_option=--load-list $IDFILE
test_list_option=--list

39
contrib/bin/run_tests.py

@ -1,39 +0,0 @@
#!/usr/bin/env python
#
# 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 sys
from testrepository import commands
CONTRIB_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__),
os.pardir))
TESTR_PATH = os.path.join(CONTRIB_PATH, ".testrepository")
def _run_testr(*args):
return commands.run_argv([sys.argv[0]] + list(args),
sys.stdin, sys.stdout, sys.stderr)
# initialize the contrib test repository if needed
if not os.path.isdir(TESTR_PATH):
_run_testr('init', '-d', CONTRIB_PATH)
if not _run_testr('run', '-d', CONTRIB_PATH, '--parallel'):
cur_dir = os.getcwd()
os.chdir(CONTRIB_PATH)
print("Slowest Contrib Tests")
_run_testr("slowest")
os.chdir(cur_dir)
else:
sys.exit(1)

1
tox.ini

@ -11,7 +11,6 @@ deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
python setup.py testr --slowest --testr-args='{posargs}'
python contrib/bin/run_tests.py
[testenv:pep8]
commands =

Loading…
Cancel
Save