test_FreezeTool.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. from direct.dist.FreezeTool import Freezer, PandaModuleFinder
  2. import sys
  3. def test_Freezer_moduleSuffixes():
  4. freezer = Freezer()
  5. for suffix, mode, type in freezer.mf.suffixes:
  6. if type == 2: # imp.PY_SOURCE
  7. assert mode == 'rb'
  8. def test_Freezer_getModulePath_getModuleStar(tmp_path):
  9. # Package 1 can be imported
  10. package1 = tmp_path / "package1"
  11. package1.mkdir()
  12. (package1 / "submodule1.py").write_text("")
  13. (package1 / "__init__.py").write_text("")
  14. # Package 2 can not be imported
  15. package2 = tmp_path / "package2"
  16. package2.mkdir()
  17. (package2 / "submodule2.py").write_text("")
  18. (package2 / "__init__.py").write_text("raise ImportError\n")
  19. # Module 1 can be imported
  20. (tmp_path / "module1.py").write_text("")
  21. # Module 2 can not be imported
  22. (tmp_path / "module2.py").write_text("raise ImportError\n")
  23. backup = sys.path
  24. try:
  25. # Don't fail if first item on path does not exist
  26. sys.path = [str(tmp_path / "nonexistent"), str(tmp_path)]
  27. freezer = Freezer()
  28. assert freezer.getModulePath("nonexist") == None
  29. assert freezer.getModulePath("package1") == [str(package1)]
  30. assert freezer.getModulePath("package2") == [str(package2)]
  31. assert freezer.getModulePath("package1.submodule1") == None
  32. assert freezer.getModulePath("package1.nonexist") == None
  33. assert freezer.getModulePath("package2.submodule2") == None
  34. assert freezer.getModulePath("package2.nonexist") == None
  35. assert freezer.getModulePath("module1") == None
  36. assert freezer.getModulePath("module2") == None
  37. assert freezer.getModuleStar("nonexist") == None
  38. assert freezer.getModuleStar("package1") == ['submodule1']
  39. assert freezer.getModuleStar("package2") == ['submodule2']
  40. assert freezer.getModuleStar("package1.submodule1") == None
  41. assert freezer.getModuleStar("package1.nonexist") == None
  42. assert freezer.getModuleStar("package2.submodule2") == None
  43. assert freezer.getModuleStar("package2.nonexist") == None
  44. assert freezer.getModuleStar("module1") == None
  45. assert freezer.getModuleStar("module2") == None
  46. finally:
  47. sys.path = backup