From cb15a45be8cd278dc2ca3b719b9c2a836a3bfde2 Mon Sep 17 00:00:00 2001 From: Jan Tulak Date: Mon, 11 Jul 2016 11:26:06 +0200 Subject: [PATCH] build: Fix installation for extended names xfstests supports extended test names like 314-foo-bar, but installation of these tests was skipped (not matching a regexp). So this patch fixes the makefiles in tests/*/ The include/buildrules change was written by Dave Chinner. Signed-off-by: Jan Tulak Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- include/buildrules | 32 ++++++++++++++++++++++++++++++++ tests/btrfs/Makefile | 4 ++-- tests/cifs/Makefile | 4 ++-- tests/ext4/Makefile | 4 ++-- tests/f2fs/Makefile | 4 ++-- tests/generic/Makefile | 4 ++-- tests/overlay/Makefile | 4 ++-- tests/shared/Makefile | 4 ++-- tests/udf/Makefile | 4 ++-- tests/xfs/Makefile | 4 ++-- 10 files changed, 50 insertions(+), 18 deletions(-) diff --git a/include/buildrules b/include/buildrules index c8a7c474..76b755e8 100644 --- a/include/buildrules +++ b/include/buildrules @@ -100,3 +100,35 @@ MAKEDEP := $(MAKEDEPEND) $(CFLAGS) cp /dev/null .dep; \ fi +# Gather files for installing into two lists: +# TESTS with executable scripts and OUTFILES with all the test outputs. +# Makefile has a very small matching, so we have to go this long way. + +# Start with all test related files: +ALLFILES = $(wildcard [0-9]??*) + +# Now build a list of known output files. Unfortunately, the +# multiple output test files are poorly handled as makefiles don't +# handle wildcarded multi-suffix matching. Hence we separate the +# processing of these right now. +EXTENDED_OUTFILES = $(wildcard [0-9]??*.out.*) +EXTENDED_OUTFILE_CFGS = $(wildcard [0-9]??.cfg) +BASIC_OUTFILES = $(wildcard [0-9]??*.out) +OUTFILES = $(EXTENDED_OUTFILES) $(EXTENDED_OUTFILE_CFGS) $(BASIC_OUTFILES) + +# Strip suffix to get matching tests. We want to strip from the +# first "." to the end, but makefiles don't have a built in +# operative for that. So: +# +# Hack: strip the multiple segments after .out with repeated basename calls. +EXTFILTER1 = $(basename $(EXTENDED_OUTFILES)) +EXTFILTER2 = $(basename $(EXTFILTER1)) +EXTFILTER3 = $(basename $(EXTFILTER2)) +EXTFILTER4 = $(basename $(EXTFILTER3)) + +# final filter list +FILTER = $(basename $(EXTFILTER4) $(BASIC_OUTFILES)) + +# finally, select the test files by filtering against against the +# stripped output files and sort them to remove duplicates. +TESTS = $(sort $(filter $(ALLFILES), $(FILTER))) diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile index e1a5be1d..2d936421 100644 --- a/tests/btrfs/Makefile +++ b/tests/btrfs/Makefile @@ -12,9 +12,9 @@ include $(BUILDRULES) install: $(INSTALL) -m 755 -d $(TARGET_DIR) - $(INSTALL) -m 755 [0-9]?? $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) $(INSTALL) -m 644 group $(TARGET_DIR) - $(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR) + $(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR) # Nothing. install-dev install-lib: diff --git a/tests/cifs/Makefile b/tests/cifs/Makefile index 9176e5c8..0c5cf3be 100644 --- a/tests/cifs/Makefile +++ b/tests/cifs/Makefile @@ -12,9 +12,9 @@ include $(BUILDRULES) install: $(INSTALL) -m 755 -d $(TARGET_DIR) - $(INSTALL) -m 755 [0-9]?? $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) $(INSTALL) -m 644 group $(TARGET_DIR) - $(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR) + $(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR) # Nothing. install-dev install-lib: diff --git a/tests/ext4/Makefile b/tests/ext4/Makefile index 7a3c8e1f..beb1541f 100644 --- a/tests/ext4/Makefile +++ b/tests/ext4/Makefile @@ -12,9 +12,9 @@ include $(BUILDRULES) install: $(INSTALL) -m 755 -d $(TARGET_DIR) - $(INSTALL) -m 755 [0-9]?? $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) $(INSTALL) -m 644 group $(TARGET_DIR) - $(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR) + $(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR) # Nothing. install-dev install-lib: diff --git a/tests/f2fs/Makefile b/tests/f2fs/Makefile index 4d00e9ee..d13bca3f 100644 --- a/tests/f2fs/Makefile +++ b/tests/f2fs/Makefile @@ -13,9 +13,9 @@ include $(BUILDRULES) install: $(INSTALL) -m 755 -d $(TARGET_DIR) - $(INSTALL) -m 755 [0-9]?? $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) $(INSTALL) -m 644 group $(TARGET_DIR) - $(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR) + $(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR) # Nothing. install-dev install-lib: diff --git a/tests/generic/Makefile b/tests/generic/Makefile index 9529fb86..3878d05c 100644 --- a/tests/generic/Makefile +++ b/tests/generic/Makefile @@ -12,9 +12,9 @@ include $(BUILDRULES) install: $(INSTALL) -m 755 -d $(TARGET_DIR) - $(INSTALL) -m 755 [0-9]?? $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) $(INSTALL) -m 644 group $(TARGET_DIR) - $(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR) + $(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR) # Nothing. install-dev install-lib: diff --git a/tests/overlay/Makefile b/tests/overlay/Makefile index 63c98786..b07f8925 100644 --- a/tests/overlay/Makefile +++ b/tests/overlay/Makefile @@ -12,9 +12,9 @@ include $(BUILDRULES) install: $(INSTALL) -m 755 -d $(TARGET_DIR) - $(INSTALL) -m 755 [0-9]?? $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) $(INSTALL) -m 644 group $(TARGET_DIR) - $(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR) + $(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR) # Nothing. install-dev install-lib: diff --git a/tests/shared/Makefile b/tests/shared/Makefile index cbd87f94..8a832782 100644 --- a/tests/shared/Makefile +++ b/tests/shared/Makefile @@ -12,9 +12,9 @@ include $(BUILDRULES) install: $(INSTALL) -m 755 -d $(TARGET_DIR) - $(INSTALL) -m 755 [0-9]?? $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) $(INSTALL) -m 644 group $(TARGET_DIR) - $(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR) + $(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR) # Nothing. install-dev install-lib: diff --git a/tests/udf/Makefile b/tests/udf/Makefile index 1d966589..c9c9f1bd 100644 --- a/tests/udf/Makefile +++ b/tests/udf/Makefile @@ -12,9 +12,9 @@ include $(BUILDRULES) install: $(INSTALL) -m 755 -d $(TARGET_DIR) - $(INSTALL) -m 755 [0-9]?? $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) $(INSTALL) -m 644 group $(TARGET_DIR) - $(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR) + $(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR) # Nothing. install-dev install-lib: diff --git a/tests/xfs/Makefile b/tests/xfs/Makefile index db94be09..d64800ea 100644 --- a/tests/xfs/Makefile +++ b/tests/xfs/Makefile @@ -12,9 +12,9 @@ include $(BUILDRULES) install: $(INSTALL) -m 755 -d $(TARGET_DIR) - $(INSTALL) -m 755 [0-9]?? $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) $(INSTALL) -m 644 group $(TARGET_DIR) - $(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR) + $(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR) # Nothing. install-dev install-lib: -- 2.30.2