From eb09764903800a2858598b05859023e654910d12 Mon Sep 17 00:00:00 2001 From: Josh Durgin Date: Mon, 6 Jun 2011 13:52:35 -0700 Subject: [PATCH] coverage: add helper script to get coverage for a local test Signed-off-by: Josh Durgin --- src/test/coverage.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 src/test/coverage.sh diff --git a/src/test/coverage.sh b/src/test/coverage.sh new file mode 100755 index 0000000000000..31b6e7e9ca973 --- /dev/null +++ b/src/test/coverage.sh @@ -0,0 +1,29 @@ +#!/bin/sh +set -e + +usage () { + printf '%s: usage: %s [-d srcdir] [-o output_basename] COMMAND [ARGS..]\n' "$(basename "$0")" "$(basename "$0")" 1>&2 + exit 1 +} + +OUTPUT_BASENAME=coverage +SRCDIR=. + +while getopts "d:o:h" flag +do + case $flag in + d) SRCDIR=$OPTARG;; + o) OUTPUT_BASENAME=$OPTARG;; + *) usage;; + esac +done + +shift $(($OPTIND - 1)) + +lcov -d $SRCDIR -z > /dev/null 2>&1 +lcov -d $SRCDIR -c -i -o "${OUTPUT_BASENAME}_base_full.info" > /dev/null 2>&1 +"$@" +lcov -d $SRCDIR -c -o "${OUTPUT_BASENAME}_tested_full.info" > /dev/null 2>&1 +lcov -r "${OUTPUT_BASENAME}_base_full.info" /usr/include\* -o "${OUTPUT_BASENAME}_base.info" > /dev/null 2>&1 +lcov -r "${OUTPUT_BASENAME}_tested_full.info" /usr/include\* -o "${OUTPUT_BASENAME}_tested.info" > /dev/null 2>&1 +lcov -a "${OUTPUT_BASENAME}_base.info" -a "${OUTPUT_BASENAME}_tested.info" -o "${OUTPUT_BASENAME}.info" | tail -n 3 -- 2.39.5