[LTP] [PATCH v5 07/10] tst_test.sh: Introduce TST_FS_TYPE_FUSE
Petr Vorel
pvorel@suse.cz
Fri Sep 9 16:18:37 CEST 2022
Useful if tests need to grep on mount output (there is fuseblk instead
of expected filesystem).
Reviewed-by: Li Wang <liwang@redhat.com>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
doc/shell-test-api.txt | 2 ++
testcases/lib/tst_test.sh | 14 +++++++++++++-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/doc/shell-test-api.txt b/doc/shell-test-api.txt
index 18ed144a9..e16080061 100644
--- a/doc/shell-test-api.txt
+++ b/doc/shell-test-api.txt
@@ -210,6 +210,8 @@ simply by setting right '$TST_FOO'.
| 'TST_DEVICE' | Block device name for 'tst_mount' and 'tst_mkfs', see
https://github.com/linux-test-project/ltp/wiki/Shell-Test-API#formatting-device-with-a-filesystem[Formatting device with a filesystem].
| 'TST_FS_TYPE' | Override the default filesystem to be used.
+| 'TST_FS_TYPE_FUSE' | 1 if mounted 'TST_FS_TYPE' filesystem on
+ 'TST_DEVICE' device is FUSE.
| 'TST_MNTPOINT' | Holds path to mountpoint used in 'tst_mount', see
https://github.com/linux-test-project/ltp/wiki/Shell-Test-API#formatting-device-with-a-filesystem[Formatting device with a filesystem].
| 'TST_MNT_PARAMS' | Extra mount params for 'tst_mount', see
diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
index 2937bd80c..78dbfc1ce 100644
--- a/testcases/lib/tst_test.sh
+++ b/testcases/lib/tst_test.sh
@@ -307,6 +307,18 @@ tst_mount()
if [ $ret -ne 0 ]; then
tst_brk TBROK "Failed to mount device${mnt_err}: mount exit = $ret"
fi
+
+ mnt_real="$(grep -E "$TST_MNTPOINT ($TST_FS_TYPE|fuseblk)" /proc/mounts | awk 'NR==1{print $3}')"
+ case $mnt_real in
+ '') tst_brk TBROK 'Failed to found filesystem type in /proc/mounts';;
+ 'fuseblk') TST_FS_TYPE_FUSE=1;;
+ *)
+ if [ "$mnt_real" != "$TST_FS_TYPE" ]; then
+ tst_brk TBROK "$mnt_real: unsupported type in /proc/mounts"
+ fi
+ TST_FS_TYPE_FUSE=
+ ;;
+ esac
}
tst_umount()
@@ -636,7 +648,7 @@ tst_run()
OPTS|USAGE|PARSE_ARGS|POS_ARGS);;
NEEDS_ROOT|NEEDS_TMPDIR|TMPDIR|NEEDS_DEVICE|DEVICE);;
NEEDS_CMDS|NEEDS_MODULE|MODPATH|DATAROOT);;
- NEEDS_DRIVERS|FS_TYPE|MNTPOINT|MNT_PARAMS);;
+ NEEDS_DRIVERS|FS_TYPE|FS_TYPE_FUSE|MNTPOINT|MNT_PARAMS);;
NEEDS_KCONFIGS|NEEDS_KCONFIGS_IFS);;
IPV6|IPV6_FLAG|IPVER|TEST_DATA|TEST_DATA_IFS);;
RETRY_FUNC|RETRY_FN_EXP_BACKOFF|TIMEOUT);;
--
2.37.3
More information about the ltp
mailing list