diff mbox

[1/2] xfstests: Fix installation for extended names

Message ID 1467389347-2055-2-git-send-email-jtulak@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jan Tulak July 1, 2016, 4:09 p.m. UTC
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/*/

Signed-off-by: Jan Tulak <jtulak@redhat.com>
---
UPDATE:
Rewritten, now it doesn't fail without the extended name, and doesn't
suppress anything. Thanks Dave.
---
 tests/btrfs/Makefile   | 21 +++++++++++++++++----
 tests/cifs/Makefile    | 21 +++++++++++++++++----
 tests/ext4/Makefile    | 21 +++++++++++++++++----
 tests/f2fs/Makefile    | 24 ++++++++++++++++++------
 tests/generic/Makefile | 21 +++++++++++++++++----
 tests/overlay/Makefile | 23 ++++++++++++++++++-----
 tests/shared/Makefile  | 21 +++++++++++++++++----
 tests/udf/Makefile     | 21 +++++++++++++++++----
 tests/xfs/Makefile     | 21 +++++++++++++++++----
 9 files changed, 155 insertions(+), 39 deletions(-)

Comments

Dave Chinner July 4, 2016, 1:40 a.m. UTC | #1
On Fri, Jul 01, 2016 at 06:09:06PM +0200, Jan Tulak wrote:
> 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/*/
> 
> Signed-off-by: Jan Tulak <jtulak@redhat.com>
> ---
> UPDATE:
> Rewritten, now it doesn't fail without the extended name, and doesn't
> suppress anything. Thanks Dave.
> ---
>  tests/btrfs/Makefile   | 21 +++++++++++++++++----
>  tests/cifs/Makefile    | 21 +++++++++++++++++----
>  tests/ext4/Makefile    | 21 +++++++++++++++++----
>  tests/f2fs/Makefile    | 24 ++++++++++++++++++------
>  tests/generic/Makefile | 21 +++++++++++++++++----
>  tests/overlay/Makefile | 23 ++++++++++++++++++-----
>  tests/shared/Makefile  | 21 +++++++++++++++++----
>  tests/udf/Makefile     | 21 +++++++++++++++++----
>  tests/xfs/Makefile     | 21 +++++++++++++++++----
>  9 files changed, 155 insertions(+), 39 deletions(-)
> 
> diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile
> index e1a5be1..0301d78 100644
> --- a/tests/btrfs/Makefile
> +++ b/tests/btrfs/Makefile
> @@ -5,16 +5,29 @@
>  TOPDIR = ../..
>  include $(TOPDIR)/include/builddefs
>  
> -BTRFS_DIR = btrfs
> -TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(BTRFS_DIR)
> +GROUP_DIR = btrfs
> +TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)

What's this change for?

Please don't make random undocumented changes when updating a
patchset. It is best not to change anything unrelated to the problem
being solved.


>  include $(BUILDRULES)
>  
> +# note: the second TESTS wildcard gets also .out files, but these will be
> +# overwritten with correct permissions a moment later, as they are also in
> +# OUTPUTS. Regexps here are really limited, so I didn't find a better
> +# solution...
> +TESTS = $(wildcard [0-9][0-9][0-9])
> +TESTS += $(wildcard [0-9][0-9][0-9]-*)

Ugh. The hacks need to be constrained to the makefile and not do
nasty things with installed files. 

What I think should be done here is to turn the selection around the
other way because we can select the output files directly and
correctly. We can then use that to build the test list via stripping
and filtering as all tests must have an output file associated with
them.

So:

# 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.*)
BASIC_OUTFILES = $(wildcard [0-9]??*.out)
OUTFILES = $(EXTENDED_OUTFILES) $(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)))

That will give you two lists - "OUTFILES" which are all the output
files that need to be installed, and "TESTS" which are all the tests
that should be installed. There will be no overlap between these two
lists.

I'd also suggest that this can probably be put in the BUILDRULES
file, as it will be common to all makefiles and doesn't need to be
repeated in every makefile.

Cheers,

Dave.
Jan Tulak July 11, 2016, 9:29 a.m. UTC | #2
Hi,

On Mon, Jul 4, 2016 at 3:40 AM, Dave Chinner <david@fromorbit.com> wrote:
> On Fri, Jul 01, 2016 at 06:09:06PM +0200, Jan Tulak wrote:
>> 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/*/
>>
>> Signed-off-by: Jan Tulak <jtulak@redhat.com>
>> ---
>> UPDATE:
>> Rewritten, now it doesn't fail without the extended name, and doesn't
>> suppress anything. Thanks Dave.
>> ---
>>  tests/btrfs/Makefile   | 21 +++++++++++++++++----
>>  tests/cifs/Makefile    | 21 +++++++++++++++++----
>>  tests/ext4/Makefile    | 21 +++++++++++++++++----
>>  tests/f2fs/Makefile    | 24 ++++++++++++++++++------
>>  tests/generic/Makefile | 21 +++++++++++++++++----
>>  tests/overlay/Makefile | 23 ++++++++++++++++++-----
>>  tests/shared/Makefile  | 21 +++++++++++++++++----
>>  tests/udf/Makefile     | 21 +++++++++++++++++----
>>  tests/xfs/Makefile     | 21 +++++++++++++++++----
>>  9 files changed, 155 insertions(+), 39 deletions(-)
>>
>> diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile
>> index e1a5be1..0301d78 100644
>> --- a/tests/btrfs/Makefile
>> +++ b/tests/btrfs/Makefile
>> @@ -5,16 +5,29 @@
>>  TOPDIR = ../..
>>  include $(TOPDIR)/include/builddefs
>>
>> -BTRFS_DIR = btrfs
>> -TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(BTRFS_DIR)
>> +GROUP_DIR = btrfs
>> +TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
>
> What's this change for?
>
> Please don't make random undocumented changes when updating a
> patchset. It is best not to change anything unrelated to the problem
> being solved.
>
>
>>  include $(BUILDRULES)
>>
>> +# note: the second TESTS wildcard gets also .out files, but these will be
>> +# overwritten with correct permissions a moment later, as they are also in
>> +# OUTPUTS. Regexps here are really limited, so I didn't find a better
>> +# solution...
>> +TESTS = $(wildcard [0-9][0-9][0-9])
>> +TESTS += $(wildcard [0-9][0-9][0-9]-*)
>
> Ugh. The hacks need to be constrained to the makefile and not do
> nasty things with installed files.
>
> What I think should be done here is to turn the selection around the
> other way because we can select the output files directly and
> correctly. We can then use that to build the test list via stripping
> and filtering as all tests must have an output file associated with
> them.
>
> So:
>
> # 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.*)
> BASIC_OUTFILES = $(wildcard [0-9]??*.out)
> OUTFILES = $(EXTENDED_OUTFILES) $(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)))
>
> That will give you two lists - "OUTFILES" which are all the output
> files that need to be installed, and "TESTS" which are all the tests
> that should be installed. There will be no overlap between these two
> lists.
>
> I'd also suggest that this can probably be put in the BUILDRULES
> file, as it will be common to all makefiles and doesn't need to be
> repeated in every makefile.
>

Thanks for your code. I submitted a modified patch, though I have a question...
Should I put you into Signed-of-by in this case, as you wrote most of
the new version of this patch?

Thanks,
Jan
Dave Chinner July 12, 2016, 2:32 a.m. UTC | #3
On Mon, Jul 11, 2016 at 11:29:42AM +0200, Jan Tulak wrote:
> Hi,
> 
> On Mon, Jul 4, 2016 at 3:40 AM, Dave Chinner <david@fromorbit.com> wrote:
> > On Fri, Jul 01, 2016 at 06:09:06PM +0200, Jan Tulak wrote:
> >> 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/*/
> >>
> >> Signed-off-by: Jan Tulak <jtulak@redhat.com>
> >> ---
> >> UPDATE:
> >> Rewritten, now it doesn't fail without the extended name, and doesn't
> >> suppress anything. Thanks Dave.
> >> ---
> >>  tests/btrfs/Makefile   | 21 +++++++++++++++++----
> >>  tests/cifs/Makefile    | 21 +++++++++++++++++----
> >>  tests/ext4/Makefile    | 21 +++++++++++++++++----
> >>  tests/f2fs/Makefile    | 24 ++++++++++++++++++------
> >>  tests/generic/Makefile | 21 +++++++++++++++++----
> >>  tests/overlay/Makefile | 23 ++++++++++++++++++-----
> >>  tests/shared/Makefile  | 21 +++++++++++++++++----
> >>  tests/udf/Makefile     | 21 +++++++++++++++++----
> >>  tests/xfs/Makefile     | 21 +++++++++++++++++----
> >>  9 files changed, 155 insertions(+), 39 deletions(-)
> >>
> >> diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile
> >> index e1a5be1..0301d78 100644
> >> --- a/tests/btrfs/Makefile
> >> +++ b/tests/btrfs/Makefile
> >> @@ -5,16 +5,29 @@
> >>  TOPDIR = ../..
> >>  include $(TOPDIR)/include/builddefs
> >>
> >> -BTRFS_DIR = btrfs
> >> -TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(BTRFS_DIR)
> >> +GROUP_DIR = btrfs
> >> +TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
> >
> > What's this change for?
> >
> > Please don't make random undocumented changes when updating a
> > patchset. It is best not to change anything unrelated to the problem
> > being solved.
> >
> >
> >>  include $(BUILDRULES)
> >>
> >> +# note: the second TESTS wildcard gets also .out files, but these will be
> >> +# overwritten with correct permissions a moment later, as they are also in
> >> +# OUTPUTS. Regexps here are really limited, so I didn't find a better
> >> +# solution...
> >> +TESTS = $(wildcard [0-9][0-9][0-9])
> >> +TESTS += $(wildcard [0-9][0-9][0-9]-*)
> >
> > Ugh. The hacks need to be constrained to the makefile and not do
> > nasty things with installed files.
> >
> > What I think should be done here is to turn the selection around the
> > other way because we can select the output files directly and
> > correctly. We can then use that to build the test list via stripping
> > and filtering as all tests must have an output file associated with
> > them.
> >
> > So:
> >
> > # 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.*)
> > BASIC_OUTFILES = $(wildcard [0-9]??*.out)
> > OUTFILES = $(EXTENDED_OUTFILES) $(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)))
> >
> > That will give you two lists - "OUTFILES" which are all the output
> > files that need to be installed, and "TESTS" which are all the tests
> > that should be installed. There will be no overlap between these two
> > lists.
> >
> > I'd also suggest that this can probably be put in the BUILDRULES
> > file, as it will be common to all makefiles and doesn't need to be
> > repeated in every makefile.
> >
> 
> Thanks for your code. I submitted a modified patch, though I have a question...
> Should I put you into Signed-of-by in this case, as you wrote most of
> the new version of this patch?

No. You wrote the patch, so it needs your SOB. The usual thing to do
here is add a line to the commit message saying something like:

	"Based on work/idea/prototype/code from ..."

that way it's clear where it originally came from. If the maintainer
requires further verification of the source of the code, I can ack
the patch you sent to the list.

Cheers,

Dave.
Jan Tulak July 12, 2016, 7:29 a.m. UTC | #4
On Tue, Jul 12, 2016 at 4:32 AM, Dave Chinner <david@fromorbit.com> wrote:
>> Thanks for your code. I submitted a modified patch, though I have a question...
>> Should I put you into Signed-of-by in this case, as you wrote most of
>> the new version of this patch?
>
> No. You wrote the patch, so it needs your SOB. The usual thing to do
> here is add a line to the commit message saying something like:
>
>         "Based on work/idea/prototype/code from ..."
>
> that way it's clear where it originally came from. If the maintainer
> requires further verification of the source of the code, I can ack
> the patch you sent to the list.
>

OK, thanks. Exactly as I did it. :-)

Thanks,
Jan
diff mbox

Patch

diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile
index e1a5be1..0301d78 100644
--- a/tests/btrfs/Makefile
+++ b/tests/btrfs/Makefile
@@ -5,16 +5,29 @@ 
 TOPDIR = ../..
 include $(TOPDIR)/include/builddefs
 
-BTRFS_DIR = btrfs
-TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(BTRFS_DIR)
+GROUP_DIR = btrfs
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
 
 include $(BUILDRULES)
 
+# note: the second TESTS wildcard gets also .out files, but these will be
+# overwritten with correct permissions a moment later, as they are also in
+# OUTPUTS. Regexps here are really limited, so I didn't find a better
+# solution...
+TESTS = $(wildcard [0-9][0-9][0-9])
+TESTS += $(wildcard [0-9][0-9][0-9]-*)
+
+
+OUTPUTS = $(wildcard [0-9][0-9][0-9].*)
+OUTPUTS += $(wildcard [0-9][0-9][0-9]-*.*)
+
+
+
 install:
 	$(INSTALL) -m 755 -d $(TARGET_DIR)
-	$(INSTALL) -m 755 [0-9]?? $(TARGET_DIR)
 	$(INSTALL) -m 644 group $(TARGET_DIR)
-	$(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR)
+	$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+	$(INSTALL) -m 644 $(OUTPUTS) $(TARGET_DIR)
 
 # Nothing.
 install-dev install-lib:
diff --git a/tests/cifs/Makefile b/tests/cifs/Makefile
index 9176e5c..b0575c2 100644
--- a/tests/cifs/Makefile
+++ b/tests/cifs/Makefile
@@ -5,16 +5,29 @@ 
 TOPDIR = ../..
 include $(TOPDIR)/include/builddefs
 
-CIFS_DIR = cifs
-TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(CIFS_DIR)
+GROUP_DIR = cifs
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
 
 include $(BUILDRULES)
 
+# note: the second TESTS wildcard gets also .out files, but these will be
+# overwritten with correct permissions a moment later, as they are also in
+# OUTPUTS. Regexps here are really limited, so I didn't find a better
+# solution...
+TESTS = $(wildcard [0-9][0-9][0-9])
+TESTS += $(wildcard [0-9][0-9][0-9]-*)
+
+
+OUTPUTS = $(wildcard [0-9][0-9][0-9].*)
+OUTPUTS += $(wildcard [0-9][0-9][0-9]-*.*)
+
+
+
 install:
 	$(INSTALL) -m 755 -d $(TARGET_DIR)
-	$(INSTALL) -m 755 [0-9]?? $(TARGET_DIR)
 	$(INSTALL) -m 644 group $(TARGET_DIR)
-	$(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR)
+	$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+	$(INSTALL) -m 644 $(OUTPUTS) $(TARGET_DIR)
 
 # Nothing.
 install-dev install-lib:
diff --git a/tests/ext4/Makefile b/tests/ext4/Makefile
index 7a3c8e1..5c562a8 100644
--- a/tests/ext4/Makefile
+++ b/tests/ext4/Makefile
@@ -5,16 +5,29 @@ 
 TOPDIR = ../..
 include $(TOPDIR)/include/builddefs
 
-EXT4_DIR = ext4
-TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(EXT4_DIR)
+GROUP_DIR = ext4
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
 
 include $(BUILDRULES)
 
+# note: the second TESTS wildcard gets also .out files, but these will be
+# overwritten with correct permissions a moment later, as they are also in
+# OUTPUTS. Regexps here are really limited, so I didn't find a better
+# solution...
+TESTS = $(wildcard [0-9][0-9][0-9])
+TESTS += $(wildcard [0-9][0-9][0-9]-*)
+
+
+OUTPUTS = $(wildcard [0-9][0-9][0-9].*)
+OUTPUTS += $(wildcard [0-9][0-9][0-9]-*.*)
+
+
+
 install:
 	$(INSTALL) -m 755 -d $(TARGET_DIR)
-	$(INSTALL) -m 755 [0-9]?? $(TARGET_DIR)
 	$(INSTALL) -m 644 group $(TARGET_DIR)
-	$(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR)
+	$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+	$(INSTALL) -m 644 $(OUTPUTS) $(TARGET_DIR)
 
 # Nothing.
 install-dev install-lib:
diff --git a/tests/f2fs/Makefile b/tests/f2fs/Makefile
index 4d00e9e..bc0a7fd 100644
--- a/tests/f2fs/Makefile
+++ b/tests/f2fs/Makefile
@@ -1,21 +1,33 @@ 
 #
-#  Copyright (c) 2015 Fujitsu Ltd.
-#  Author: Xiao Yang <yangx.jy@cn.fujitsu.com>
+# Copyright (c) 2003-2005 Silicon Graphics, Inc.  All Rights Reserved.
 #
 
 TOPDIR = ../..
 include $(TOPDIR)/include/builddefs
 
-F2FS_DIR = f2fs
-TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(F2FS_DIR)
+GROUP_DIR = f2fs
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
 
 include $(BUILDRULES)
 
+# note: the second TESTS wildcard gets also .out files, but these will be
+# overwritten with correct permissions a moment later, as they are also in
+# OUTPUTS. Regexps here are really limited, so I didn't find a better
+# solution...
+TESTS = $(wildcard [0-9][0-9][0-9])
+TESTS += $(wildcard [0-9][0-9][0-9]-*)
+
+
+OUTPUTS = $(wildcard [0-9][0-9][0-9].*)
+OUTPUTS += $(wildcard [0-9][0-9][0-9]-*.*)
+
+
+
 install:
 	$(INSTALL) -m 755 -d $(TARGET_DIR)
-	$(INSTALL) -m 755 [0-9]?? $(TARGET_DIR)
 	$(INSTALL) -m 644 group $(TARGET_DIR)
-	$(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR)
+	$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+	$(INSTALL) -m 644 $(OUTPUTS) $(TARGET_DIR)
 
 # Nothing.
 install-dev install-lib:
diff --git a/tests/generic/Makefile b/tests/generic/Makefile
index 9529fb8..6ca5df8 100644
--- a/tests/generic/Makefile
+++ b/tests/generic/Makefile
@@ -5,16 +5,29 @@ 
 TOPDIR = ../..
 include $(TOPDIR)/include/builddefs
 
-GENERIC_DIR = generic
-TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GENERIC_DIR)
+GROUP_DIR = generic
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
 
 include $(BUILDRULES)
 
+# note: the second TESTS wildcard gets also .out files, but these will be
+# overwritten with correct permissions a moment later, as they are also in
+# OUTPUTS. Regexps here are really limited, so I didn't find a better
+# solution...
+TESTS = $(wildcard [0-9][0-9][0-9])
+TESTS += $(wildcard [0-9][0-9][0-9]-*)
+
+
+OUTPUTS = $(wildcard [0-9][0-9][0-9].*)
+OUTPUTS += $(wildcard [0-9][0-9][0-9]-*.*)
+
+
+
 install:
 	$(INSTALL) -m 755 -d $(TARGET_DIR)
-	$(INSTALL) -m 755 [0-9]?? $(TARGET_DIR)
 	$(INSTALL) -m 644 group $(TARGET_DIR)
-	$(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR)
+	$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+	$(INSTALL) -m 644 $(OUTPUTS) $(TARGET_DIR)
 
 # Nothing.
 install-dev install-lib:
diff --git a/tests/overlay/Makefile b/tests/overlay/Makefile
index 63c9878..2a49585 100644
--- a/tests/overlay/Makefile
+++ b/tests/overlay/Makefile
@@ -1,20 +1,33 @@ 
 #
-# Copyright (c) 2016 Red Hat Inc.  All Rights Reserved.
+# Copyright (c) 2003-2005 Silicon Graphics, Inc.  All Rights Reserved.
 #
 
 TOPDIR = ../..
 include $(TOPDIR)/include/builddefs
 
-TEST_DIR = overlay
-TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(TEST_DIR)
+GROUP_DIR = overlay
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
 
 include $(BUILDRULES)
 
+# note: the second TESTS wildcard gets also .out files, but these will be
+# overwritten with correct permissions a moment later, as they are also in
+# OUTPUTS. Regexps here are really limited, so I didn't find a better
+# solution...
+TESTS = $(wildcard [0-9][0-9][0-9])
+TESTS += $(wildcard [0-9][0-9][0-9]-*)
+
+
+OUTPUTS = $(wildcard [0-9][0-9][0-9].*)
+OUTPUTS += $(wildcard [0-9][0-9][0-9]-*.*)
+
+
+
 install:
 	$(INSTALL) -m 755 -d $(TARGET_DIR)
-	$(INSTALL) -m 755 [0-9]?? $(TARGET_DIR)
 	$(INSTALL) -m 644 group $(TARGET_DIR)
-	$(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR)
+	$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+	$(INSTALL) -m 644 $(OUTPUTS) $(TARGET_DIR)
 
 # Nothing.
 install-dev install-lib:
diff --git a/tests/shared/Makefile b/tests/shared/Makefile
index cbd87f9..381abe9 100644
--- a/tests/shared/Makefile
+++ b/tests/shared/Makefile
@@ -5,16 +5,29 @@ 
 TOPDIR = ../..
 include $(TOPDIR)/include/builddefs
 
-SHARED_DIR = shared
-TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(SHARED_DIR)
+GROUP_DIR = shared
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
 
 include $(BUILDRULES)
 
+# note: the second TESTS wildcard gets also .out files, but these will be
+# overwritten with correct permissions a moment later, as they are also in
+# OUTPUTS. Regexps here are really limited, so I didn't find a better
+# solution...
+TESTS = $(wildcard [0-9][0-9][0-9])
+TESTS += $(wildcard [0-9][0-9][0-9]-*)
+
+
+OUTPUTS = $(wildcard [0-9][0-9][0-9].*)
+OUTPUTS += $(wildcard [0-9][0-9][0-9]-*.*)
+
+
+
 install:
 	$(INSTALL) -m 755 -d $(TARGET_DIR)
-	$(INSTALL) -m 755 [0-9]?? $(TARGET_DIR)
 	$(INSTALL) -m 644 group $(TARGET_DIR)
-	$(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR)
+	$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+	$(INSTALL) -m 644 $(OUTPUTS) $(TARGET_DIR)
 
 # Nothing.
 install-dev install-lib:
diff --git a/tests/udf/Makefile b/tests/udf/Makefile
index 1d96658..d9e388c 100644
--- a/tests/udf/Makefile
+++ b/tests/udf/Makefile
@@ -5,16 +5,29 @@ 
 TOPDIR = ../..
 include $(TOPDIR)/include/builddefs
 
-UDF_DIR = udf
-TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(UDF_DIR)
+GROUP_DIR = udf
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
 
 include $(BUILDRULES)
 
+# note: the second TESTS wildcard gets also .out files, but these will be
+# overwritten with correct permissions a moment later, as they are also in
+# OUTPUTS. Regexps here are really limited, so I didn't find a better
+# solution...
+TESTS = $(wildcard [0-9][0-9][0-9])
+TESTS += $(wildcard [0-9][0-9][0-9]-*)
+
+
+OUTPUTS = $(wildcard [0-9][0-9][0-9].*)
+OUTPUTS += $(wildcard [0-9][0-9][0-9]-*.*)
+
+
+
 install:
 	$(INSTALL) -m 755 -d $(TARGET_DIR)
-	$(INSTALL) -m 755 [0-9]?? $(TARGET_DIR)
 	$(INSTALL) -m 644 group $(TARGET_DIR)
-	$(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR)
+	$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+	$(INSTALL) -m 644 $(OUTPUTS) $(TARGET_DIR)
 
 # Nothing.
 install-dev install-lib:
diff --git a/tests/xfs/Makefile b/tests/xfs/Makefile
index db94be0..824e32c 100644
--- a/tests/xfs/Makefile
+++ b/tests/xfs/Makefile
@@ -5,16 +5,29 @@ 
 TOPDIR = ../..
 include $(TOPDIR)/include/builddefs
 
-XFS_DIR = xfs
-TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(XFS_DIR)
+GROUP_DIR = xfs
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GROUP_DIR)
 
 include $(BUILDRULES)
 
+# note: the second TESTS wildcard gets also .out files, but these will be
+# overwritten with correct permissions a moment later, as they are also in
+# OUTPUTS. Regexps here are really limited, so I didn't find a better
+# solution...
+TESTS = $(wildcard [0-9][0-9][0-9])
+TESTS += $(wildcard [0-9][0-9][0-9]-*)
+
+
+OUTPUTS = $(wildcard [0-9][0-9][0-9].*)
+OUTPUTS += $(wildcard [0-9][0-9][0-9]-*.*)
+
+
+
 install:
 	$(INSTALL) -m 755 -d $(TARGET_DIR)
-	$(INSTALL) -m 755 [0-9]?? $(TARGET_DIR)
 	$(INSTALL) -m 644 group $(TARGET_DIR)
-	$(INSTALL) -m 644 [0-9]??.* $(TARGET_DIR)
+	$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+	$(INSTALL) -m 644 $(OUTPUTS) $(TARGET_DIR)
 
 # Nothing.
 install-dev install-lib: