summaryrefslogtreecommitdiffstats
path: root/support/testing
diff options
context:
space:
mode:
authorRicardo Martincoski <ricardo.martincoski@gmail.com>2018-09-25 23:55:14 -0300
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>2018-10-11 17:28:06 +0200
commit10095908701ce291578f4b1c9359ba6f8b381449 (patch)
tree99ac181d8a26908146dca6b63f60d1e38b69c82b /support/testing
parent35bcb54e1d571967df3e3c1d7c11cb2a480aaafb (diff)
downloadbuildroot-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.py54
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()
OpenPOWER on IntegriCloud