xfstests: make install support common/ and tests/ dirs
PATCH v2 1/1 xfstests: make install support common/ and tests/ dirs
xfstests have some change on the organization of the testcases and common* files:
* The common* scripts have been reorganized into the common/ dir.
* The testcases have been reorganized into sub test dirs under tests/.
* The run.* scripts have been removed.
This patch uses the simple way to make install support above changes:
Make up one Makefile for each newly created subdirs, which can control 'make install' separately.
v2 introduces the following changes compared with v1:
* Ignore the file 'group' under the top dir, for it's useless in the new structures.
* Remove the redundant comments in the Makefiles.
* Use XXX_DIR instead of XXX_SUBDIR in the Makefiles under common/ and tests/.
* Export TESTS_DIR in teh top level Makefile instead of tests/Makefile.
* Obtain the names of dirs for testcases by iterating sub dirs under /tests, not by enumeration in tests/Makefile.
--- Makefile | 12 +++++------- common/Makefile | 16 ++++++++++++++++ tests/Makefile | 19 +++++++++++++++++++ tests/btrfs/Makefile | 20 ++++++++++++++++++++ tests/ext4/Makefile | 20 ++++++++++++++++++++ tests/generic/Makefile | 20 ++++++++++++++++++++ tests/shared/Makefile | 20 ++++++++++++++++++++ tests/udf/Makefile | 20 ++++++++++++++++++++ tests/xfs/Makefile | 20 ++++++++++++++++++++ 9 files changed, 160 insertions(+), 7 deletions(-) create mode 100644 common/Makefile create mode 100644 tests/Makefile create mode 100644 tests/btrfs/Makefile create mode 100644 tests/ext4/Makefile create mode 100644 tests/generic/Makefile create mode 100644 tests/shared/Makefile create mode 100644 tests/udf/Makefile create mode 100644 tests/xfs/Makefile
Makefile +5 -7
@@ -52,12 +52,15 @@ LDIRT += $(SRCTAR) endif LIB_SUBDIRS = include lib -TOOL_SUBDIRS = ltp src m4 +TOOL_SUBDIRS = ltp src m4 common ifeq ($(HAVE_DMAPI), true) TOOL_SUBDIRS += dmapi endif -SUBDIRS = $(LIB_SUBDIRS) $(TOOL_SUBDIRS) +TESTS_DIR = tests +export TESTS_DIR + +SUBDIRS = $(LIB_SUBDIRS) $(TOOL_SUBDIRS) $(TESTS_DIR) default: include/builddefs $(DMAPI_MAKEFILE) $(TESTS) ifeq ($(HAVE_BUILDDEFS), no)
@@ -91,12 +94,7 @@ depend: include/builddefs $(addsuffix -depend,$(SUBDIRS)) install: default $(addsuffix -install,$(SUBDIRS)) $(INSTALL) -m 755 -d $(PKG_LIB_DIR) $(INSTALL) -m 755 check $(PKG_LIB_DIR) - $(INSTALL) -m 755 [0-9]?? $(PKG_LIB_DIR) - $(INSTALL) -m 755 run.* $(PKG_LIB_DIR) - $(INSTALL) -m 644 group $(PKG_LIB_DIR) $(INSTALL) -m 644 randomize.awk $(PKG_LIB_DIR) - $(INSTALL) -m 644 [0-9]??.* $(PKG_LIB_DIR) - $(INSTALL) -m 644 common* $(PKG_LIB_DIR) # Nothing. install-dev install-lib:
common/Makefile new file +16 -0
@@ -0,0 +1,16 @@ +# +# Copyright (c) 2003-2006 Silicon Graphics, Inc. All Rights Reserved. +# + +TOPDIR = .. +include $(TOPDIR)/include/builddefs + +COMMON_DIR = common + +include $(BUILDRULES) + +install: + $(INSTALL) -m 755 -d $(PKG_LIB_DIR)/$(COMMON_DIR) + $(INSTALL) -m 644 * $(PKG_LIB_DIR)/$(COMMON_DIR) + +install-dev install-lib:
tests/Makefile new file +19 -0
@@ -0,0 +1,19 @@ +# +# Copyright (c) 2003-2005 Silicon Graphics, Inc. All Rights Reserved. +# + +TOPDIR = .. +include $(TOPDIR)/include/builddefs + +TESTS_SUBDIRS = $(shell find . -maxdepth 1 -type d | sed -n -e 's/\.\///gp') + +include $(BUILDRULES) + +install: $(addsuffix -install,$(TESTS_SUBDIRS)) + $(INSTALL) -m 755 -d $(PKG_LIB_DIR)/$(TESTS_DIR) + +# Nothing. +install-dev install-lib: + +%-install: + $(MAKE) $(MAKEOPTS) -C $* install
tests/btrfs/Makefile new file +20 -0
@@ -0,0 +1,20 @@ +# +# Copyright (c) 2003-2005 Silicon Graphics, Inc. All Rights Reserved. +# + +TOPDIR = ../.. +include $(TOPDIR)/include/builddefs + +BTRFS_DIR = btrfs +TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(BTRFS_DIR) + +include $(BUILDRULES) + +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) + +# Nothing. +install-dev install-lib:
tests/ext4/Makefile new file +20 -0
@@ -0,0 +1,20 @@ +# +# Copyright (c) 2003-2005 Silicon Graphics, Inc. All Rights Reserved. +# + +TOPDIR = ../.. +include $(TOPDIR)/include/builddefs + +EXT4_DIR = ext4 +TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(EXT4_DIR) + +include $(BUILDRULES) + +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) + +# Nothing. +install-dev install-lib:
tests/generic/Makefile new file +20 -0
@@ -0,0 +1,20 @@ +# +# Copyright (c) 2003-2005 Silicon Graphics, Inc. All Rights Reserved. +# + +TOPDIR = ../.. +include $(TOPDIR)/include/builddefs + +GENERIC_DIR = generic +TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GENERIC_DIR) + +include $(BUILDRULES) + +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) + +# Nothing. +install-dev install-lib:
tests/shared/Makefile new file +20 -0
@@ -0,0 +1,20 @@ +# +# Copyright (c) 2003-2005 Silicon Graphics, Inc. All Rights Reserved. +# + +TOPDIR = ../.. +include $(TOPDIR)/include/builddefs + +SHARED_DIR = shared +TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(SHARED_DIR) + +include $(BUILDRULES) + +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) + +# Nothing. +install-dev install-lib:
tests/udf/Makefile new file +20 -0
@@ -0,0 +1,20 @@ +# +# Copyright (c) 2003-2005 Silicon Graphics, Inc. All Rights Reserved. +# + +TOPDIR = ../.. +include $(TOPDIR)/include/builddefs + +UDF_DIR = udf +TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(UDF_DIR) + +include $(BUILDRULES) + +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) + +# Nothing. +install-dev install-lib:
tests/xfs/Makefile new file +20 -0
@@ -0,0 +1,20 @@ +# +# Copyright (c) 2003-2005 Silicon Graphics, Inc. All Rights Reserved. +# + +TOPDIR = ../.. +include $(TOPDIR)/include/builddefs + +XFS_DIR = xfs +TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(XFS_DIR) + +include $(BUILDRULES) + +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) + +# Nothing. +install-dev install-lib:
Signature · 6 lines
1.7.12.4 _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
tests/Makefile line 8
Quoted 6 lines · Wang Sheng-Hui
tests/Makefile new file +6
-0+# + +TOPDIR = .. +include $(TOPDIR)/include/builddefs + +TESTS_SUBDIRS = $(shell find . -maxdepth 1 -type d | sed -n -e 's/\.\///gp')
This is much neater:
TESTS_SUBDIRS = $(sort $(dir $(wildcard $(PWD)/*/)))
-Dave.
Signature · 7 lines
Dave Chinner [email protected] _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
Quoted 11 lines · Dave Chinner
tests/Makefile line 8
Quoted 6 lines · Wang Sheng-Hui
tests/Makefile new file +6
-0+# + +TOPDIR = .. +include $(TOPDIR)/include/builddefs + +TESTS_SUBDIRS = $(shell find . -maxdepth 1 -type d | sed -n -e 's/\.\///gp')This is much neater:
TESTS_SUBDIRS= $(sort $(dir $(wildcard $(PWD)/*/)))
Hi Dave,
I introduces Makefile under tests/, which would return to TESTS_SUBDIRS with the $(dir function. By running find in $(shell, TEST_SUBDIRS will only get the dir names, and no Makefile.
Regards,
Sheng-Hui
Quoted 3 lines
-Dave.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Rich Johnston
Reviewed-byQuoted 11 lines · Wang Sheng-Hui
Hi Dave,
I introduces
Makefileunder tests/, which would return toTESTS_SUBDIRSwith the
$(dir function. By running find in $(shell,TEST_SUBDIRSwill only get the dir names,
and noMakefile.Regards,
Sheng-Hui
Thanks addressing comments and for v2 of this patch.
I still had issues with Makefile which I corrected at commit time.
Thanks again for the patch, it has been committed, --Rich
commit 2519a97d1083efca79006ba5bd4ddb9f4af65a5e
Author: Wang Sheng-Hui <[email protected]> Date: Fri Apr 12 04:26:53 2013 +0000
xfstests: make install support common/ and tests/ dirs
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 11 lines · Wang Sheng-Hui
Quoted 10 lines · Dave Chinner
tests/Makefile line 8
Quoted 6 lines · Wang Sheng-Hui
tests/Makefile new file +6
-0+# + +TOPDIR = .. +include $(TOPDIR)/include/builddefs + +TESTS_SUBDIRS = $(shell find . -maxdepth 1 -type d | sed -n -e 's/\.\///gp')This is much neater:
Quoted 7 lines
Quoted 1 line
TESTS_SUBDIRS= $(sort $(dir $(wildcard $(PWD)/*/)))Hi Dave,
I introduces
Makefileunder tests/, which would return toTESTS_SUBDIRSwith the $(dir function. By running find in $(shell,TEST_SUBDIRSwill only get the dir names, and noMakefile.
I think you misunderstand. The wildcard above only returns directories:
$ pwd 0 ~/src/xfstests-dev/tests $ cat ~/tmp/Makefile foo=$(sort $(dir $(wildcard $(PWD)/*/)))
default:
@echo $(foo) $ make -f ~/tmp/Makefile /home/dave/src/xfstests-dev/tests/btrfs/ /home/dave/src/xfstests-dev/tests/ext4/ /home/dave/src/xfstests-dev/tests/generic/ /home/dave/src/xfstests-dev/tests/shared/ /home/dave/src/xfstests-dev/tests/udf/ /home/dave/src/xfstests-dev/tests/xfs/ $
Cheers,
Dave.
Signature · 7 lines
Dave Chinner [email protected] _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
Quoted 10 lines · Rich Johnston
Quoted 9 lines · Wang Sheng-Hui
Hi Dave,
I introduces
Makefileunder tests/, which would return toTESTS_SUBDIRSwith the
$(dir function. By running find in $(shell,TEST_SUBDIRSwill only get the dir names,
and noMakefile.
Quoted 8 lines
Quoted 2 lines
Regards,
Sheng-HuiThanks addressing comments and for v2 of this patch.
I still had issues with
Makefilewhich I corrected at commit time.Thanks again for the patch, it has been committed,
Rich, it's great that you are picking this stuff up quickly, but as I asked recently, please don't commit patches while there is still an active review conversation going on....
Cheers,
Dave.
Signature · 7 lines
Dave Chinner [email protected] _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
Quoted 28 lines · Dave Chinner
Quoted 11 lines · Wang Sheng-Hui
Quoted 10 lines · Dave Chinner
tests/Makefile line 8
Quoted 6 lines · Wang Sheng-Hui
tests/Makefile new file +6
-0+# + +TOPDIR = .. +include $(TOPDIR)/include/builddefs + +TESTS_SUBDIRS = $(shell find . -maxdepth 1 -type d | sed -n -e 's/\.\///gp')This is much neater:
Quoted 7 lines
Quoted 1 line
TESTS_SUBDIRS= $(sort $(dir $(wildcard $(PWD)/*/)))Hi Dave,
I introduces
Makefileunder tests/, which would return toTESTS_SUBDIRSwith the $(dir function. By running find in $(shell,TEST_SUBDIRSwill only get the dir names, and noMakefile.I think you misunderstand. The wildcard above only returns directories:
$ pwd 0 ~/src/xfstests-dev/tests $ cat ~/tmp/Makefile foo=$(sort $(dir $(wildcard $(PWD)/*/)))
Quoted 6 lines
default:
@echo $(foo) $ make -f ~/tmp/Makefile /home/dave/src/xfstests-dev/tests/btrfs/ /home/dave/src/xfstests-dev/tests/ext4/ /home/dave/src/xfstests-dev/tests/generic/ /home/dave/src/xfstests-dev/tests/shared/ /home/dave/src/xfstests-dev/tests/udf/ /home/dave/src/xfstests-dev/tests/xfs/ $
Dave,
The output on my box is different with yours.
# pwd /root/workspace/xfstests/tests # cat /tmp/Makefile foo=$(sort $(dir $(wildcard $(PWD)/*/))) foo: @echo $(foo) # make -f /tmp/Makefile foo /root/workspace/xfstests/tests/ /root/workspace/xfstests/tests/btrfs/ /root/workspace/xfstests/tests/ext4/ /root/workspace/xfstests/tests/generic/ /root/workspace/xfstests/tests/shared/ /root/workspace/xfstests/tests/udf/ /root/workspace/xfstests/tests/xfs/
It always output the tests/ dir itself. If I used this for xfstests 'make install', it will fall into endless loop, for it will rerun Makefile under /tests.
Quoted 4 lines
Cheers,
Dave.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 49 lines · Wang Sheng-Hui
Quoted 28 lines · Dave Chinner
Quoted 11 lines · Wang Sheng-Hui
Quoted 10 lines · Dave Chinner
tests/Makefile line 8
Quoted 6 lines · Wang Sheng-Hui
tests/Makefile new file +6
-0+# + +TOPDIR = .. +include $(TOPDIR)/include/builddefs + +TESTS_SUBDIRS = $(shell find . -maxdepth 1 -type d | sed -n -e 's/\.\///gp')This is much neater:
Quoted 7 lines
Quoted 1 line
TESTS_SUBDIRS= $(sort $(dir $(wildcard $(PWD)/*/)))Hi Dave,
I introduces
Makefileunder tests/, which would return toTESTS_SUBDIRSwith the $(dir function. By running find in $(shell,TEST_SUBDIRSwill only get the dir names, and noMakefile.I think you misunderstand. The wildcard above only returns directories:
$ pwd 0 ~/src/xfstests-dev/tests $ cat ~/tmp/Makefile foo=$(sort $(dir $(wildcard $(PWD)/*/)))Quoted 6 lines
default:
@echo $(foo) $ make -f ~/tmp/Makefile /home/dave/src/xfstests-dev/tests/btrfs/ /home/dave/src/xfstests-dev/tests/ext4/ /home/dave/src/xfstests-dev/tests/generic/ /home/dave/src/xfstests-dev/tests/shared/ /home/dave/src/xfstests-dev/tests/udf/ /home/dave/src/xfstests-dev/tests/xfs/ $Dave,
The output on my box is different with yours.
# pwd /root/workspace/xfstests/tests # cat /tmp/Makefile foo=$(sort $(dir $(wildcard $(PWD)/*/))) foo: @echo $(foo) # make -f /tmp/Makefile foo /root/workspace/xfstests/tests/ /root/workspace/xfstests/tests/btrfs/ /root/workspace/xfstests/tests/ext4/ /root/workspace/xfstests/tests/generic/ /root/workspace/xfstests/tests/shared/ /root/workspace/xfstests/tests/udf/ /root/workspace/xfstests/tests/xfs/
Quoted 9 lines
It always output the tests/ dir itself. If I used this for xfstests 'make install', it will fall into endless loop, for it will rerun
Makefileunder /tests.Quoted 4 lines
Cheers,
Dave.
Seems it's the $(PWD) introduces the loop.
When make install under xfstests, $(PWD) will refer to the path to xfstests instead of xfstests/tests, even if is defined in xfstests/tests/Makefile.
Will send out the v3 patch later.
Regards,
Sheng-Hui
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 20 lines · Dave Chinner
Quoted 10 lines · Rich Johnston
Quoted 9 lines · Wang Sheng-Hui
Hi Dave,
I introduces
Makefileunder tests/, which would return toTESTS_SUBDIRSwith the
$(dir function. By running find in $(shell,TEST_SUBDIRSwill only get the dir names,
and noMakefile.Quoted 8 lines
Quoted 2 lines
Regards,
Sheng-HuiThanks addressing comments and for v2 of this patch.
I still had issues with
Makefilewhich I corrected at commit time.Thanks again for the patch, it has been committed,
Quoted 8 lines
Rich, it's great that you are picking this stuff up quickly, but as I asked recently, please don't commit patches while there is still an active review conversation going on....
Cheers,
Dave.
Dave,
I was a little quick on the draw, I will wait till all parties have concluded discussions.
--Rich
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 20 lines · Dave Chinner
Quoted 10 lines · Rich Johnston
Quoted 9 lines · Wang Sheng-Hui
Hi Dave,
I introduces
Makefileunder tests/, which would return toTESTS_SUBDIRSwith the
$(dir function. By running find in $(shell,TEST_SUBDIRSwill only get the dir names,
and noMakefile.Quoted 8 lines
Quoted 2 lines
Regards,
Sheng-HuiThanks addressing comments and for v2 of this patch.
I still had issues with
Makefilewhich I corrected at commit time.Thanks again for the patch, it has been committed,
Quoted 8 lines
Rich, it's great that you are picking this stuff up quickly, but as I asked recently, please don't commit patches while there is still an active review conversation going on....
Cheers,
Dave.
Dave,
I was a little quick on the draw, I will wait till all parties have concluded discussions.
--Rich
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs