12345678910111213141516171819202122232425262728293031323334 |
- import time
- from tests.package.test_python import TestPythonPackageBase
- class TestPythonWaitress(TestPythonPackageBase):
- __test__ = True
- config = TestPythonPackageBase.config + \
- """
- BR2_PACKAGE_PYTHON3=y
- BR2_PACKAGE_PYTHON_FLASK=y
- BR2_PACKAGE_PYTHON_WAITRESS=y
- """
- sample_scripts = ["tests/package/sample_python_flask.py"]
- def test_run(self):
- self.login()
- self.check_sample_scripts_exist()
- cmd = self.interpreter + " -m waitress sample_python_flask:app > /dev/null 2>&1 &"
- # give some time to setup the server
- _, exit = self.emulator.run(cmd, timeout=self.timeout)
- # Give enough time for the uvicorn server to start up
- for attempt in range(30):
- time.sleep(1)
- cmd = "wget -q -O - http://127.0.0.1:8080/"
- 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 waitress server")
|