Files
apfstests/setup
T
Dave Chinner bfffaa2807 check: add exclude sections CLI parameter
When we have a config file with multiple sections, we might want to
exclude certain config sections from running. Rather than specifying
all the section we want to run, add a "-S <section>" option to build
up a list of sections to exclude.

This is useful if a given section config is known to cause a fatal
failure,but you still want to run all the other config sections.

Also add support to the setup program that emits the currently
configured setup for each section in the config file.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-02-08 09:27:06 +11:00

95 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
#
# 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"
exit 1
fi
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
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
large_scratch_dev=$LARGE_SCRATCH_DEV attrsecure=$USE_ATTR_SECURE
--------
EOF
done