summaryrefslogtreecommitdiffstats
path: root/scripts/generate_test_coverage.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 12:52:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 12:52:13 +0000
commitf8e5c55a036f0e2e2a958e30456270f3f9eba933 (patch)
tree4a06ff510774a7a3373e492df4e2984d7b0664b1 /scripts/generate_test_coverage.sh
parentInitial commit. (diff)
downloadsudo-f8e5c55a036f0e2e2a958e30456270f3f9eba933.tar.xz
sudo-f8e5c55a036f0e2e2a958e30456270f3f9eba933.zip
Adding upstream version 1.9.5p2.upstream/1.9.5p2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rwxr-xr-xscripts/generate_test_coverage.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/scripts/generate_test_coverage.sh b/scripts/generate_test_coverage.sh
new file mode 100755
index 0000000..8825865
--- /dev/null
+++ b/scripts/generate_test_coverage.sh
@@ -0,0 +1,28 @@
+#! /bin/bash
+
+# This script is meant as an example on how to generate test coverage information
+# It is meant to be executed from an empty build directory like:
+# Usage: <path to the script>/generate_test_coverage.sh [some extra configure options]
+
+# Example:
+# mkdir -p build
+# cd build
+# ../generate_test_coverage.sh --enable-python
+
+script_dir=$(dirname "$0")
+CONFIGURE=${CONFIGURE:-${script_dir}/configure}
+LCOV=${LCOV:-lcov}
+GENHTML=${GENHTML:-genhtml}
+
+echo "Using configure: $CONFIGURE (Override with CONFIGURE environment variable)"
+echo "Extra configure options: $@ (Override with script arguments)"
+echo "Using lcov: $LCOV (Override with LCOV environment variable)"
+echo "Using genhtml: $GENHTML (Override with GENHTML environment variable)"
+echo
+
+"$CONFIGURE" "$@" CFLAGS="--coverage -fprofile-arcs -ftest-coverage -O0" LDFLAGS="-lgcov"
+make
+make check
+"${LCOV}" -c --directory . --output-file coverage.info --rc "geninfo_adjust_src_path = $PWD => $script_dir"
+"${GENHTML}" coverage.info --output-directory test_coverage
+echo "Test coverage can be found at: test_coverage/index.html"