diff --git a/support/testing/tests/package/test_python_django.py b/support/testing/tests/package/test_python_django.py index e1ca50f6d8..29e8ee0b2e 100644 --- a/support/testing/tests/package/test_python_django.py +++ b/support/testing/tests/package/test_python_django.py @@ -1,3 +1,5 @@ +import time + from tests.package.test_python import TestPythonPackageBase @@ -16,13 +18,16 @@ class TestPythonDjango(TestPythonPackageBase): self.assertIn("Operations to perform:", output[0]) self.assertEqual(exit_code, 0) - cmd = "cd /opt/testsite && " + self.interpreter + " ./manage.py runserver 0.0.0.0:1234 & " - # give some time to setup the server - cmd += "sleep {}".format(str(30 * self.emulator.timeout_multiplier)) + cmd = "cd /opt/testsite && " + self.interpreter + " ./manage.py runserver 0.0.0.0:1234 > /dev/null 2>&1 & " self.assertRunOk(cmd, timeout=timeout) - - cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" - self.assertRunOk(cmd) + # give some time to setup the server + for attempt in range(30 * self.emulator.timeout_multiplier): + time.sleep(1) + cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" + _, exit_code = self.emulator.run(cmd) + if exit_code == 0: + break + self.assertEqual(exit_code, 0, "Timeout while waiting for django server") class TestPythonPy3Django(TestPythonDjango):