[igt-dev] [PATCH v3 06/10] scripts/code_cov_capture.sh: add a script to use lcov on build+test machine

Mauro Carvalho Chehab mauro.chehab at linux.intel.com
Wed Mar 16 14:59:59 UTC 2022


From: Mauro Carvalho Chehab <mchehab at kernel.org>

When the test machine is also the build machine, it is possible to run
lcov directly on it. That makes the IGT tests faster, as it won't need
to generate a results tarball, and the produced results will be
independent on the Kernel object files, making the output files more
portable.

It should be noticed that, in order to generate html files, the Kernel
source will still be needed, due to the detailed view.

Reviewed-by: Tomi Sarvela <tomi.p.sarvela at intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
---
 scripts/code_cov_capture.sh | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100755 scripts/code_cov_capture.sh

diff --git a/scripts/code_cov_capture.sh b/scripts/code_cov_capture.sh
new file mode 100755
index 000000000000..8662b0f145b8
--- /dev/null
+++ b/scripts/code_cov_capture.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+trap 'catch $LINENO' ERR
+catch() {
+	echo "$0: error on line $1. Code coverage not stored." >&2
+	exit 1
+}
+
+if [ -z "$IGT_KERNEL_TREE" ] ; then
+	echo "Error! IGT_KERNEL_TREE environment var was not defined." >&2
+	exit 1
+fi
+
+if [ -z "$1" ] ; then
+	echo "Usage: $0 <output>" >&2
+	echo "   Please notice that this script assumes $IGT_KERNEL_TREE is used as both Kernel source and object dir." >&2
+	exit 1
+fi
+
+lcov -q --rc lcov_branch_coverage=1 \
+	--test-name "$(basename $1)" -b $IGT_KERNEL_TREE --capture \
+	--output-file $1.info
+
+uptime=$(cat /proc/uptime|cut -d' ' -f 1)
+echo "[$uptime]     Code coverage wrote to $1.info"
-- 
2.35.1



More information about the igt-dev mailing list