test.py 868 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env python3
  2. """core/_ensure: ensure() falls back to importlib.import_module + pip_install when missing."""
  3. import sys
  4. err = []
  5. from core._ensure import ensure, pip_install, PIP_FLAGS
  6. if "--break-system-packages" not in PIP_FLAGS:
  7. err.append("PIP_FLAGS should include --break-system-packages")
  8. m = ensure("os")
  9. if m is None or not hasattr(m, "path"):
  10. err.append("ensure('os') should return the os module (already installed)")
  11. m = ensure("sys")
  12. if m is None:
  13. err.append("ensure('sys') should return the sys module")
  14. import importlib
  15. m = ensure("Cryptodome.Cipher", "pycryptodomex")
  16. if m is None:
  17. err.append("ensure('Cryptodome.Cipher') should succeed (already installed via setup.py)")
  18. print(f"ensure('os'): {ensure('os') is not None}")
  19. print(f"PIP_FLAGS: {PIP_FLAGS}")
  20. for e in err:
  21. print("FAIL:", e)
  22. sys.exit(0 if not err else 1)