From: Dave Chinner Date: Sun, 7 Feb 2016 22:27:06 +0000 (+1100) Subject: check: add exclude sections CLI parameter X-Git-Tag: v2022.05.01~2675 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=bfffaa28077a97bdfa0798fe49d664da1f591dd7;p=users%2Fhch%2Fxfstests-dev.git 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
" 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 Reviewed-by: Eryu Guan Signed-off-by: Dave Chinner --- diff --git a/check b/check index fa9697f45..c40d2a818 100755 --- a/check +++ b/check @@ -73,6 +73,7 @@ check options -d dump test output to stdout --large-fs optimise scratch device for large filesystems -s section run only specified section from config file + -S section exclude the specified section from the config file testlist options -g group[,group...] include tests from these groups @@ -228,6 +229,7 @@ while [ $# -gt 0 ]; do fi ;; -s) RUN_SECTION="$RUN_SECTION $2"; shift ;; + -S) EXCLUDE_SECTION="$EXCLUDE_SECTION $2"; shift ;; -l) diff="diff" ;; -udiff) diff="$diff -u" ;; @@ -429,6 +431,20 @@ for section in $HOST_OPTIONS_SECTIONS; do 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 + mkdir -p $RESULT_BASE if [ ! -d $RESULT_BASE ]; then echo "failed to create results directory $RESULT_BASE" diff --git a/setup b/setup index 8675b5304..eb37d80ab 100755 --- a/setup +++ b/setup @@ -20,7 +20,8 @@ usage() echo "Usage: $0 [options]"' - -s section run only specified section(s) from config file + -s section run only specified section(s) from config file + -S section exclude the specified section from the config file ' exit 0 } @@ -29,6 +30,7 @@ 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 @@ -59,6 +61,20 @@ for section in $HOST_OPTIONS_SECTIONS; do 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