historical/m0-applesillicon.git/xnu-qemu-arm64-5.1.0/roms/skiboot/test/make-boot-coverage-report.sh
2024-01-16 11:20:27 -06:00

35 lines
933 B
Bash

#!/bin/bash
# We cheat and do this in a shell script so I don't go Makefile crazy.
SKIBOOT_GCOV_ADDR=$(perl -e "printf '0x%x', 0x30000000 + 0x$(grep gcov_info_list skiboot.map|cut -f 1 -d ' ')")
LCOV_INFO_FILES=""
function process_dump {
./extract-gcov $1 $SKIBOOT_GCOV_ADDR
lcov -q -b . -d . -c -o $2 --gcov-tool ${CROSS}gcov
LCOV_INFO_FILES="$LCOV_INFO_FILES -a $2"
find .|grep '\.gcda$'|xargs rm -f
}
find .|grep '\.gcda$'|xargs rm -f
for i in $BOOT_TESTS; do
if [ -f ./external/mambo/skiboot-$i.dump ]; then
process_dump ./external/mambo/skiboot-$i.dump skiboot-$i.info
fi
if [ -f ./skiboot-$i.dump ]; then
process_dump ./skiboot-$i.dump skiboot-$i.info
fi
done
if [ -z "$LCOV_INFO_FILES" ]; then
echo "ERROR: no lcov files found"
exit 1;
fi
lcov -q -b . -d . --gcov-tool ${CROSS}gcov -o skiboot-boot.info $LCOV_INFO_FILES
genhtml -o boot-coverage-report skiboot-boot.info