Unlike the original ima-evm-utils ima_hash.test and sign_verify.test selftests, kernel tests may fail for any number of reasons (e.g. kernel config, permissions, missing applications, test infrastructure). For these tests, the full test log is needed to analyze the failure. Create a phony target in tests/Makefile.am named "check-logs". Based on test name, output different amounts of the test log. Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxx> --- [Applies on top of Roberto's "v3 Support testing in new enviroments" patch set.] build.sh | 23 +---------------------- tests/Makefile.am | 13 +++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/build.sh b/build.sh index 0920599b2780..c226dd1f1773 100755 --- a/build.sh +++ b/build.sh @@ -97,28 +97,7 @@ VERBOSE=1 make check || ret=$? title "logs" if [ $ret -eq 0 ]; then - if [ -f tests/ima_hash.log ]; then - tail -3 tests/ima_hash.log - grep "skipped" tests/ima_hash.log && \ - grep "skipped" tests/ima_hash.log | wc -l - fi - if [ -f tests/sign_verify.log ]; then - tail -3 tests/sign_verify.log - grep "skipped" tests/sign_verify.log && \ - grep "skipped" tests/sign_verify.log | wc -l - fi - tail -20 tests/boot_aggregate.log - - if [ -f tests/fsverity.log ]; then - [ -n "$CI" ] && cat tests/fsverity.log || tail tests/fsverity.log - grep "skipped" tests/fsverity.log && \ - grep "skipped" tests/fsverity.log | wc -l - fi - if [ -f tests/portable_signatures.log ]; then - [ -n "$CI" ] && cat tests/portable_signatures.log || tail tests/portable_signatures.log - grep "skipped" tests/portable_signatures.log && \ - grep "skipped" tests/portable_signatures.log | wc -l - fi + cd tests; make check_logs; cd .. exit 0 fi diff --git a/tests/Makefile.am b/tests/Makefile.am index 421fac577b55..a0463b7b5b5d 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -4,6 +4,19 @@ TESTS = $(check_SCRIPTS) check_SCRIPTS += ima_hash.test sign_verify.test boot_aggregate.test \ fsverity.test portable_signatures.test +.PHONY: check_logs +check_logs: + @for log in $(TEST_LOGS); do \ + echo -e "\n***" $$log "***" ; \ + case $$log in \ + ima_hash.log | sign_verify.log ) \ + tail -3 $$log ; \ + grep "skipped" $$log && grep "skipped" $$log | wc -l ;; \ + *) \ + cat $$log ;; \ + esac ; \ + done + clean-local: -rm -f *.txt *.out *.sig *.sig2 -- 2.31.1