From cb7afebc362219a8f595658a3059d75e1988e8a6 Mon Sep 17 00:00:00 2001 From: Glenn Washburn Date: Sat, 21 Jan 2023 00:10:44 -0600 Subject: [PATCH] tests: Allow turning on shell tracing from environment variables This allows turning on shell tracing for grub-shell and grub-fs-tester when its not practical or not possible to use command line arguments (e.g. from "make check"). Turn on tracing when the envvar is an integer greater than 1, since these can generate a lot of output. Since this change uses the environment variables to set the default value for debug in grub-shell, this allows enabling grub-shell's debug mode which will preserve various generated output files that are helpful for debugging tests. Signed-off-by: Glenn Washburn Reviewed-by: Daniel Kiper --- tests/util/grub-fs-tester.in | 2 ++ tests/util/grub-shell.in | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in index 3fbec2c25..63a38ec2b 100644 --- a/tests/util/grub-fs-tester.in +++ b/tests/util/grub-fs-tester.in @@ -6,6 +6,8 @@ export BLKID_FILE=/dev/null # We can't have this set, or filesystem tests will fail. unset SOURCE_DATE_EPOCH +[ "${GRUB_TEST_DEFAULT_DEBUG:-0}" -gt 1 ] && set -x + fs="$1" GRUBFSTEST="@builddir@/grub-fstest" diff --git a/tests/util/grub-shell.in b/tests/util/grub-shell.in index f5a6e822f..60494bcf1 100644 --- a/tests/util/grub-shell.in +++ b/tests/util/grub-shell.in @@ -216,6 +216,7 @@ esac timeout=60 mkimage_extra_arg= +debug=${GRUB_SHELL_DEFAULT_DEBUG:-$GRUB_TEST_DEFAULT_DEBUG} # Check the arguments. for option in "$@"; do @@ -235,7 +236,7 @@ for option in "$@"; do --no-trim) trim=0 ;; --debug) - debug=1 ;; + debug=$((debug+1)) ;; --modules=*) ms=`echo "$option" | sed -e 's/--modules=//' -e 's/,/ /g'` modules="$modules $ms" ;; @@ -320,6 +321,8 @@ for option in "$@"; do esac done +[ "${debug:-0}" -gt 1 ] && set -x + if [ "x${source}" = x ] ; then tmpfile="$work_directory/testcase.cfg" while read REPLY; do