diff options
author | Jan Tulak <jtulak@redhat.com> | 2016-07-11 11:26:06 +0200 |
---|---|---|
committer | Eryu Guan <eguan@redhat.com> | 2016-07-18 16:55:04 +0800 |
commit | cb15a45be8cd278dc2ca3b719b9c2a836a3bfde2 (patch) | |
tree | 92d1d75756882b9676d0c0c65e5ed4236a4934f1 /include | |
parent | b62a0b3053975d28a99627159d5059d449d00296 (diff) |
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 <jtulak@redhat.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/buildrules | 32 |
1 files changed, 32 insertions, 0 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))) |