check_get_file_list.py 926 B

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/env python
  2. import os
  3. import sys
  4. from pathlib import Path
  5. sys.path.insert(1, os.path.join(os.path.dirname(__file__), "..", ".."))
  6. from binding_generator import generate_bindings, get_file_list
  7. api_filepath = "gdextension/extension_api.json"
  8. bits = "64"
  9. precision = "single"
  10. output_dir = "self_test"
  11. generate_bindings(api_filepath, use_template_get_node=False, bits=bits, precision=precision, output_dir=output_dir)
  12. flist = get_file_list(api_filepath, output_dir, headers=True, sources=True)
  13. p = Path(output_dir) / "gen"
  14. allfiles = [str(f.as_posix()) for f in p.glob("**/*.*")]
  15. missing = list(filter((lambda f: f not in flist), allfiles))
  16. extras = list(filter((lambda f: f not in allfiles), flist))
  17. if len(missing) > 0 or len(extras) > 0:
  18. print("Error!")
  19. for f in missing:
  20. print("MISSING: " + str(f))
  21. for f in extras:
  22. print("EXTRA: " + str(f))
  23. sys.exit(1)
  24. else:
  25. print("OK!")