server_poll.py 835 B

1234567891011121314151617181920212223242526
  1. import unittest
  2. import requests
  3. import time
  4. import os
  5. from modules.paths import script_path
  6. def run_tests(proc, test_dir):
  7. timeout_threshold = 240
  8. start_time = time.time()
  9. while time.time()-start_time < timeout_threshold:
  10. try:
  11. requests.head("http://localhost:7860/")
  12. break
  13. except requests.exceptions.ConnectionError:
  14. if proc.poll() is not None:
  15. break
  16. if proc.poll() is None:
  17. if test_dir is None:
  18. test_dir = os.path.join(script_path, "test")
  19. suite = unittest.TestLoader().discover(test_dir, pattern="*_test.py", top_level_dir=test_dir)
  20. result = unittest.TextTestRunner(verbosity=2).run(suite)
  21. return len(result.failures) + len(result.errors)
  22. else:
  23. print("Launch unsuccessful")
  24. return 1