mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
fstests: automatically generate group files
Now that we've moved the group membership details into the test case files themselves, automatically generate the group files during build. The autogenerated files are named "group.list" instead of "group" to avoid conflicts between generated and (stale) SCM files as everyone rebases. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com> Reviewed-by: Allison Henderson <allison.henderson@oracle.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
committed by
Eryu Guan
parent
7e98d41a6e
commit
17f6ac8ecc
@@ -11,6 +11,9 @@ tags
|
||||
/local.config
|
||||
/results
|
||||
|
||||
# autogenerated group files
|
||||
/tests/*/group.list
|
||||
|
||||
# autoconf generated files
|
||||
/aclocal.m4
|
||||
/autom4te.cache
|
||||
|
||||
@@ -38,6 +38,14 @@ _begin_fstest()
|
||||
fi
|
||||
|
||||
seq=`basename $0`
|
||||
|
||||
# If we're only running the test to generate a group.list file,
|
||||
# spit out the group data and exit.
|
||||
if [ -n "$GENERATE_GROUPS" ]; then
|
||||
echo "$seq $@"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
seqres=$RESULT_DIR/$seq
|
||||
echo "QA output created by $seq"
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (c) 2021 Oracle, Inc. All Rights Reserved.
|
||||
#
|
||||
.PHONY: group.list
|
||||
|
||||
group.list:
|
||||
@echo " [GROUP] $$PWD/$@"
|
||||
$(Q)$(TOPDIR)/tools/mkgroupfile $@
|
||||
@@ -7,6 +7,10 @@ include $(TOPDIR)/include/builddefs
|
||||
|
||||
TESTS_SUBDIRS = $(sort $(dir $(wildcard $(CURDIR)/[[:lower:]]*/)))
|
||||
|
||||
SUBDIRS = $(wildcard [[:lower:]]*)
|
||||
|
||||
default: $(SUBDIRS)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install: $(addsuffix -install,$(TESTS_SUBDIRS))
|
||||
|
||||
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
BTRFS_DIR = btrfs
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(BTRFS_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
+5
-1
@@ -2,16 +2,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
CEPH_DIR = ceph
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(CEPH_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
+5
-1
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
CIFS_DIR = cifs
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(CIFS_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
+5
-1
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
EXT4_DIR = ext4
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(EXT4_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
+5
-1
@@ -5,16 +5,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
F2FS_DIR = f2fs
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(F2FS_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
GENERIC_DIR = generic
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GENERIC_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
+5
-1
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
NFS_DIR = nfs
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(NFS_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
OCFS2_DIR = ocfs2
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(OCFS2_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
TEST_DIR = overlay
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(TEST_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
+5
-1
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
PERF_DIR = perf
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(PERF_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
SHARED_DIR = shared
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(SHARED_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
+5
-1
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
UDF_DIR = udf
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(UDF_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
+5
-1
@@ -4,16 +4,20 @@
|
||||
|
||||
TOPDIR = ../..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
include $(TOPDIR)/include/buildgrouplist
|
||||
|
||||
XFS_DIR = xfs
|
||||
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(XFS_DIR)
|
||||
DIRT = group.list
|
||||
|
||||
default: $(DIRT)
|
||||
|
||||
include $(BUILDRULES)
|
||||
|
||||
install:
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)
|
||||
$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 group.list $(TARGET_DIR)
|
||||
$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
|
||||
|
||||
# Nothing.
|
||||
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Generate a group file from the _begin_fstest call in each test.
|
||||
|
||||
if [ "$1" = "--help" ]; then
|
||||
echo "Usage: (cd tests/XXX/ ; ../../tools/mkgroupfile [output])"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test_dir="$PWD"
|
||||
groupfile="$1"
|
||||
|
||||
if [ ! -x ../../check ]; then
|
||||
echo "$0: Run this from tests/XXX/."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
generate_groupfile() {
|
||||
cat << ENDL
|
||||
# QA groups control file, automatically generated.
|
||||
# See _begin_fstest in each test for details.
|
||||
|
||||
ENDL
|
||||
cd ../../
|
||||
export GENERATE_GROUPS=yes
|
||||
grep -R -l "^_begin_fstest" "$test_dir/" 2>/dev/null | while read testfile; do
|
||||
test -x "$testfile" && "$testfile"
|
||||
done | sort -g
|
||||
cd "$test_dir"
|
||||
}
|
||||
|
||||
if [ -z "$groupfile" ] || [ "$groupfile" = "-" ]; then
|
||||
# Dump the group file to stdout and exit
|
||||
generate_groupfile
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Otherwise, write the group file to disk somewhere.
|
||||
ngroupfile="${groupfile}.new"
|
||||
rm -f "$ngroupfile"
|
||||
generate_groupfile >> "$ngroupfile"
|
||||
mv "$ngroupfile" "$groupfile"
|
||||
Reference in New Issue
Block a user