Re: [PATCH] selftests: Install settings files to fix TIMEOUT failures

From: Michael Ellerman
Date: Fri Feb 21 2020 - 00:12:36 EST

Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> writes:
> On 2/20/20 3:51 PM, Kees Cook wrote:
>> On Thu, Feb 20, 2020 at 03:42:41PM +1100, Michael Ellerman wrote:
>>> Commit 852c8cbf34d3 ("selftests/kselftest/ Add 45 second
>>> timeout per test") added a 45 second timeout for tests, and also added
>>> a way for tests to customise the timeout via a settings file.
>>> For example the ftrace tests take multiple minutes to run, so they
>>> were given longer in commit b43e78f65b1d ("tracing/selftests: Turn off
>>> timeout setting").
>>> This works when the tests are run from the source tree. However if the
>>> tests are installed with "make -C tools/testing/selftests install",
>>> the settings files are not copied into the install directory. When the
>>> tests are then run from the install directory the longer timeouts are
>>> not applied and the tests timeout incorrectly.
>> Eek, yes, nice catch.
>>> So add the settings files to TEST_FILES of the appropriate Makefiles
>>> to cause the settings files to be installed using the existing install
>>> logic.
>> Instead, shouldn't "notice" the settings file and automatically
>> include it in TEST_FILES instead of having to do this in each separate
>> Makefile?
> Let's keep it custom per test for now.

Yeah that seems less magical.

FWIW the patch below does work, so it's a small patch, but I'm not sure
it's worth the added complexity vs just listing the file in the few
tests that need it.


diff --git a/tools/testing/selftests/ b/tools/testing/selftests/
index 1c8a1963d03f..82086c6ad5e7 100644
--- a/tools/testing/selftests/
+++ b/tools/testing/selftests/
@@ -20,6 +20,10 @@ TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))

+ifeq ($(wildcard settings),settings)
+ TEST_FILES += settings
top_srcdir ?= ../../../..
include $(top_srcdir)/scripts/subarch.include