* [Buildroot] [PATCH 1/1] support/testing: add test for python-avro
@ 2019-12-29 20:29 Titouan Christophe
2019-12-29 20:44 ` Yann E. MORIN
0 siblings, 1 reply; 2+ messages in thread
From: Titouan Christophe @ 2019-12-29 20:29 UTC (permalink / raw)
To: buildroot
This adds a test case for python-avro, with a script that
performs a simple deserialization.
Signed-off-by: Titouan Christophe <titouan.christophe@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@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
^ permalink raw reply related [flat|nested] 2+ messages in thread* [Buildroot] [PATCH 1/1] support/testing: add test for python-avro
2019-12-29 20:29 [Buildroot] [PATCH 1/1] support/testing: add test for python-avro Titouan Christophe
@ 2019-12-29 20:44 ` Yann E. MORIN
0 siblings, 0 replies; 2+ messages in thread
From: Yann E. MORIN @ 2019-12-29 20:44 UTC (permalink / raw)
To: buildroot
Titouan, All,
On 2019-12-29 21:29 +0100, Titouan Christophe spake thusly:
> This adds a test case for python-avro, with a script that
> performs a simple deserialization.
>
> Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
Thanks for the quick follow-up and for the very descriptive test-case.
Applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> .../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@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
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-12-29 20:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-29 20:29 [Buildroot] [PATCH 1/1] support/testing: add test for python-avro Titouan Christophe
2019-12-29 20:44 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox