support/tests: add runtime test for python-rpi-gpio
authorYann E. MORIN <yann.morin.1998@free.fr>
Fri, 21 Aug 2020 16:35:31 +0000 (18:35 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 23 Aug 2020 21:29:55 +0000 (23:29 +0200)
Modeled after similar python packages.

However, this one is picky, and throws an exception when it
detects that it is not running on a Raspberry Pi. So we just
catch that exception and check this is what we expect.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Christian Stewart <christian@paral.in>
Cc: Michael Fischer <mf@go-sys.de>
Cc: Asaf Kahlon <asafka7@gmail.com>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Cc: Ian Haylock <haylocki@yahoo.co.uk>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
support/testing/tests/package/sample_python_rpi_gpio.py [new file with mode: 0644]
support/testing/tests/package/test_python_rpi_gpio.py [new file with mode: 0644]

diff --git a/support/testing/tests/package/sample_python_rpi_gpio.py b/support/testing/tests/package/sample_python_rpi_gpio.py
new file mode 100644 (file)
index 0000000..5f0d884
--- /dev/null
@@ -0,0 +1,6 @@
+try:
+    import RPi.GPIO  # noqa
+except RuntimeError as e:
+    assert(str(e) == 'This module can only be run on a Raspberry Pi!')
+else:
+    raise RuntimeError('Import succeeded when it should not have!')
diff --git a/support/testing/tests/package/test_python_rpi_gpio.py b/support/testing/tests/package/test_python_rpi_gpio.py
new file mode 100644 (file)
index 0000000..c938ea3
--- /dev/null
@@ -0,0 +1,11 @@
+from tests.package.test_python import TestPythonPackageBase
+
+
+class TestPythonPy3RpiGpio(TestPythonPackageBase):
+    __test__ = True
+    config = TestPythonPackageBase.config + \
+        """
+        BR2_PACKAGE_PYTHON3=y
+        BR2_PACKAGE_PYTHON_RPI_GPIO=y
+        """
+    sample_scripts = ["tests/package/sample_python_rpi_gpio.py"]