python3-cryptography: use python3-unittest-automake-output

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.

(From OE-Core rev: f22b60676159f729c081ba62fba4642629daa914)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2023-03-21 12:37:35 +00:00
committed by Richard Purdie
parent c2a663ebd7
commit 60e764f772
3 changed files with 8 additions and 2 deletions

View File

@@ -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))

View File

@@ -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 'not bench'
else
echo "SKIP: crytography.not_enough_memory"
fi