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 <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Glenn Washburn 2023-01-21 00:10:44 -06:00 committed by Daniel Kiper
parent 7f888b6424
commit cb7afebc36
2 changed files with 6 additions and 1 deletions

View File

@ -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"

View File

@ -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