open_by_handle: make -h (help) a valid option
[xfstests-dev.git] / setup
diff --git a/setup b/setup
index d99d0790e2c6d00401a263d48a03d376995504dc..eb37d80abe48dd61959d60bca39e6c9e48fd5158 100755 (executable)
--- a/setup
+++ b/setup
@@ -1,19 +1,94 @@
-#!/bin/sh
+#!/bin/bash
 #
-if ! . ./common.config
+# Copyright (c) 2003-2004 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
+#
+usage()
+{
+
+       echo "Usage: $0 [options]"'
+
+       -s section      run only specified section(s) from config file
+       -S section      exclude the specified section from the config file
+'
+       exit 0
+}
+
+while [ $# -gt 0 ]; do
+       case "$1" in
+       -\? | -h | --help) usage ;;
+       -s)     RUN_SECTION="$RUN_SECTION $2"; shift ;;
+       -S)     EXCLUDE_SECTION="$EXCLUDE_SECTION $2"; shift ;;
+       *)      usage ;;
+       esac
+       shift
+done
+
+if ! . ./common/config
 then
-    echo "check: failed to source common.config"
+    echo "check: failed to source common/config"
     exit 1
 fi
 
-[ "$USE_EXTERNAL"   = yes ] || USE_EXTERNAL=no
-[ "$USE_LBD_PATCH"  = yes ] || USE_LBD_PATCH=no
-[ "$USE_BIG_LOOPFS" = yes ] || USE_BIG_LOOPFS=no
-[ -z "$FSTYP" ] && FSTYP="xfs"
+for section in $HOST_OPTIONS_SECTIONS; do
+       OLD_FSTYP=$FSTYP
+       OLD_MOUNT_OPTIONS=$MOUNT_OPTIONS
+       get_next_config $section
+
+       # Do we need to run only some sections ?
+       if [ ! -z "$RUN_SECTION" ]; then
+               skip=true
+               for s in $RUN_SECTION; do
+                       if [ $section == $s ]; then
+                               skip=false
+                               break;
+                       fi
+               done
+               if $skip; then
+                       continue
+               fi
+       fi
+
+       # Did this section get excluded?
+       if [ ! -z "$EXCLUDE_SECTION" ]; then
+               skip=false
+               for s in $EXCLUDE_SECTION; do
+                       if [ $section == $s ]; then
+                               skip=true
+                               break;
+                       fi
+               done
+               if $skip; then
+                       continue
+               fi
+       fi
+
+       [ "$USE_EXTERNAL"    = yes ] || USE_EXTERNAL=no
+       [ "$USE_LBD_PATCH"   = yes ] || USE_LBD_PATCH=no
+       [ "$LARGE_SCRATCH_DEV"  = yes ] || LARGE_SCRATCH_DEV=no
+       [ "$USE_ATTR_SECURE" = yes ] || USE_ATTR_SECURE=no
+       [ -z "$FSTYP" ] && FSTYP="xfs"
+
+       cat <<EOF
+SECTION       -- $section
 
-cat <<EOF
 TEST: DIR=$TEST_DIR DEV=$TEST_DEV rt=[$TEST_RTDEV] log=[$TEST_LOGDEV]
 TAPE: dev=[$TAPE_DEV] rmt=[$RMT_TAPE_DEV] rmtirix=[$RMT_TAPE_USER@$RMT_IRIXTAPE_DEV]
 SCRATCH: MNT=$SCRATCH_MNT DEV=$SCRATCH_DEV rt=[$SCRATCH_RTDEV] log=[$SCRATCH_LOGDEV]
-VARIABLES: external=$USE_EXTERNAL largeblk=$USE_LBD_PATCH fstyp=$FSTYP bigloopfs=$USE_BIG_LOOPFS
+VARIABLES: external=$USE_EXTERNAL largeblk=$USE_LBD_PATCH fstyp=$FSTYP
+          large_scratch_dev=$LARGE_SCRATCH_DEV attrsecure=$USE_ATTR_SECURE
+--------
 EOF
+done