__init__.py 751 B

123456789101112131415161718192021222324252627
  1. from pathlib import Path
  2. import re
  3. class TestRecognizer:
  4. RE_FIND_WAF_INFO = re.compile(r"[^\w]waf_test_[A-Za-z0-9_]+\(")
  5. def __init__(self, bld, file):
  6. self.bld = bld
  7. self.file = file
  8. def recognize(self, content, reco):
  9. print(content, reco)
  10. exit(-1)
  11. def add_test(self):
  12. content = Path(self.file).read_text()
  13. for x in self.RE_FIND_WAF_INFO.findall(content):
  14. self.recognize(content, x)
  15. def find_test(bld, dir):
  16. for file in Path(dir).iterdir():
  17. if file.is_file() and file.name.endswith(".cpp"):
  18. TestRecognizer(bld, file).add_test()
  19. elif file.is_dir() and (file / "wscript").is_file():
  20. bld.recurse(file.name)