xfs
[Top] [All Lists]

[PATCH] xfstests: Add -s option to run only specified sections

To: xfs@xxxxxxxxxxx
Subject: [PATCH] xfstests: Add -s option to run only specified sections
From: Lukas Czerner <lczerner@xxxxxxxxxx>
Date: Thu, 10 Apr 2014 19:35:52 +0200
Cc: linux-ext4@xxxxxxxxxxxxxxx, Lukas Czerner <lczerner@xxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
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 <lczerner@xxxxxxxxxx>
---
 README.config-sections | 30 ++++++++++++++++++++++++++++++
 check                  | 16 +++++++++++++++-
 2 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/README.config-sections b/README.config-sections
index 2849fd5..865ca93 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 09d753b..e7ace63 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"
-- 
1.8.3.1

<Prev in Thread] Current Thread [Next in Thread>