support/testing: add python-django test
This test comprises of four simple steps: 1: Start a new simple project called testsite. 2: Run ./manage.py migrate on the new testsite. 3: Run ./manage.py runserver 0.0.0.0:1234 & sleep 30 - The sleep 30 is necessary as it may take several seconds for the django server to fully start. 4: Run netstat to ensure the server opened port 1234. Signed-off-by: Adam Duskett <aduskett@greenlots.com> [Thomas: use self.assertRunOk() when appropriate] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
f58ffc49ce
commit
8583b2c6d8
@ -448,6 +448,7 @@ tests.package.test_python_constantly.TestPythonPy3Constantly: { extends: .runtim
|
||||
tests.package.test_python_crossbar.TestPythonPy3Crossbar: { extends: .runtime_test }
|
||||
tests.package.test_python_cryptography.TestPythonPy2Cryptography: { extends: .runtime_test }
|
||||
tests.package.test_python_cryptography.TestPythonPy3Cryptography: { extends: .runtime_test }
|
||||
tests.package.test_python_django.TestPythonPy3Django: { extends: .runtime_test }
|
||||
tests.package.test_python_incremental.TestPythonPy2Incremental: { extends: .runtime_test }
|
||||
tests.package.test_python_incremental.TestPythonPy3Incremental: { extends: .runtime_test }
|
||||
tests.package.test_python_passlib.TestPythonPy2Passlib: { extends: .runtime_test }
|
||||
|
1
support/testing/tests/package/sample_python_django.py
Normal file
1
support/testing/tests/package/sample_python_django.py
Normal file
@ -0,0 +1 @@
|
||||
import django # noqa: F401
|
32
support/testing/tests/package/test_python_django.py
Normal file
32
support/testing/tests/package/test_python_django.py
Normal file
@ -0,0 +1,32 @@
|
||||
from tests.package.test_python import TestPythonPackageBase
|
||||
|
||||
|
||||
class TestPythonDjango(TestPythonPackageBase):
|
||||
config = TestPythonPackageBase.config
|
||||
sample_scripts = ["tests/package/sample_python_django.py"]
|
||||
|
||||
def run_sample_scripts(self):
|
||||
cmd = "cd /opt && /usr/bin/django-admin startproject testsite"
|
||||
self.assertRunOk(cmd, timeout=30)
|
||||
|
||||
cmd = "cd /opt/testsite && " + self.interpreter + " ./manage.py migrate"
|
||||
output, exit_code = self.emulator.run(cmd, timeout=30)
|
||||
self.assertIn("Operations to perform:", output[0])
|
||||
self.assertEqual(exit_code, 0)
|
||||
|
||||
cmd = "cd /opt/testsite && " + self.interpreter + " ./manage.py runserver 0.0.0.0:1234 & "
|
||||
# give some time to setup the server
|
||||
cmd += "sleep 30"
|
||||
self.assertRunOk(cmd, timeout=35)
|
||||
|
||||
cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234"
|
||||
self.assertRunOk(cmd)
|
||||
|
||||
class TestPythonPy3Django(TestPythonDjango):
|
||||
__test__ = True
|
||||
config = TestPythonDjango.config + \
|
||||
"""
|
||||
BR2_PACKAGE_PYTHON3=y
|
||||
BR2_PACKAGE_PYTHON_DJANGO=y
|
||||
BR2_PACKAGE_PYTHON3_SQLITE=y
|
||||
"""
|
Loading…
Reference in New Issue
Block a user