diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2012-03-04 03:24:10 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2012-03-04 18:02:06 +0100 |
commit | 4802561d690e63213cc2274a4b72ed278908bf97 (patch) | |
tree | 4d1780c18c579d548f7c7ecaa3c48593f10008e9 /selftest/testlist.py | |
parent | 7a614ac7104cc59f6af70de1b0ba3eee472c3c21 (diff) | |
download | samba-4802561d690e63213cc2274a4b72ed278908bf97.tar.gz samba-4802561d690e63213cc2274a4b72ed278908bf97.tar.xz samba-4802561d690e63213cc2274a4b72ed278908bf97.zip |
selftest.testlist: Add read_testlist.
Diffstat (limited to 'selftest/testlist.py')
-rw-r--r-- | selftest/testlist.py | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/selftest/testlist.py b/selftest/testlist.py index e535194510..c37701280b 100644 --- a/selftest/testlist.py +++ b/selftest/testlist.py @@ -19,9 +19,10 @@ """Selftest test list management.""" -__all__ = ['find_in_list', 'read_test_regexes'] +__all__ = ['find_in_list', 'read_test_regexes', 'read_testlist'] import re +import sys def find_in_list(list, fullname): """Find test in list. @@ -53,3 +54,34 @@ def read_test_regexes(f): yield l, None else: yield test.strip(), reason.strip() + + +def should_run_test(tests, name): + if tests == []: + return True + for test in tests: + if re.match(test, name): + return True + return False + + +def read_testlist(inf, outf): + """Read a list of tests from a file. + + :param inf: File-like object to read from. + :param outf: File-like object to write to. + :return: Iterator over tuples describing tests + """ + while True: + l = inf.readline() + if l == '': + return + if l.startswith("-- TEST") and l.endswith(" --\n"): + supports_loadlist = l.startswith("-- TEST-LOADLIST") + supports_idlist = l.startswith("-- TEST-IDLIST") + name = inf.readline().rstrip("\n") + env = inf.readline().rstrip("\n") + cmdline = inf.readline().rstrip("\n") + yield (name, env, cmdline, supports_loadlist, supports_idlist) + else: + outf.write(l) |