forked from andfoy/pywinpty
-
Notifications
You must be signed in to change notification settings - Fork 0
/
runtests.py
43 lines (31 loc) · 1.24 KB
/
runtests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# -*- coding: utf-8 -*-
"""Script used to run pytest programatically."""
# Standard library imports
import argparse
import os
# Standard library imports
import pytest
import traceback
def run_pytest(extra_args=None):
pytest_args = ['-v', '-x']
# Allow user to pass a custom test path to pytest to e.g. run just one test
if extra_args:
pytest_args += extra_args
print("Pytest Arguments: " + str(pytest_args))
errno = pytest.main(pytest_args)
# sys.exit doesn't work here because some things could be running in the
# background (e.g. closing the main window) when this point is reached.
# If that's the case, sys.exit doesn't stop the script as you would expect.
if errno != 0:
raise SystemExit(errno)
def main():
"""Parse args then run the pytest suite for pywinpty."""
test_parser = argparse.ArgumentParser(
usage='python runtests.py [-h] [pytest_args]',
description="Helper script to run pywinpty's test suite")
test_parser.add_argument('--run-slow', action='store_true', default=False,
help='Run the slow tests')
_, pytest_args = test_parser.parse_known_args()
run_pytest(extra_args=pytest_args)
if __name__ == '__main__':
main()