grub/tests/iso9660_test.in
Leo Sandoval bf13fed5fe tests: Skip tests if required tools are not available
There is no reason to fail a test if the required testing tool is not
present on the system, so skip the test instead of failing it.

Signed-off-by: Leo Sandoval <lsandova@redhat.com>
Reviewed-by: Andrew Hamilton <adhamilt@gmail.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2025-11-06 19:27:06 +01:00

54 lines
1.7 KiB
Plaintext

#!@BUILD_SHEBANG@
set -e
if ! which xorriso >/dev/null 2>&1; then
echo "xorriso not installed; cannot test iso9660."
exit 77
fi
"@builddir@/grub-fs-tester" joliet
"@builddir@/grub-fs-tester" rockridge
"@builddir@/grub-fs-tester" rockridge_joliet
"@builddir@/grub-fs-tester" joliet_1999
"@builddir@/grub-fs-tester" rockridge_1999
"@builddir@/grub-fs-tester" rockridge_joliet_1999
echo "Testing for proper recognition of CE loops ... "
for fs in iso9660_ce_loop iso9660_ce_loop2; do
tempdir=`mktemp -d "${TMPDIR:-/tmp}/${0##*/}.$(date '+%Y%m%d%H%M%S%N').${fs}.XXX"` ||
{ echo "Failed to make temporary directory"; exit 99; }
gunzip <"$srcdir"/tests/${fs}.iso.gz >"${tempdir}/${fs}.iso" || exit 99
output=$(LC_ALL=C timeout -s KILL "60" \
"@builddir@/grub-fstest" "${tempdir}/${fs}.iso" ls / ) || ret=$?
rm -rf "$tempdir"
if [ "${ret:-0}" -ne 0 -o -n "$output" ]; then
echo "FAIL ($fs)"
exit 1
fi
done
echo "PASS"
echo "Testing for proper handling of early CE ... "
fs=iso9660_early_ce
tempdir=`mktemp -d "${TMPDIR:-/tmp}/${0##*/}.$(date '+%Y%m%d%H%M%S%N').${fs}.XXX"` ||
{ echo "Failed to make temporary directory"; exit 99; }
gunzip <"$srcdir"/tests/${fs}.iso.gz >"${tempdir}/${fs}.iso" || exit 99
ret=0
output=$(LC_ALL=C timeout -s KILL "60" \
"@builddir@/grub-fstest" "${tempdir}/${fs}.iso" ls / ) || ret=$?
rm -rf "$tempdir"
if [ "${ret:-0}" -ne 0 ]; then
echo "... grub-fstest returns $ret"
echo "FAIL ($fs)"
exit 1
fi
# Before comparing: remove trailing blank added by grub-fstest
output=$(echo -n $output)
if [ x"$output" != x"RockRidgeName:x" ]; then
echo "... found: '$output' , expected: 'RockRidgeName:x'"
echo "FAIL ($fs)"
exit 1
fi
echo "PASS"