diff options
Diffstat (limited to 'support/testing/tests/package/test_python_twisted.py')
-rw-r--r-- | support/testing/tests/package/test_python_twisted.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/support/testing/tests/package/test_python_twisted.py b/support/testing/tests/package/test_python_twisted.py new file mode 100644 index 0000000000..ccee07d61d --- /dev/null +++ b/support/testing/tests/package/test_python_twisted.py @@ -0,0 +1,54 @@ +from tests.package.test_python import TestPythonBase + +TEST_SCRIPT = """ +from twisted.internet import protocol, reactor, endpoints +class F(protocol.Factory): + pass +endpoints.serverFromString(reactor, "tcp:1234").listen(F()) +reactor.run() +""" + + +class TestPythonTwisted(TestPythonBase): + def import_test(self): + cmd = "printf '{}' > test.py".format(TEST_SCRIPT) + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 1) + + cmd = self.interpreter + " test.py &" + # give some time to setup the server + cmd += "sleep 30" + _, exit_code = self.emulator.run(cmd, timeout=35) + self.assertEqual(exit_code, 0) + + cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + +class TestPythonPy2Twisted(TestPythonTwisted): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ + + def test_run(self): + self.login() + self.import_test() + + +class TestPythonPy3Twisted(TestPythonTwisted): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ + + def test_run(self): + self.login() + self.import_test() |