@@ -253,3 +253,6 @@ LN = ln -sf
# flavour as arguments.
custom_override = \
$(shell if [ -n "$($(1)_$(2))" ]; then echo "$($(1)_$(2))"; else echo "$($(1))"; fi)
+
+# selftests that Ubuntu cares about
+ubuntu_selftests = breakpoints cpu-hotplug efivarfs memfd memory-hotplug mount net ptrace seccomp timers powerpc user ftrace
@@ -26,6 +26,10 @@ help:
@echo
@echo " diffupstream : Diff stock kernel code against upstream (git)"
@echo
+ @echo " compileselftests : Only compile the selftests listed on ubuntu_selftests variable"
+ @echo
+ @echo " runselftests : Run the selftests listed on ubuntu_selftests variable"
+ @echo
@echo " help : If you are kernel hacking, you need the professional"
@echo " version of this"
@echo
@@ -67,6 +71,7 @@ printenv:
@echo "skipdbg = $(skipdbg)"
@echo "ubuntu_log_opts = $(ubuntu_log_opts)"
@echo "CONCURRENCY_LEVEL = $(CONCURRENCY_LEVEL)"
+ @echo "ubuntu_selftests = $(ubuntu_selftests)"
@echo "bin package name = $(bin_pkg_name)"
@echo "hdr package name = $(hdrs_pkg_name)"
@echo "doc package name = $(doc_pkg_name)"
@@ -151,3 +156,11 @@ startnewrelease:
cat $(DEBIAN)/changelog >> $(DEBIAN)/changelog.new; \
mv $(DEBIAN)/changelog.new $(DEBIAN)/changelog
+compileselftests:
+ # a loop is needed here to fail on errors
+ for test in $(ubuntu_selftests); do \
+ $(kmake) -C tools/testing/selftests TARGETS="$$test"; \
+ done;
+
+runselftests:
+ $(kmake) -C tools/testing/selftests TARGETS="$(ubuntu_selftests)" run_tests
BugLink: https://bugs.launchpad.net/bugs/1874286 Add some simple debian/rules targets that will keep a list of the selftests that Ubuntu cares about, compile and run them. This can be plugged into our test build infrastructure in order to compile the testcases before we close and package a release. Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com> --- debian/rules.d/0-common-vars.mk | 3 +++ debian/rules.d/1-maintainer.mk | 13 +++++++++++++ 2 files changed, 16 insertions(+)