mirror of
https://git.code.sf.net/p/linux-ima/ima-evm-utils
synced 2025-04-27 14:22:31 +02:00

Include the list and number of crypto tests skipped in the CI output. Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
106 lines
2.1 KiB
Bash
Executable File
106 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# Copyright (c) 2020 Petr Vorel <pvorel@suse.cz>
|
|
|
|
set -e
|
|
|
|
CC="${CC:-gcc}"
|
|
CFLAGS="${CFLAGS:--Wformat -Werror=format-security -Werror=implicit-function-declaration -Werror=return-type -fno-common}"
|
|
PREFIX="${PREFIX:-$HOME/ima-evm-utils-install}"
|
|
|
|
export LD_LIBRARY_PATH="$PREFIX/lib64:$PREFIX/lib:/usr/local/lib64:/usr/local/lib"
|
|
export PATH="$PREFIX/bin:/usr/local/bin:$PATH"
|
|
|
|
title()
|
|
{
|
|
echo "===== $1 ====="
|
|
}
|
|
|
|
log_exit()
|
|
{
|
|
local ret="${3:-$?}"
|
|
local log="$1"
|
|
local msg="$2"
|
|
local prefix
|
|
|
|
echo "=== $log ==="
|
|
[ $ret -eq 0 ] || prefix="FAIL: "
|
|
cat $log
|
|
echo
|
|
echo "$prefix$msg, see output of $log above"
|
|
exit $ret
|
|
}
|
|
|
|
cd `dirname $0`
|
|
|
|
case "$VARIANT" in
|
|
i386)
|
|
echo "32-bit compilation"
|
|
export CFLAGS="-m32 $CFLAGS" LDFLAGS="-m32 $LDFLAGS"
|
|
export PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig
|
|
;;
|
|
cross-compile)
|
|
host="${CC%-gcc}"
|
|
export CROSS_COMPILE="${host}-"
|
|
host="--host=$host"
|
|
echo "cross compilation: $host"
|
|
echo "CROSS_COMPILE: '$CROSS_COMPILE'"
|
|
;;
|
|
*)
|
|
if [ "$VARIANT" ]; then
|
|
echo "Wrong VARIANT: '$VARIANT'" >&2
|
|
exit 1
|
|
fi
|
|
echo "native build"
|
|
;;
|
|
esac
|
|
|
|
title "compiler version"
|
|
$CC --version
|
|
echo "CFLAGS: '$CFLAGS'"
|
|
echo "LDFLAGS: '$LDFLAGS'"
|
|
echo "PREFIX: '$PREFIX'"
|
|
|
|
title "configure"
|
|
./autogen.sh
|
|
./configure --prefix=$PREFIX $host || log_exit config.log "configure failed"
|
|
|
|
title "make"
|
|
make -j$(nproc)
|
|
make install
|
|
|
|
title "test"
|
|
if [ "$VARIANT" = "cross-compile" ]; then
|
|
echo "skip make check on cross compilation"
|
|
exit 0
|
|
fi
|
|
|
|
ret=0
|
|
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
|
|
exit 0
|
|
fi
|
|
|
|
cat tests/test-suite.log
|
|
|
|
if [ $ret -eq 77 ]; then
|
|
msg="WARN: some tests skipped"
|
|
ret=0
|
|
else
|
|
msg="FAIL: tests exited: $ret"
|
|
fi
|
|
|
|
log_exit tests/test-suite.log "$msg" $ret
|