from pathlib import Path import re class TestRecognizer: RE_FIND_WAF_INFO = re.compile(r"[^\w]waf_test_[A-Za-z0-9_]+\(") def __init__(self, bld, file): self.bld = bld self.file = file def recognize(self, content, reco): print(content, reco) exit(-1) def add_test(self): content = Path(self.file).read_text() for x in self.RE_FIND_WAF_INFO.findall(content): self.recognize(content, x) def find_test(bld, dir): for file in Path(dir).iterdir(): if file.is_file() and file.name.endswith(".cpp"): TestRecognizer(bld, file).add_test() elif file.is_dir() and (file / "wscript").is_file(): bld.recurse(file.name)