support/testing: remove hardcoded sleep from python-flask test

Similar to the new fastapi test, instead of waiting for a hard coded
amount of time we can retry every second until the server is available
and abort if after the timeout we still didn't manage to connect.

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Marcus Hoffmann 2024-02-07 18:15:12 +01:00 committed by Thomas Petazzoni
parent 687b96db4d
commit cbe0f4de67

View File

@ -21,9 +21,13 @@ class TestPythonPy3Flask(TestPythonPackageBase):
_, exit_code = self.emulator.run(cmd, timeout=self.timeout)
# Give enough time for the flask server to start up
time.sleep(30)
for attempt in range(30):
time.sleep(1)
cmd = "wget -q -O - http://127.0.0.1:5000/"
output, exit_code = self.emulator.run(cmd, timeout=self.timeout)
self.assertEqual(exit_code, 0)
self.assertEqual(output[0], "Hello, World!")
cmd = "wget -q -O - http://127.0.0.1:5000/"
output, exit_code = self.emulator.run(cmd, timeout=self.timeout)
if exit_code == 0:
self.assertEqual(output[0], 'Hello, World!')
break
else:
self.assertTrue(False, "Timeout while waiting for flask server")