Skip to contentSkip to conversation

xfstests: fix the regex pattern in get_group_list of check

PATCH In review Wang Sheng-Hui 2 participants 3 messages Apr 12, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 xfstests: fix the regex pattern in get_group_list of check

In group files, non comment line starts with a 3-digits, then followed by space and other characters, but no group names.

The old regex in get_group_list uses the group name as part of the regex, and fails './check -g xfs' run:
Group "xfs" is empty or not defined?

The patch removes the pattern for group name, and thus we can trigger tests like "./check -g xfs" as normal.

---
 check | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
check +1 -1
index 966fbe5..abc65cb 100755
@@ -100,7 +100,7 @@ get_group_list()
 		l=$(sed -n < $SRC_DIR/$d/group \
 			-e 's/#.*//' \
 			-e 's/$/ /' \
-			-e "s;\(^[0-9][0-9][0-9]\).* $grp .*;$SRC_DIR/$d/\1;p")
+			-e "s;\(^[0-9][0-9][0-9]\) .*;$SRC_DIR/$d/\1;p")
 		grpl="$grpl $l"
 	done
 	echo $grpl
Signature · 6 lines
1.7.12.4

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#1 lore raw
Quoted 2 lines · Wang Sheng-Hui

In group files, non comment line starts with a 3-digits, then followed by space and other characters, but no group names.

I don't follow. A group file line looks like:

003 db auto quick

Which defines the test name, followed by the group names the test belongs to.

Quoted 3 lines

The old regex in get_group_list uses the group name as part of the regex, and fails './check -g xfs' run:
Group "xfs" is empty or not defined?

Well, yes, "xfs" is not a defined group name:

$ grep xfs tests/*/group
$

If I define a "xfs" group by assigning tests to it, check runs just fine.

$ grep xfs tests/*/group
tests/xfs/group:003 db auto quick xfs
$ sudo ./check -g xfs
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/x86_64 test-2 3.9.0-rc4-dgc+
MKFS_OPTIONS  -- -f -bsize=4096 /dev/vdb
MOUNT_OPTIONS -- /dev/vdb /mnt/scratch

xfs/003 1s
Ran: xfs/003
Passed all 1 tests
$

So what check is doing looks perfectly OK to me and doesn't need changing.

Quoted 2 lines

The patch removes the pattern for group name, and thus we can trigger tests like "./check -g xfs" as normal.

If you want to run all the tests in a specific subdirectory regardless of groups, then you can do it like:

$ sudo ./check xfs/[0-9][0-9][0-9]
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/x86_64 test-2 3.9.0-rc4-dgc+
MKFS_OPTIONS  -- -f -bsize=4096 /dev/vdb
MOUNT_OPTIONS -- /dev/vdb /mnt/scratch
xfs/003  0s
xfs/004  0s
xfs/008  1s

.....

There's definitely better ways to do this, but conflating source tree layout with runtime test group definitions is not it. ;)

Perhaps something like "check xfs" will just run all tests in the xfs test dir, similar for ext4, shared, etc?

Cheers,

Dave.

Signature · 7 lines
Dave Chinner
[email protected]

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#2 lore raw
Quoted 39 lines · Dave Chinner
Quoted 2 lines · Wang Sheng-Hui

In group files, non comment line starts with a 3-digits, then followed by space and other characters, but no group names.

I don't follow. A group file line looks like:

003 db auto quick

Which defines the test name, followed by the group names the test belongs to.

Quoted 3 lines

The old regex in get_group_list uses the group name as part of the regex, and fails './check -g xfs' run:
Group "xfs" is empty or not defined?

Well, yes, "xfs" is not a defined group name:

$ grep xfs tests/*/group
$

If I define a "xfs" group by assigning tests to it, check runs just fine.

$ grep xfs tests/*/group
tests/xfs/group:003 db auto quick xfs
$ sudo ./check -g xfs
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/x86_64 test-2 3.9.0-rc4-dgc+
MKFS_OPTIONS  -- -f -bsize=4096 /dev/vdb
MOUNT_OPTIONS -- /dev/vdb /mnt/scratch

xfs/003 1s
Ran: xfs/003
Passed all 1 tests
$

So what check is doing looks perfectly OK to me and doesn't need changing.

Quoted 7 lines
Quoted 2 lines

The patch removes the pattern for group name, and thus we can trigger tests like "./check -g xfs" as normal.

If you want to run all the tests in a specific subdirectory regardless of groups, then you can do it like:

$ sudo ./check xfs/[0-9][0-9][0-9]

Thanks, Dave.

I confused the group with fs type.

Quoted 13 lines
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/x86_64 test-2 3.9.0-rc4-dgc+
MKFS_OPTIONS  -- -f -bsize=4096 /dev/vdb

MOUNT_OPTIONS -- /dev/vdb /mnt/scratch

xfs/003  0s
xfs/004  0s
xfs/008  1s

.....

There's definitely better ways to do this, but conflating source tree layout with runtime test group definitions is not it. ;)

Quoted 7 lines

Perhaps something like "check xfs" will just run all tests in the xfs test dir, similar for ext4, shared, etc?

Cheers,

Dave.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs