This repository was archived by the owner on Nov 2, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 153
/
Copy pathtestrunner.py
executable file
·79 lines (70 loc) · 2.11 KB
/
testrunner.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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/usr/bin/python
from __future__ import print_function
import sys
try:
import unittest2 as unittest
except ImportError:
import unittest
from lib.logging import *
if '-q' in sys.argv:
sys.stdout = open("/dev/null", "a") # supress customized output within the test
# functional tests
import functional
functional_loader = unittest.TestLoader()
functional_result = unittest.TestResult()
functional_suite = unittest.TestSuite()
for test in functional.__all__:
functional_suite.addTests(
functional_loader.loadTestsFromName('.'.join(['functional', test])))
functional_suite.run(functional_result)
# protocol tests
import protocol
protocol_loader = unittest.TestLoader()
protocol_result = unittest.TestResult()
protocol_suite = unittest.TestSuite()
for test in protocol.__all__:
protocol_suite.addTests(
protocol_loader.loadTestsFromName('.'.join(['protocol', test])))
protocol_suite.run(protocol_result)
sys.stdout = sys.__stdout__ # restore default stdout
# Summerize results
print_newline()
print_title("Functional Tests")
print_result(functional_result)
if functional_result.wasSuccessful():
print_title("Functional: PASS")
else:
print_title("Functional: FAIL")
print_section('Errors')
for error in functional_result.errors:
print(error[0])
print(error[1])
print_newline()
print_section('Failures')
for failure in functional_result.failures:
print(failure[0])
print(failure[1])
print_newline()
print_newline()
print_title("Protocol Tests")
print_result(protocol_result)
if protocol_result.wasSuccessful():
print_title("Protocol: PASS")
else:
print_title("Protocol: FAIL")
print_section('Errors')
for error in protocol_result.errors:
print(error[0])
print(error[1])
print_newline()
print_section('Failures')
for failure in protocol_result.failures:
print(failure[0])
print(failure[1])
print_newline()
print_newline()
print_title("Summary")
if (functional_result.wasSuccessful() and protocol_result.wasSuccessful()):
print_title("PASS")
else:
print_title("FAIL")