diff options
author | Ricardo Martincoski <ricardo.martincoski@gmail.com> | 2018-09-25 23:55:14 -0300 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@bootlin.com> | 2018-10-11 17:28:06 +0200 |
commit | 10095908701ce291578f4b1c9359ba6f8b381449 (patch) | |
tree | 99ac181d8a26908146dca6b63f60d1e38b69c82b /support/testing | |
parent | 35bcb54e1d571967df3e3c1d7c11cb2a480aaafb (diff) | |
download | buildroot-10095908701ce291578f4b1c9359ba6f8b381449.tar.gz buildroot-10095908701ce291578f4b1c9359ba6f8b381449.zip |
support/testing: add python-twisted tests
Use a minimal script to listen to a port and check using netstat.
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Asaf Kahlon <asafka7@gmail.com>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
[Thomas: increase the delay after starting the Twisted server, as 5
seconds was not enough for Python 3.x configurations.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Diffstat (limited to 'support/testing')
-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() |