* [Buildroot] [PATCH v2] testing: add python-cryptography tests
@ 2017-09-07 13:25 yegorslists at googlemail.com
2017-09-07 13:27 ` Yegor Yefremov
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: yegorslists at googlemail.com @ 2017-09-07 13:25 UTC (permalink / raw)
To: buildroot
From: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
Changes v1 -> v2:
- rename test file to have only '_' delimiters (suggested by Ricardo Martincoski)
- use intermediate class to avoid duplicate code (suggested by Ricardo Martincoski)
.gitlab-ci.yml | 2 ++
.../tests/package/test_python_cryptography.py | 31 ++++++++++++++++++++++
2 files changed, 33 insertions(+)
create mode 100644 support/testing/tests/package/test_python_cryptography.py
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b44c935..091b016 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -250,6 +250,8 @@ tests.package.test_ipython.TestIPythonPy2: *runtime_test
tests.package.test_ipython.TestIPythonPy3: *runtime_test
tests.package.test_python.TestPython2: *runtime_test
tests.package.test_python.TestPython3: *runtime_test
+tests.package.test_python_cryptography.TestPythonPy2Cryptography: *runtime_test
+tests.package.test_python_cryptography.TestPythonPy3Cryptography: *runtime_test
tests.toolchain.test_external.TestExternalToolchainBuildrootMusl: *runtime_test
tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc: *runtime_test
tests.toolchain.test_external.TestExternalToolchainCCache: *runtime_test
diff --git a/support/testing/tests/package/test_python_cryptography.py b/support/testing/tests/package/test_python_cryptography.py
new file mode 100644
index 0000000..b60152d
--- /dev/null
+++ b/support/testing/tests/package/test_python_cryptography.py
@@ -0,0 +1,31 @@
+import os
+
+from tests.package.test_python import TestPythonBase
+
+class TestPythonCryptography(TestPythonBase):
+ def fernet_test(self, timeout=-1):
+ cmd = self.interpreter + " -c 'from cryptography.fernet import Fernet;"
+ cmd += "key = Fernet.generate_key();"
+ cmd += "f = Fernet(key)'"
+ _, exit_code = self.emulator.run(cmd, timeout)
+ self.assertEqual(exit_code, 0)
+
+class TestPythonPy2Cryptography(TestPythonCryptography):
+ config = TestPythonBase.config + \
+"""
+BR2_PACKAGE_PYTHON=y
+BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y
+"""
+ def test_run(self):
+ self.login()
+ self.fernet_test(40)
+
+class TestPythonPy3Cryptography(TestPythonCryptography):
+ config = TestPythonBase.config + \
+"""
+BR2_PACKAGE_PYTHON3=y
+BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y
+"""
+ def test_run(self):
+ self.login()
+ self.fernet_test(40)
--
2.1.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2] testing: add python-cryptography tests
2017-09-07 13:25 [Buildroot] [PATCH v2] testing: add python-cryptography tests yegorslists at googlemail.com
@ 2017-09-07 13:27 ` Yegor Yefremov
2017-09-13 3:18 ` Ricardo Martincoski
2018-02-06 14:41 ` Thomas Petazzoni
2 siblings, 0 replies; 4+ messages in thread
From: Yegor Yefremov @ 2017-09-07 13:27 UTC (permalink / raw)
To: buildroot
On Thu, Sep 7, 2017 at 3:25 PM, <yegorslists@googlemail.com> wrote:
> From: Yegor Yefremov <yegorslists@googlemail.com>
>
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> ---
> Changes v1 -> v2:
> - rename test file to have only '_' delimiters (suggested by Ricardo Martincoski)
> - use intermediate class to avoid duplicate code (suggested by Ricardo Martincoski)
>
> .gitlab-ci.yml | 2 ++
> .../tests/package/test_python_cryptography.py | 31 ++++++++++++++++++++++
> 2 files changed, 33 insertions(+)
> create mode 100644 support/testing/tests/package/test_python_cryptography.py
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index b44c935..091b016 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -250,6 +250,8 @@ tests.package.test_ipython.TestIPythonPy2: *runtime_test
> tests.package.test_ipython.TestIPythonPy3: *runtime_test
> tests.package.test_python.TestPython2: *runtime_test
> tests.package.test_python.TestPython3: *runtime_test
> +tests.package.test_python_cryptography.TestPythonPy2Cryptography: *runtime_test
> +tests.package.test_python_cryptography.TestPythonPy3Cryptography: *runtime_test
> tests.toolchain.test_external.TestExternalToolchainBuildrootMusl: *runtime_test
> tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc: *runtime_test
> tests.toolchain.test_external.TestExternalToolchainCCache: *runtime_test
> diff --git a/support/testing/tests/package/test_python_cryptography.py b/support/testing/tests/package/test_python_cryptography.py
> new file mode 100644
> index 0000000..b60152d
> --- /dev/null
> +++ b/support/testing/tests/package/test_python_cryptography.py
> @@ -0,0 +1,31 @@
> +import os
> +
> +from tests.package.test_python import TestPythonBase
> +
> +class TestPythonCryptography(TestPythonBase):
> + def fernet_test(self, timeout=-1):
> + cmd = self.interpreter + " -c 'from cryptography.fernet import Fernet;"
> + cmd += "key = Fernet.generate_key();"
> + cmd += "f = Fernet(key)'"
> + _, exit_code = self.emulator.run(cmd, timeout)
> + self.assertEqual(exit_code, 0)
> +
> +class TestPythonPy2Cryptography(TestPythonCryptography):
> + config = TestPythonBase.config + \
> +"""
> +BR2_PACKAGE_PYTHON=y
> +BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y
> +"""
> + def test_run(self):
> + self.login()
> + self.fernet_test(40)
> +
> +class TestPythonPy3Cryptography(TestPythonCryptography):
> + config = TestPythonBase.config + \
> +"""
> +BR2_PACKAGE_PYTHON3=y
> +BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y
> +"""
> + def test_run(self):
> + self.login()
> + self.fernet_test(40)
> --
> 2.1.4
Following patch [1] is required for error less execution in Python 2
environment.
[1] http://patchwork.ozlabs.org/patch/810953/
Yegor
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2] testing: add python-cryptography tests
2017-09-07 13:25 [Buildroot] [PATCH v2] testing: add python-cryptography tests yegorslists at googlemail.com
2017-09-07 13:27 ` Yegor Yefremov
@ 2017-09-13 3:18 ` Ricardo Martincoski
2018-02-06 14:41 ` Thomas Petazzoni
2 siblings, 0 replies; 4+ messages in thread
From: Ricardo Martincoski @ 2017-09-13 3:18 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, Sep 07, 2017 at 10:25 AM, Yegor wrote:
> From: Yegor Yefremov <yegorslists@googlemail.com>
>
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
[code style follows test_python.py, let me fix both (and more) in a follow up
series if this one gets applied now]
Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Thomas,
It's up to you to apply this now or to wait for a generic solution for all
python packages. I suppose the later will take a while.
Anyway, these test cases seem to be a good base to compare against the
auto-generated test cases for python packages.
[snip]
> + def fernet_test(self, timeout=-1):
> + cmd = self.interpreter + " -c 'from cryptography.fernet import Fernet;"
> + cmd += "key = Fernet.generate_key();"
> + cmd += "f = Fernet(key)'"
> + _, exit_code = self.emulator.run(cmd, timeout)
> + self.assertEqual(exit_code, 0)
This test could be expanded to catch also the missing hashlib dependency:
out, exit_code = self.emulator.run(cmd, timeout)
self.assertEqual(exit_code, 0)
output = "\n".join(out) + "\n"
self.assertNotRegexpMatches(output, "ERROR")
but it can be done later, maybe it is only a corner case (to fail based on
output instead of only on exit code).
It would fail like this (without "bbcc673b3a python-cryptography: add missing
dependency on BR2_PACKAGE_PYTHON_HASHLIB"):
https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/32317984
Regards,
Ricardo
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2] testing: add python-cryptography tests
2017-09-07 13:25 [Buildroot] [PATCH v2] testing: add python-cryptography tests yegorslists at googlemail.com
2017-09-07 13:27 ` Yegor Yefremov
2017-09-13 3:18 ` Ricardo Martincoski
@ 2018-02-06 14:41 ` Thomas Petazzoni
2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2018-02-06 14:41 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, 7 Sep 2017 15:25:42 +0200, yegorslists at googlemail.com wrote:
> From: Yegor Yefremov <yegorslists@googlemail.com>
>
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> ---
> Changes v1 -> v2:
> - rename test file to have only '_' delimiters (suggested by Ricardo Martincoski)
> - use intermediate class to avoid duplicate code (suggested by Ricardo Martincoski)
Applied to next, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-02-06 14:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-07 13:25 [Buildroot] [PATCH v2] testing: add python-cryptography tests yegorslists at googlemail.com
2017-09-07 13:27 ` Yegor Yefremov
2017-09-13 3:18 ` Ricardo Martincoski
2018-02-06 14:41 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox