Refactor unit test runner (#2294)

Properly discovers the permissions needed for each test.
This commit is contained in:
Bartek Iwańczuk 2019-05-09 01:15:24 +02:00 committed by Ryan Dahl
parent ec9080f34c
commit ac8c6fec5b
7 changed files with 317 additions and 158 deletions

View file

@ -329,28 +329,6 @@ def enable_ansi_colors_win10():
return True
def parse_unit_test_output(output, print_to_stdout):
expected = None
actual = None
result = None
for line in iter(output.readline, ''):
if expected is None:
# expect "running 30 tests"
expected = extract_number(r'running (\d+) tests', line)
elif "test result:" in line:
result = line
if print_to_stdout:
sys.stdout.write(line)
sys.stdout.flush()
# Check that the number of expected tests equals what was reported at the
# bottom.
if result:
# result should be a string like this:
# "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; ..."
actual = extract_number(r'(\d+) passed', result)
return (actual, expected)
def extract_number(pattern, string):
matches = re.findall(pattern, string)
if len(matches) != 1: