|
|
|
@ -353,28 +353,23 @@ def generate_tests():
|
|
|
|
|
|
|
|
|
|
# enable selective testing for direct calls
|
|
|
|
|
if __name__ == '__main__' and len(sys.argv) > 1:
|
|
|
|
|
if sys.argv[1].lower() == "all":
|
|
|
|
|
fltr = lambda c, bc: True # noqa: E731
|
|
|
|
|
elif sys.argv[1].lower() == "broken":
|
|
|
|
|
fltr = lambda c, bc: c in BROKEN # noqa: E731
|
|
|
|
|
else:
|
|
|
|
|
argv = sys.argv[1:]
|
|
|
|
|
fltr = lambda c, bc: c in argv or bc in argv # noqa: E731
|
|
|
|
|
categories = sys.argv[1:]
|
|
|
|
|
negate = False
|
|
|
|
|
if categories[0].lower() == "all":
|
|
|
|
|
categories = ()
|
|
|
|
|
negate = True
|
|
|
|
|
elif categories[0].lower() == "broken":
|
|
|
|
|
categories = BROKEN
|
|
|
|
|
del sys.argv[1:]
|
|
|
|
|
else:
|
|
|
|
|
skip = set(BROKEN)
|
|
|
|
|
if skip:
|
|
|
|
|
print("skipping:", ", ".join(skip))
|
|
|
|
|
fltr = lambda c, bc: c not in skip # noqa: E731
|
|
|
|
|
|
|
|
|
|
# filter available extractor classes
|
|
|
|
|
extractors = [
|
|
|
|
|
extr for extr in extractor.extractors()
|
|
|
|
|
if fltr(extr.category, extr.basecategory)
|
|
|
|
|
]
|
|
|
|
|
categories = BROKEN
|
|
|
|
|
negate = True
|
|
|
|
|
if categories:
|
|
|
|
|
print("skipping:", ", ".join(categories))
|
|
|
|
|
fltr = util.build_extractor_filter(categories, negate=negate)
|
|
|
|
|
|
|
|
|
|
# add 'test_...' methods
|
|
|
|
|
for extr in extractors:
|
|
|
|
|
for extr in filter(fltr, extractor.extractors()):
|
|
|
|
|
name = "test_" + extr.__name__ + "_"
|
|
|
|
|
for num, tcase in enumerate(extr._get_tests(), 1):
|
|
|
|
|
test = _generate_test(extr, tcase)
|
|
|
|
|