diff mbox series

[v2,07/17] python3-cryptography: use python3-unittest-automake-output

Message ID 20230321123745.1248462-7-ross.burton@arm.com
State Accepted, archived
Commit f22b60676159f729c081ba62fba4642629daa914
Headers show
Series [v2,01/17] python3-numpy: add missing dependency for the tests | expand

Commit Message

Ross Burton March 21, 2023, 12:37 p.m. UTC
Instead of using sed to reformat the output use this new module.

This shows that the previous sed expression wasn't sufficient because it
didn't handle tests throwing an error, and now the bench/ tests fail
because we don't have pytest-benchmark.  These tests are more of a
benchmark than a unit test, so just skip them.

Also show a skip message instead of nothing if the tests were skipped
due to a lack of memory.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../python/python3-cryptography/check-memfree.py           | 2 +-
 .../recipes-devtools/python/python3-cryptography/run-ptest | 7 ++++++-
 .../recipes-devtools/python/python3-cryptography_39.0.2.bb | 1 +
 3 files changed, 8 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/meta/recipes-devtools/python/python3-cryptography/check-memfree.py b/meta/recipes-devtools/python/python3-cryptography/check-memfree.py
index c111a9074c1..ed680d8d5b9 100755
--- a/meta/recipes-devtools/python/python3-cryptography/check-memfree.py
+++ b/meta/recipes-devtools/python/python3-cryptography/check-memfree.py
@@ -4,7 +4,7 @@  import sys
 meminfo = dict((i.split()[0].rstrip(':'),int(i.split()[1])) for i in open('/proc/meminfo').readlines())
 mem_free = meminfo['MemTotal']/1024./1024.
 if mem_free < 2.:
-    raise RuntimeError("Insufficient free memory({:.3f}): requires > 2 GB".format(mem_free))
+    print("Insufficient free memory({:.3f}): requires > 2 GB".format(mem_free))
     sys.exit(1)
 else:
     print("Free memory: {:.3f} GB".format(mem_free))
diff --git a/meta/recipes-devtools/python/python3-cryptography/run-ptest b/meta/recipes-devtools/python/python3-cryptography/run-ptest
index 3089df87819..0954b264a23 100644
--- a/meta/recipes-devtools/python/python3-cryptography/run-ptest
+++ b/meta/recipes-devtools/python/python3-cryptography/run-ptest
@@ -1,4 +1,9 @@ 
 #!/bin/sh
+
 if ./check-memfree.py; then
-    pytest -vvvv tests/ -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+    # Skip the bench test module, we don't yet have pytest3-benchmark in core
+    # and these are more benchmarks than unit tests.
+    pytest --automake -k bench
+else
+    echo "SKIP: crytography.not_enough_memory"
 fi
diff --git a/meta/recipes-devtools/python/python3-cryptography_39.0.2.bb b/meta/recipes-devtools/python/python3-cryptography_39.0.2.bb
index 4b591bc59bf..449e3ba1bcc 100644
--- a/meta/recipes-devtools/python/python3-cryptography_39.0.2.bb
+++ b/meta/recipes-devtools/python/python3-cryptography_39.0.2.bb
@@ -43,6 +43,7 @@  RDEPENDS:${PN}-ptest += " \
     ${PYTHON_PN}-pretend \
     ${PYTHON_PN}-psutil \
     ${PYTHON_PN}-pytest \
+    ${PYTHON_PN}-unittest-automake-output \
     ${PYTHON_PN}-pytest-subtests \
     ${PYTHON_PN}-pytz \
 "