Skip to content

Commit

Permalink
build: Fix installation for extended names
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
jtulak authored and Eryu Guan committed Jul 18, 2016
1 parent b62a0b3 commit cb15a45
Show file tree
Hide file tree
Showing 10 changed files with 50 additions and 18 deletions.
32 changes: 32 additions & 0 deletions include/buildrules
Original file line number Diff line number Diff line change
Expand Up @@ -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)))
4 changes: 2 additions & 2 deletions tests/btrfs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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:
4 changes: 2 additions & 2 deletions tests/cifs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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:
4 changes: 2 additions & 2 deletions tests/ext4/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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:
4 changes: 2 additions & 2 deletions tests/f2fs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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:
4 changes: 2 additions & 2 deletions tests/generic/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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:
4 changes: 2 additions & 2 deletions tests/overlay/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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:
4 changes: 2 additions & 2 deletions tests/shared/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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:
4 changes: 2 additions & 2 deletions tests/udf/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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:
4 changes: 2 additions & 2 deletions tests/xfs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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:

0 comments on commit cb15a45

Please sign in to comment.