Message ID | 20240129092232.599010-1-pvorel@suse.cz |
---|---|
State | Accepted |
Headers | show |
Series | [v3,1/1] isofs.sh: Test genisoimage, xorriso and mksisofs | expand |
Hi! > @@ -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 > + > + tst_res TINFO "Testing $MKISOFS_CMD" ^ Maybe this should be after the two TCONF messages so that we do not print: INFO: "Testing foo" CONF: "Missing foo" Other than that it does look fine, as long as it's well tested feel free to add this for the release. Reviewed-by: Cyril Hrubis > + 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 > + > 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" \ > -- > 2.43.0 >
Hi Cyril, > > + tst_res TINFO "Testing $MKISOFS_CMD" > ^ > Maybe this should be after the two TCONF messages so that > we do not print: > INFO: "Testing foo" > CONF: "Missing foo" > Other than that it does look fine, as long as it's well tested feel free > to add this for the release. Good point. Fixed that and merged. Kind regards, Petr
diff --git a/testcases/kernel/fs/iso9660/isofs.sh b/testcases/kernel/fs/iso9660/isofs.sh index dfa4ac73d..06f97a64f 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 + + tst_res TINFO "Testing $MKISOFS_CMD" + + 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 + 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" \