[igt-dev] [PATCH v3 05/10] scripts/code_cov_gather_on_build.sh: Improve the script
Mauro Carvalho Chehab
mauro.chehab at linux.intel.com
Wed Mar 16 14:59:58 UTC 2022
From: Mauro Carvalho Chehab <mchehab at kernel.org>
- speedup the script by allowing Sparse file detection instead
of libz compression;
- use realpath for the paths to allow running them from everywhere;
- Speedup tarball generation by limiting the source file scope to
the DRM subsystem;
- Indent with tabs instead of spaces.
Reviewed-by: Tomi Sarvela <tomi.p.sarvela at intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
---
scripts/code_cov_gather_on_build.sh | 34 +++++++++++++++++++++--------
1 file changed, 25 insertions(+), 9 deletions(-)
diff --git a/scripts/code_cov_gather_on_build.sh b/scripts/code_cov_gather_on_build.sh
index 99c436f76fb8..eebee89f9f1c 100755
--- a/scripts/code_cov_gather_on_build.sh
+++ b/scripts/code_cov_gather_on_build.sh
@@ -4,20 +4,36 @@ KSRC=$1
KOBJ=$2
DEST=$3
+# Limit scope in order to speedup tarball creation
+GCOV_SCOPE=drivers/gpu/drm/
+
if [ -z "$KSRC" ] || [ -z "$KOBJ" ] || [ -z "$DEST" ]; then
- echo "Usage: $0 <ksrc directory> <kobj directory> <output.tar.gz>" >&2
- exit 1
+ echo "Usage: $0 <ksrc directory> <kobj directory> <output.tar[.gz]>" >&2
+ exit 1
+fi
+
+if [ "x$(echo $DEST|grep '\.gz')" != "x" ]; then
+ TAR_COMPRESS="z"
+else
+ # gcno files are sparsed. So, if no compression is used, store the
+ # results as a sparse file, in order to save disk space
+ TAR_COMPRESS="S"
fi
-KSRC=$(cd $KSRC; printf "all:\n\t at echo \${CURDIR}\n" | make -f -)
-KOBJ=$(cd $KOBJ; printf "all:\n\t at echo \${CURDIR}\n" | make -f -)
+KSRC=$(realpath $KSRC)
+KOBJ=$(realpath $KOBJ)
+
+# Source files
+SRCS="${KSRC}/include ${KSRC}/arch/x86/include $(find ${KSRC}/${GCOV_SCOPE} -name '*.[ch]')"
+
+# Generated gcno files and links
+OBJS="$(find $KOBJ/${GCOV_SCOPE} \( -name '*.gcno' -o -name '*.[ch]' -o -type l \) -a -perm /u+r,g+r)"
-find $KSRC $KOBJ \( -name '*.gcno' -o -name '*.[ch]' -o -type l \) -a \
- -perm /u+r,g+r | tar cfz $DEST -P -T -
+tar cf${TAR_COMPRESS} $DEST $SRCS $OBJS
if [ $? -eq 0 ] ; then
- echo "$DEST successfully created, copy to test system and unpack with:"
- echo " tar xfz $DEST -P"
+ echo "$DEST successfully created, copy to test system and unpack with:"
+ echo " tar xf${TAR_COMPRESS} $DEST"
else
- echo "Could not create file $DEST"
+ echo "Could not create file $DEST"
fi
--
2.35.1
More information about the igt-dev
mailing list