| #!/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 |