Hi, On Wed, 29 Apr 2020 17:50:44 +0800 Po-Hsu Lin <po-hsu....@canonical.com> wrote:
> When the required module for the test does not exist, use > exit_unsupported instead of exit_unresolved to indicate this test is > not supported. Hmm, this doesn't mean "the function is not supported" but "we can not resolve this because of the environmental issue". For example, if you forgot to install the modules, but the function itself is enabled, that can not be tested, but the system supports that feature. > > By doing this we can make test behaviour in sync with the > irqsoff_tracer.tc test in preemptirq, which is also treating module > existence in this way. Moreover, the test won't exit with a non-zero > return value if the module does not exist. It is OK to return zero even if the result is "unresolved", but I don't want to change the result of each test cases, because it clarify that you must install modules correctly, instead of enabling the feature. And OK, I found irqsoff_tracer.tc IS incorrect. It should be fixed to return UNRESOLVED if there is no test module. If you still think UNRESOLVED is unneeded, please propose the patch which removes all UNRESOLVED related code. That can start another discussion. Thank you, > > Fixes: 646f01ccdd59 ("ftrace/selftest: Add tests to test > register_ftrace_direct()") > Fixes: 4d23e9b4fd2e ("selftests/ftrace: Add trace_printk sample module test") > Fixes: 7bc026d6c032 ("selftests/ftrace: Add function filter on module > testcase") > Fixes: af2a0750f374 ("selftests/ftrace: Improve kprobe on module testcase to > load/unload module") > Signed-off-by: Po-Hsu Lin <po-hsu....@canonical.com> > --- > tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc | 2 +- > tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc | 2 +- > tools/testing/selftests/ftrace/test.d/event/trace_printk.tc | 2 +- > tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc | 2 +- > tools/testing/selftests/ftrace/test.d/kprobe/kprobe_module.tc | 2 +- > 5 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc > b/tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc > index d75a869..3d6189e 100644 > --- a/tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc > +++ b/tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc > @@ -5,7 +5,7 @@ > rmmod ftrace-direct ||: > if ! modprobe ftrace-direct ; then > echo "No ftrace-direct sample module - please make > CONFIG_SAMPLE_FTRACE_DIRECT=m" > - exit_unresolved; > + exit_unsupported; > fi > > echo "Let the module run a little" > diff --git a/tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc > b/tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc > index 801ecb6..3d0e3ca 100644 > --- a/tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc > +++ b/tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc > @@ -5,7 +5,7 @@ > rmmod ftrace-direct ||: > if ! modprobe ftrace-direct ; then > echo "No ftrace-direct sample module - please build with > CONFIG_SAMPLE_FTRACE_DIRECT=m" > - exit_unresolved; > + exit_unsupported; > fi > > if [ ! -f kprobe_events ]; then > diff --git a/tools/testing/selftests/ftrace/test.d/event/trace_printk.tc > b/tools/testing/selftests/ftrace/test.d/event/trace_printk.tc > index b02550b..dd8b10d 100644 > --- a/tools/testing/selftests/ftrace/test.d/event/trace_printk.tc > +++ b/tools/testing/selftests/ftrace/test.d/event/trace_printk.tc > @@ -5,7 +5,7 @@ > rmmod trace-printk ||: > if ! modprobe trace-printk ; then > echo "No trace-printk sample module - please make > CONFIG_SAMPLE_TRACE_PRINTK=m" > - exit_unresolved; > + exit_unsupported; > fi > > echo "Waiting for irq work" > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc > b/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc > index 1a4b4a4..26dc06a 100644 > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc > @@ -13,7 +13,7 @@ echo '*:mod:trace_printk' > set_ftrace_filter > if ! modprobe trace-printk ; then > echo "No trace-printk sample module - please make > CONFIG_SAMPLE_TRACE_PRINTK= > m" > - exit_unresolved; > + exit_unsupported; > fi > > : "Wildcard should be resolved after loading module" > diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_module.tc > b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_module.tc > index d861bd7..4e07c69 100644 > --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_module.tc > +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_module.tc > @@ -8,7 +8,7 @@ rmmod trace-printk ||: > if ! modprobe trace-printk ; then > echo "No trace-printk sample module - please make > CONFIG_SAMPLE_TRACE_PRINTK= > m" > - exit_unresolved; > + exit_unsupported; > fi > > MOD=trace_printk > -- > 2.7.4 > -- Masami Hiramatsu <mhira...@kernel.org>