aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSubramanya Swamy <subramanya.swamy.linux@gmail.com>2024-01-29 10:22:32 +0100
committerPetr Vorel <pvorel@suse.cz>2024-01-29 17:49:29 +0100
commit885abb886840a2e3eab964b8d29f858904aac006 (patch)
tree0264f746ec8c968d41bec8c7181741e1c513fca3
parente5970b2e64c3add251bed820f93443322b1eda05 (diff)
downloadltp-885abb886840a2e3eab964b8d29f858904aac006.tar.gz
isofs.sh: Test genisoimage, xorriso and mksisofs
Run test an all 3 tools: genisoimage, xorriso and mksisofs. mkisofs, genisoimage and xorriso tools are present as separate tools in some distros while in others they are symlinks to one another. Tests are skipped on symlinks. mkisofs supports only -hfs option genisoimage supports both -hfs and -hfsplus options xorrisofs supports only -hfsplus option This actually fixes xorrisofs on CentOS which is a symlink to mkisofs and because it does not supports -hfs test IMHO fails. Link: https://lore.kernel.org/ltp/20240129092232.599010-1-pvorel@suse.cz/ Co-Authored-By: Petr Vorel <pvorel@suse.cz> Reviewed-by: Petr Vorel <pvorel@suse.cz> Reviewed-by: Cyril Hrubis <chrubis@suse.cz> Signed-off-by: Subramanya Swamy <subramanya.swamy.linux@gmail.com> Signed-off-by: Petr Vorel <pvorel@suse.cz>
-rwxr-xr-xtestcases/kernel/fs/iso9660/isofs.sh49
1 files changed, 31 insertions, 18 deletions
diff --git a/testcases/kernel/fs/iso9660/isofs.sh b/testcases/kernel/fs/iso9660/isofs.sh
index dfa4ac73d..d1a362d97 100755
--- a/testcases/kernel/fs/iso9660/isofs.sh
+++ b/testcases/kernel/fs/iso9660/isofs.sh
@@ -1,7 +1,7 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (c) International Business Machines Corp., 2003
-# Copyright (c) Linux Test Project, 2016-2021
+# Copyright (c) Linux Test Project, 2016-2024
# Written by Prakash Narayana (prakashn@us.ibm.com)
# and Michael Reed (mreed10@us.ibm.com)
#
@@ -11,23 +11,12 @@
TST_NEEDS_CMDS="mount umount"
TST_NEEDS_TMPDIR=1
-TST_SETUP=setup
TST_TESTFUNC=do_test
+TST_CNT=3
MAX_DEPTH=3
MAX_DIRS=4
-setup()
-{
- if tst_cmd_available mkisofs; then
- MKISOFS_CMD="mkisofs"
- elif tst_cmd_available genisoimage; then
- MKISOFS_CMD="genisoimage"
- else
- tst_brk TCONF "please install mkisofs or genisoimage"
- fi
-}
-
gen_fs_tree()
{
local cur_path="$1"
@@ -50,10 +39,33 @@ do_test()
local make_file_sys_dir="$PWD/files"
local mkisofs_opt mount_opt
+ case $1 in
+ 1) MKISOFS_CMD="mkisofs"
+ HFSOPT="-hfs -D"
+ GREPOPT="mkisofs";;
+ 2) MKISOFS_CMD="genisoimage"
+ HFSOPT="-hfsplus -D -hfs -D"
+ GREPOPT="genisoimage";;
+ 3) MKISOFS_CMD="xorrisofs"
+ HFSOPT="-hfsplus -D"
+ GREPOPT="xorriso";;
+ esac
+
+ if ! tst_cmd_available $MKISOFS_CMD; then
+ tst_res TCONF "Missing '$MKISOFS_CMD'"
+ return
+ fi
+
+ if ! $MKISOFS_CMD 2>&1 | head -n 2 | grep -q "$GREPOPT"; then
+ tst_res TCONF "'$MKISOFS_CMD' is a symlink to another tool"
+ return
+ fi
+
+ tst_res TINFO "Testing $MKISOFS_CMD"
+
mkdir -p -m 777 $mnt_point
mkdir -p $make_file_sys_dir
- # Generated directories and files
mkdir -p $make_file_sys_dir
gen_fs_tree "$make_file_sys_dir" 1
@@ -62,15 +74,16 @@ do_test()
for mkisofs_opt in \
" " \
"-J" \
- "-hfs -D" \
+ "$HFSOPT" \
" -R " \
"-R -J" \
"-f -l -D -J -allow-leading-dots -R" \
- "-allow-lowercase -allow-multidot -iso-level 3 -f -l -D -J -allow-leading-dots -R"
+ "-allow-lowercase -allow-multidot -iso-level 3 -f -l -D -J \
+ -allow-leading-dots -R"
do
rm -f isofs.iso
- EXPECT_PASS $MKISOFS_CMD -o isofs.iso -quiet $mkisofs_opt $make_file_sys_dir 2\> /dev/null \
- || continue
+ EXPECT_PASS $MKISOFS_CMD -o isofs.iso -quiet $mkisofs_opt \
+ $make_file_sys_dir 2\> /dev/null || continue
for mount_opt in \
"loop" \