From patchwork Mon Jul 18 08:47:50 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Tulak X-Patchwork-Id: 9234207 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9D5FB60756 for ; Mon, 18 Jul 2016 08:48:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8D46320855 for ; Mon, 18 Jul 2016 08:48:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7DF43228C8; Mon, 18 Jul 2016 08:48:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E411F20855 for ; Mon, 18 Jul 2016 08:48:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751389AbcGRIsC (ORCPT ); Mon, 18 Jul 2016 04:48:02 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34265 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751326AbcGRIsB (ORCPT ); Mon, 18 Jul 2016 04:48:01 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C602D11BB57 for ; Mon, 18 Jul 2016 08:48:00 +0000 (UTC) Received: from jtulak.brq.redhat.com (jtulak.brq.redhat.com [10.34.26.85]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u6I8lxvO002793; Mon, 18 Jul 2016 04:47:59 -0400 From: Jan Tulak To: fstests@vger.kernel.org Cc: eguan@redhat.com, Jan Tulak Subject: [PATCH v2] xfstests: Fix installation for extended names Date: Mon, 18 Jul 2016 10:47:50 +0200 Message-Id: <1468831670-3464-1-git-send-email-jtulak@redhat.com> In-Reply-To: <1468500214-6237-1-git-send-email-jtulak@redhat.com> References: <1468500214-6237-1-git-send-email-jtulak@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Mon, 18 Jul 2016 08:48:00 +0000 (UTC) Sender: fstests-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 --- UPDATE: Add .cfg support --- 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 c8a7c47..76b755e 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 e1a5be1..2d93642 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 9176e5c..0c5cf3b 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 7a3c8e1..beb1541 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 4d00e9e..d13bca3 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 9529fb8..3878d05 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 63c9878..b07f892 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 cbd87f9..8a83278 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 1d96658..c9c9f1b 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 db94be0..d64800e 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: