generic/{453,454}: Don't run for FSs restricting names
[xfstests-dev.git] / common / rc
index 601540730b8f53cbb0d6df6500c4d77be66b6b68..d4b1f21f64c1eb0500d94cc6513bc9824ab5dfd9 100644 (file)
--- a/common/rc
+++ b/common/rc
@@ -1116,42 +1116,44 @@ _scratch_mkfs_geom()
 # _scratch_mkfs_blocksized blocksize
 _scratch_mkfs_blocksized()
 {
-    local blocksize=$1
+       local blocksize=$1
 
-    local re='^[0-9]+$'
-    if ! [[ $blocksize =~ $re ]] ; then
-        _notrun "error: _scratch_mkfs_sized: block size \"$blocksize\" not an integer."
-    fi
+       local re='^[0-9]+$'
+       if ! [[ $blocksize =~ $re ]] ; then
+               _notrun "error: _scratch_mkfs_sized: block size \"$blocksize\" not an integer."
+       fi
 
-    case $FSTYP in
-    btrfs)
-       test -f /sys/fs/btrfs/features/supported_sectorsizes || \
+       case $FSTYP in
+       btrfs)
+               test -f /sys/fs/btrfs/features/supported_sectorsizes || \
                _notrun "Subpage sectorsize support is not found in $FSTYP"
 
-       grep -wq $blocksize /sys/fs/btrfs/features/supported_sectorsizes || \
+               grep -wq $blocksize /sys/fs/btrfs/features/supported_sectorsizes || \
                _notrun "$FSTYP does not support sectorsize=$blocksize yet"
 
-       _scratch_mkfs --sectorsize=$blocksize
-       ;;
-    xfs)
-       _scratch_mkfs_xfs $MKFS_OPTIONS -b size=$blocksize
-       ;;
-    ext2|ext3|ext4)
-       ${MKFS_PROG} -t $FSTYP -F $MKFS_OPTIONS -b $blocksize $SCRATCH_DEV
-       ;;
-    gfs2)
-       ${MKFS_PROG} -t $FSTYP $MKFS_OPTIONS -O -b $blocksize $SCRATCH_DEV
-       ;;
-    ocfs2)
-       yes | ${MKFS_PROG} -t $FSTYP -F $MKFS_OPTIONS -b $blocksize -C $blocksize $SCRATCH_DEV
-       ;;
-    bcachefs)
-       ${MKFS_PROG} -t $FSTYP $MKFS_OPTIONS --block_size=$blocksize $SCRATCH_DEV
-       ;;
-    *)
-       _notrun "Filesystem $FSTYP not supported in _scratch_mkfs_blocksized"
-       ;;
-    esac
+               _scratch_mkfs --sectorsize=$blocksize
+               ;;
+       xfs)
+               _scratch_mkfs_xfs $MKFS_OPTIONS -b size=$blocksize
+               ;;
+       ext2|ext3|ext4)
+               ${MKFS_PROG} -t $FSTYP -F $MKFS_OPTIONS -b $blocksize $SCRATCH_DEV
+               ;;
+       gfs2)
+               ${MKFS_PROG} -t $FSTYP $MKFS_OPTIONS -O -b $blocksize $SCRATCH_DEV
+               ;;
+       ocfs2)
+               yes | ${MKFS_PROG} -t $FSTYP -F $MKFS_OPTIONS -b $blocksize \
+                                               -C $blocksize $SCRATCH_DEV
+               ;;
+       bcachefs)
+               ${MKFS_PROG} -t $FSTYP $MKFS_OPTIONS --block_size=$blocksize \
+                                                               $SCRATCH_DEV
+               ;;
+       *)
+               _notrun "Filesystem $FSTYP not supported in _scratch_mkfs_blocksized"
+               ;;
+       esac
 }
 
 _scratch_resvblks()
@@ -4591,6 +4593,25 @@ _getcap()
        return ${PIPESTATUS[0]}
 }
 
+_require_od_endian_flag()
+{
+       od --endian=little < /dev/null > /dev/null 2>&1 || \
+               _notrun "od does not support endian flag"
+}
+
+# Skip this test unless the filesystem treats names (directory entries,
+# fs labels, and extended attribute names) as raw byte sequences.
+_require_names_are_bytes() {
+        case "$FSTYP" in
+        ext2|ext3|ext4|f2fs|xfs|btrfs)
+               # do nothing
+               ;;
+       *)
+                _notrun "$FSTYP does not allow unrestricted byte streams for names"
+               ;;
+        esac
+}
+
 init_rc
 
 ################################################################################