public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH v2] isofs.sh:Run test on genisoimage, xorriso &mksisofs if not symlinks
@ 2024-01-28 18:15 Subramanya Swamy
  2024-01-29  9:02 ` Petr Vorel
  0 siblings, 1 reply; 2+ messages in thread
From: Subramanya Swamy @ 2024-01-28 18:15 UTC (permalink / raw)
  To: ltp; +Cc: Subramanya Swamy

    1)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.

    2)mkisofs supports only -hfs option
      genisoimage supports both -hfs & -hfsplus options
      xorrisofs supports only -hfsplus option

Co-Authored-By: Petr Vorel <pvorel@suse.cz>
Signed-off-by: Subramanya Swamy <subramanya.swamy.linux@gmail.com>
---
 testcases/kernel/fs/iso9660/isofs.sh | 41 ++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 9 deletions(-)

diff --git a/testcases/kernel/fs/iso9660/isofs.sh b/testcases/kernel/fs/iso9660/isofs.sh
index dfa4ac73d..9aa853e67 100755
--- a/testcases/kernel/fs/iso9660/isofs.sh
+++ b/testcases/kernel/fs/iso9660/isofs.sh
@@ -13,18 +13,16 @@ 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"
+	if !(tst_cmd_available mkisofs \
+		|| tst_cmd_available genisoimage || tst_cmd_available xorrisofs);then
+			tst_brk TCONF "please install mkisofs / genisoimage / xorriso"
 	fi
 }
 
@@ -46,6 +44,29 @@ gen_fs_tree()
 
 do_test()
 {
+        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
+
 	local mnt_point="$PWD/mnt"
 	local make_file_sys_dir="$PWD/files"
 	local mkisofs_opt mount_opt
@@ -62,14 +83,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 \
+		EXPECT_PASS $MKISOFS_CMD -o isofs.iso \
+			-quiet $mkisofs_opt $make_file_sys_dir 2\> /dev/null \
 			|| continue
 
 		for mount_opt in \
-- 
2.43.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-01-29  9:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-28 18:15 [LTP] [PATCH v2] isofs.sh:Run test on genisoimage, xorriso &mksisofs if not symlinks Subramanya Swamy
2024-01-29  9:02 ` Petr Vorel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox