[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1420794375-31881-4-git-send-email-mpe@ellerman.id.au>
Date: Fri, 9 Jan 2015 20:06:13 +1100
From: Michael Ellerman <mpe@...erman.id.au>
To: <linux-kernel@...r.kernel.org>
Cc: mmarek@...e.cz, gregkh@...uxfoundation.org,
akpm@...ux-foundation.org, rostedt@...dmis.org, mingo@...hat.com,
davem@...emloft.net, keescook@...omium.org, tranmanphong@...il.com,
cov@...eaurora.org, dh.herrmann@...il.com, hughd@...gle.com,
bobby.prani@...il.com, serge.hallyn@...ntu.com,
ebiederm@...ssion.com, tim.bird@...ymobile.com,
josh@...htriplett.org, koct9i@...il.com,
linux-kbuild@...r.kernel.org, linux-api@...r.kernel.org,
netdev@...r.kernel.org, shuahkh@....samsung.com
Subject: [PATCH 4/6] kbuild: add a new kselftest_install make target to install selftests
Add a new make target to install kernel selftests. This new target will
build and install selftests.
The default is just $(objtree)/selftests. This is preferable to
something based on $(INSTALL_MOD_PATH) (which defaults to /), as it
allows a normal user to install the tests. This is similar to the
default behaviour of make headers_install.
Therefore the most basic usage is:
$ make kselftests_install
$ ./selftests/all.sh
To install elsewhere use:
$ make kselftests_install INSTALL_SELFTESTS_PATH=/some/where
$ /some/where/all.sh
Signed-off-by: Shuah Khan <shuahkh@....samsung.com>
Signed-off-by: Michael Ellerman <mpe@...erman.id.au>
---
Makefile | 13 ++++++++++++-
tools/testing/selftests/Makefile | 1 +
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index eb4eca56843a..c186a928d8be 100644
--- a/Makefile
+++ b/Makefile
@@ -1072,12 +1072,20 @@ headers_check: headers_install
$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi/asm $(hdr-dst) HDRCHECK=1
# ---------------------------------------------------------------------------
-# Kernel selftest
+# Kernel selftest targets
+
+# Default base path for kselftest install
+INSTALL_SELFTESTS_PATH = $(abspath $(objtree)/selftests)
PHONY += kselftest
kselftest:
$(Q)$(MAKE) -C tools/testing/selftests run_tests
+# Kernel selftest install
+PHONY += kselftest_install
+kselftest_install:
+ $(Q)$(MAKE) -C tools/testing/selftests INSTALL_PATH=$(INSTALL_SELFTESTS_PATH) install
+
# ---------------------------------------------------------------------------
# Modules
@@ -1286,6 +1294,9 @@ help:
@echo ' Build, install, and boot kernel before'
@echo ' running kselftest on it'
@echo ''
+ @echo ' kselftest_install - Install selftests to INSTALL_SELFTESTS_PATH'
+ @echo ' default: $(INSTALL_SELFTESTS_PATH)'
+ @echo ''
@echo 'Kernel packaging:'
@$(MAKE) $(build)=$(package-dir) help
@echo ''
diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
index 4f2849b5ff77..a2345f4512bb 100644
--- a/tools/testing/selftests/Makefile
+++ b/tools/testing/selftests/Makefile
@@ -62,6 +62,7 @@ ifdef INSTALL_PATH
@# Ask all targets to emit their test scripts
echo "#!/bin/bash\n\n" > $(ALL_SCRIPT)
+ echo "cd \$$(dirname \$$0)" >> $(ALL_SCRIPT)
echo "ROOT=\$$PWD\n" >> $(ALL_SCRIPT)
for TARGET in $(TARGETS); do \
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists