On Fri, May 1, 2020 at 9:59 AM Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote: > > Hi, > > On Wed, 29 Apr 2020 17:50:44 +0800 > Po-Hsu Lin <po-hsu.lin@xxxxxxxxxxxxx> 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. Hello Masami, With Alan Maguire's recent commit b730d668138c ("ftrace/selftest: make unresolved cases cause failure if --fail-unresolved set") landed on the tree. I think this unresolved return value issue is all good here. It is indeed a good question to brainstorm with about how to distinguish a not enabled / enabled but not working feature. I will fix the irqsoff_tracer.tc test here to make them consistent first. Thank you for your feedback. Po-Hsu > > 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.lin@xxxxxxxxxxxxx> > > --- > > 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 <mhiramat@xxxxxxxxxx>