2 changed files with 1 additions and 56 deletions
@ -1,54 +0,0 @@
@@ -1,54 +0,0 @@
|
||||
#!/usr/bin/env python |
||||
|
||||
from sys import argv, stderr |
||||
from subprocess import call, check_output |
||||
|
||||
|
||||
def list_all_tests(bin_path): |
||||
out = check_output(['./' + bin_path,"--gtest_list_tests"]) |
||||
out = out.split("\n") |
||||
if len(out) > 1: |
||||
prefix = '' |
||||
tests_list = [] |
||||
for token in out: |
||||
if len(token) == 0: |
||||
continue |
||||
if token[-1] == '.': |
||||
prefix = token |
||||
continue |
||||
if token[0] == ' ' and token[1] == ' ' and len(token) > 0: |
||||
tests_list.append(''.join([prefix, token[2:]])) |
||||
continue |
||||
|
||||
return tests_list |
||||
|
||||
else: |
||||
return [] |
||||
|
||||
|
||||
|
||||
def run_tests(bin_path, tests_list, args): |
||||
for test in tests_list: |
||||
call_args = ['./' + bin_path, ' '.join(args), '--gtest_filter=*{}'.format(test)] |
||||
print(' '.join(call_args)) |
||||
result = call(call_args) |
||||
if result != 0: |
||||
return result |
||||
return 0 |
||||
|
||||
|
||||
|
||||
def main(): |
||||
if len(argv) >= 2: |
||||
try: |
||||
exit(run_tests(argv[1], list_all_tests(argv[1]), argv[2:])) |
||||
except: |
||||
print('Error with arguments "' + ' '.join(argv[1:]) + '"') |
||||
raise |
||||
print('Runs each gtest test in a difference process') |
||||
print('Usage: ' + argv[0] + ' path/to/gtest.bin [GTEST_OPTIONS]') |
||||
exit(1) |
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
main() |
Loading…
Reference in new issue