Debug env for tox
Running a test with pdb was difficult because testr captures output and causes pdb prompt to quit. Tips for how to run testr with debug are provided here: https://wiki.openstack.org/wiki/Testr#Debugging_.28pdb.29_Tests This change puts these commands into a debug env in tox.ini so you can do a command like tox -e debug test_auth_token_middleware or, for more granularity: tox -e debug keystone.tests.test_sql_migrate_extensions.EndpointFilterExtension tox -e debug keystone.tests.test_sql_migrate_extensions.EndpointFilterExtension.test_downgrade and when it hits your breakpoint you'll get the debug prompt. This same change was made to keystone in commit c8302509 . Change-Id: I2b5dc81f4652dc89ecbcc7c785245a81cf77a1ca
This commit is contained in:
18
tools/debug_helper.sh
Executable file
18
tools/debug_helper.sh
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
TMP_DIR=`mktemp -d` || exit 1
|
||||||
|
trap "rm -rf $TMP_DIR" EXIT
|
||||||
|
|
||||||
|
ALL_TESTS=$TMP_DIR/all_tests
|
||||||
|
TESTS_TO_RUN=$TMP_DIR/ksc_to_run
|
||||||
|
|
||||||
|
python -m testtools.run discover -t ./ ./keystoneclient/tests --list > $ALL_TESTS
|
||||||
|
|
||||||
|
if [ "$1" ]
|
||||||
|
then
|
||||||
|
grep "$1" < $ALL_TESTS > $TESTS_TO_RUN
|
||||||
|
else
|
||||||
|
mv $ALL_TESTS $TESTS_TO_RUN
|
||||||
|
fi
|
||||||
|
|
||||||
|
python -m testtools.run discover --load-list $TESTS_TO_RUN
|
5
tox.ini
5
tox.ini
@@ -29,6 +29,11 @@ commands = python setup.py testr --coverage --testr-args='{posargs}'
|
|||||||
[tox:jenkins]
|
[tox:jenkins]
|
||||||
downloadcache = ~/cache/pip
|
downloadcache = ~/cache/pip
|
||||||
|
|
||||||
|
[testenv:debug]
|
||||||
|
|
||||||
|
commands =
|
||||||
|
{toxinidir}/tools/debug_helper.sh {posargs}
|
||||||
|
|
||||||
[flake8]
|
[flake8]
|
||||||
# F821: undefined name
|
# F821: undefined name
|
||||||
# H304: no relative imports
|
# H304: no relative imports
|
||||||
|
Reference in New Issue
Block a user