[Buildroot] [PATCH 1/1] support/testing: add test for python-avro

Titouan Christophe titouan.christophe at railnova.eu
Sun Dec 29 20:29:12 UTC 2019


This adds a test case for python-avro, with a script that
performs a simple deserialization.

Signed-off-by: Titouan Christophe <titouan.christophe at railnova.eu>
---
 .../tests/package/sample_python_avro.py       | 23 +++++++++++++++++++
 .../testing/tests/package/test_python_avro.py | 11 +++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 support/testing/tests/package/sample_python_avro.py
 create mode 100644 support/testing/tests/package/test_python_avro.py

diff --git a/support/testing/tests/package/sample_python_avro.py b/support/testing/tests/package/sample_python_avro.py
new file mode 100644
index 0000000000..79d2dcdb22
--- /dev/null
+++ b/support/testing/tests/package/sample_python_avro.py
@@ -0,0 +1,23 @@
+from io import BytesIO
+from avro.schema import Parse
+from avro.io import DatumReader, BinaryDecoder
+
+schema = Parse("""{
+"namespace": "org.buildroot.package.python_avro",
+"type": "record",
+"name": "Developer",
+"fields": [
+    {"name": "email", "type": "string"},
+    {"name": "maintainer_of", "type": "string"}
+]
+}""")
+
+example = b'<titouan.christophe at railnova.eu\x16python_avro'
+
+reader = DatumReader(schema)
+deserialized = reader.read(BinaryDecoder(BytesIO(example)))
+
+assert deserialized == {
+    'email': 'titouan.christophe at railnova.eu',
+    'maintainer_of': 'python_avro',
+}
diff --git a/support/testing/tests/package/test_python_avro.py b/support/testing/tests/package/test_python_avro.py
new file mode 100644
index 0000000000..6eee2760da
--- /dev/null
+++ b/support/testing/tests/package/test_python_avro.py
@@ -0,0 +1,11 @@
+from tests.package.test_python import TestPythonPackageBase
+
+
+class TestPythonAvro(TestPythonPackageBase):
+    __test__ = True
+    config = TestPythonPackageBase.config + \
+        """
+        BR2_PACKAGE_PYTHON3=y
+        BR2_PACKAGE_PYTHON_AVRO=y
+        """
+    sample_scripts = ["tests/package/sample_python_avro.py"]
-- 
2.23.0



More information about the buildroot mailing list