-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.py
45 lines (38 loc) · 1.05 KB
/
test.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
44
45
import sys
from os import environ
from subprocess import Popen
from webbrowser import open as wopen
PKG = "capython"
PATTERN = environ.get("PATTERN", "test*.py")
HTML = environ.get("HTML", "")
HTML_OPEN = environ.get("HTML_OPEN", "")
def main():
proc = Popen([
"coverage", "run",
"--branch",
"--source", PKG,
"--module", "unittest", "discover",
"--pattern", PATTERN,
"--failfast",
"--catch",
"--start-directory", PKG,
"--top-level-directory", PKG, *sys.argv[1:]
])
proc.communicate()
if proc.returncode:
sys.exit(proc.returncode)
proc = Popen([
"coverage", "report", "--show-missing", "--omit", "capython/test_*.py"
])
proc.communicate()
if proc.returncode:
sys.exit(proc.returncode)
if HTML == "1":
proc = Popen(["coverage", "html"])
proc.communicate()
if proc.returncode:
sys.exit(proc.returncode)
if HTML_OPEN == "1":
wopen("./htmlcov/index.html")
if __name__ == "__main__":
main()