support/testing: use TestPythonPackageBase for python-twisted

Move the test script to be run on the target from inline in the test
case to a separate file.

Get the base defconfig fragment from the immediate parent class and not
directly from TestPythonBase because it is the correct way of doing
this. This way the base class TestPythonTwisted could even be placed in
a separate file.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Asaf Kahlon <asafka7@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Ricardo Martincoski 2018-11-10 00:16:06 -02:00 committed by Thomas Petazzoni
parent ee6b37cf87
commit 0f98e58cac
2 changed files with 19 additions and 25 deletions

View File

@ -0,0 +1,9 @@
from twisted.internet import protocol, reactor, endpoints
class F(protocol.Factory):
pass
endpoints.serverFromString(reactor, "tcp:1234").listen(F())
reactor.run()

View File

@ -1,25 +1,16 @@
from tests.package.test_python import TestPythonBase from tests.package.test_python import TestPythonPackageBase
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): class TestPythonTwisted(TestPythonPackageBase):
def import_test(self): config = TestPythonPackageBase.config
cmd = "printf '{}' > test.py".format(TEST_SCRIPT) sample_scripts = ["tests/package/sample_python_twisted.py"]
_, exit_code = self.emulator.run(cmd)
self.assertEqual(exit_code, 0)
def run_sample_scripts(self):
cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234"
_, exit_code = self.emulator.run(cmd) _, exit_code = self.emulator.run(cmd)
self.assertEqual(exit_code, 1) self.assertEqual(exit_code, 1)
cmd = self.interpreter + " test.py &" cmd = self.interpreter + " sample_python_twisted.py &"
# give some time to setup the server # give some time to setup the server
cmd += "sleep 30" cmd += "sleep 30"
_, exit_code = self.emulator.run(cmd, timeout=35) _, exit_code = self.emulator.run(cmd, timeout=35)
@ -31,24 +22,18 @@ class TestPythonTwisted(TestPythonBase):
class TestPythonPy2Twisted(TestPythonTwisted): class TestPythonPy2Twisted(TestPythonTwisted):
config = TestPythonBase.config + \ __test__ = True
config = TestPythonTwisted.config + \
""" """
BR2_PACKAGE_PYTHON=y BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_TWISTED=y BR2_PACKAGE_PYTHON_TWISTED=y
""" """
def test_run(self):
self.login()
self.import_test()
class TestPythonPy3Twisted(TestPythonTwisted): class TestPythonPy3Twisted(TestPythonTwisted):
config = TestPythonBase.config + \ __test__ = True
config = TestPythonTwisted.config + \
""" """
BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON_TWISTED=y BR2_PACKAGE_PYTHON_TWISTED=y
""" """
def test_run(self):
self.login()
self.import_test()