From a0e2d8ecc0ed2fd44e94814e43064c86734733ee Mon Sep 17 00:00:00 2001 From: Lukas Czerner Date: Fri, 11 Apr 2014 10:19:29 +1000 Subject: [PATCH] config: Add -s option to run only specified sections This commit adds -s option which allows you to specify only certain sections from the config file to be run. The '-s' argument can be specified multiple times to allow multiple sections to be run. The options are still carried between section, that includes the sections which are not going to be run. Update README.config-sections as well. Signed-off-by: Lukas Czerner Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner --- README.config-sections | 30 ++++++++++++++++++++++++++++++ check | 16 +++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/README.config-sections b/README.config-sections index 2849fd55..865ca932 100644 --- a/README.config-sections +++ b/README.config-sections @@ -57,6 +57,36 @@ system. You can also force the file system recreation by specifying RECREATE_TEST_DEV. +Run specified section only +-------------------------- + +Specifying '-s' argument with section name will run only the section +specified. The '-s' argument can be specified multiple times to allow multiple +sections to be run. + +The options are still carried between section, that includes the sections +which are not going to be run. So you can do something like + +[ext4] +TEST_DEV=/dev/sda1 +TEST_DIR=/mnt/test +SCRATCH_DEV=/dev/sdb1 +SCRATCH_MNT=/mnt/test1 +FSTYP=ext4 + +[xfs] +FSTYP=xfs + +[btrfs] +FSTYP=btrfs + + +and run + +./check -s xfs -s btrfs + +to check xfs and btrfs only. All the devices and mounts are still going to +be parsed from the section [ext4]. Example ------- diff --git a/check b/check index 09d753b5..e7ace63d 100755 --- a/check +++ b/check @@ -75,6 +75,7 @@ check options -T output timestamps -r randomize test order --large-fs optimise scratch device for large filesystems + -s section run only specified section from config file testlist options -g group[,group...] include tests from these groups @@ -221,7 +222,7 @@ while [ $# -gt 0 ]; do done done ;; - + -s) RUN_SECTION="$RUN_SECTION $2"; shift ;; -l) diff="diff" ;; -udiff) diff="$diff -u" ;; @@ -389,6 +390,19 @@ for section in $HOST_OPTIONS_SECTIONS; do 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 + 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" -- 2.39.5