common/rc: add _scratch_{u}mount_idmapped() helpers
[xfstests-dev.git] / tests / shared / 032
index 1701c77dbcecbd22f98adabe1728602469c524c1..360087ee1fb980ed92e6f5d03c52a186fa1d2f9e 100755 (executable)
@@ -1,27 +1,11 @@
 #! /bin/bash
-# FS QA Test No. 032
-#
-# cross check mkfs detection of foreign filesystems
-#
-#-----------------------------------------------------------------------
+# SPDX-License-Identifier: GPL-2.0
 # Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+# FS QA Test No. 032
 #
-#-----------------------------------------------------------------------
+# cross check mkfs detection of foreign filesystems
 #
-
 seq=`basename $0`
 seqres=$RESULT_DIR/$seq
 echo "QA output created by $seq"
@@ -33,14 +17,13 @@ trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
 rm -f $seqres.full
 
 # get standard environment, filters and checks
-. ./common.rc
-. ./common.filter
+. ./common/rc
+. ./common/filter
 
 # real QA test starts here
 _supported_fs xfs btrfs
-_supported_os Linux
 
-_require_scratch
+_require_scratch_nocheck
 _require_no_large_scratch_dev
 
 # mkfs.btrfs did not have overwrite detection at first
@@ -50,7 +33,7 @@ if [ "$FSTYP" == "btrfs" ]; then
 fi
 
 echo "Silence is golden."
-for fs in `echo ${MKFS_PROG}.* | sed -e 's/.sbin.mkfs.//g'`
+for fs in `echo ${MKFS_PROG}.* | sed -e "s:${MKFS_PROG}.::g"`
 do
        preop=""        # for special input needs
        preargs=""      # for any special pre-device options
@@ -65,15 +48,18 @@ do
        [ $fs = gfs ] && preop="echo y |" && preargs="-p lock_nolock -j 1"
        [ $fs = gfs2 ] && preop="echo y |" && preargs="-p lock_nolock -j 1"
        [ $fs = reiserfs ] && preop="echo y |" && preargs="-f"
+       [ $fs = reiser4 ] && preop="echo y |" && preargs="-f"
        # cramfs mkfs requires a directory argument
        [ $fs = cramfs ] && preargs=/proc/fs
        [ $fs = ext2 ] && preargs="-F"
        [ $fs = ext3 ] && preargs="-F"
        [ $fs = ext4 ] && preargs="-F"
        [ $fs = ext4dev ] && preargs="-F"
+       # jffs2 mkfs requires '-r $directory' and '-o $image'
+       [ $fs = jffs2 ] && preargs="-r /proc/fs -o"
 
        # overwite the first few Kb - should blow away superblocks
-       src/devzero -n 20 $SCRATCH_DEV >/dev/null
+       $here/src/devzero -n 20 $SCRATCH_DEV >/dev/null
 
        # create a filesystem of this type
        echo "=== Creating $fs filesystem..." >>$seqres.full
@@ -82,8 +68,11 @@ do
 
        if [ $? -eq 0 ] ; then
                # next, ensure we don't overwrite it
+               # jffs2 mkfs doesn't check overwrite case
+               [ $fs = jffs2 ] && continue
+
                echo "=== Attempting $FSTYP overwrite of $fs..." >>$seqres.full
-               ${MKFS_PROG}.$FSTYP $SCRATCH_DEV >>$seqres.full 2>&1
+               ${MKFS_PROG} -t $FSTYP $SCRATCH_DEV >>$seqres.full 2>&1
 
                [ $? -eq 0 ] && echo "Failed - overwrote fs type ${fs}!"
        else