Skip to content

Commit 8215eb9

Browse files
committed
allow for running tests with break on error
1 parent d8e5602 commit 8215eb9

File tree

3 files changed

+14
-11
lines changed

3 files changed

+14
-11
lines changed

CHANGES.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Full list of changes:
2222
- Improve performance of ``history.diff_against`` by reducing number of queries to 0 in most cases (gh-776)
2323
- Added Czech translations (gh-885)
2424
- Added pre-commit for better commit quality (gh-896)
25+
- Added ability to break into debugger on unit test failure (gh-890)
2526

2627
3.0.0 (2021-04-16)
2728
------------------

runtests.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,10 @@ def __getitem__(self, item):
147147

148148
def main():
149149
parser = ArgumentParser(description="Run package tests.")
150-
parser.add_argument("--tag", action="append", nargs="?")
151150
parser.add_argument("--database", action="store", nargs="?", default="sqlite3")
151+
parser.add_argument("--failfast", action="store_true")
152+
parser.add_argument("--pdb", action="store_true")
153+
parser.add_argument("--tag", action="append", nargs="?")
152154
namespace = parser.parse_args()
153155
db_settings = DATABASE_NAME_TO_DATABASE_SETTINGS[namespace.database]
154156
if not settings.configured:
@@ -157,12 +159,12 @@ def main():
157159
django.setup()
158160

159161
tags = namespace.tag
160-
failures = DiscoverRunner(failfast=False, tags=tags).run_tests(
161-
["simple_history.tests"]
162-
)
163-
failures |= DiscoverRunner(failfast=False, tags=tags).run_tests(
164-
["simple_history.registry_tests"]
165-
)
162+
failures = DiscoverRunner(
163+
failfast=bool(namespace.failfast), pdb=bool(namespace.pdb), tags=tags
164+
).run_tests(["simple_history.tests"])
165+
failures |= DiscoverRunner(
166+
failfast=bool(namespace.failfast), pdb=bool(namespace.pdb), tags=tags
167+
).run_tests(["simple_history.registry_tests"])
166168
sys.exit(failures)
167169

168170

tox.ini

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ deps =
3737
mariadb: -rrequirements/mysql.txt
3838

3939
commands =
40-
sqlite3: coverage run -a runtests.py
41-
postgres: coverage run -a runtests.py --database=postgres
42-
mysql: coverage run -a runtests.py --database=mysql
43-
mariadb: coverage run -a runtests.py --database=mariadb
40+
sqlite3: coverage run -a runtests.py {posargs}
41+
postgres: coverage run -a runtests.py --database=postgres {posargs}
42+
mysql: coverage run -a runtests.py --database=mysql {posargs}
43+
mariadb: coverage run -a runtests.py --database=mariadb {posargs}
4444
coverage report
4545

4646
[testenv:format]

0 commit comments

Comments
 (0)