diff mbox series

[v2,2/2] ftrace/selftest: make unresolved cases cause failure if --fail-unresolved set

Message ID 1582104810-12983-3-git-send-email-alan.maguire@oracle.com
State Mainlined
Commit b730d668138cb3dd9ce78f8003986d1adae5523a
Headers show
Series ftrace/selftest: clean up failure cases | expand

Commit Message

Alan Maguire Feb. 19, 2020, 9:33 a.m. UTC
Currently, ftracetest will return 1 (failure) if any unresolved cases
are encountered.  The unresolved status results from modules and
programs not being available, and as such does not indicate any
issues with ftrace itself.  As such, change the behaviour of
ftracetest in line with unsupported cases; if unsupported cases
happen, ftracetest still returns 0 unless --fail-unsupported.  Here
--fail-unresolved is added and the default is to return 0 if
unresolved results occur.

Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
---
 tools/testing/selftests/ftrace/ftracetest | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Masami Hiramatsu Feb. 19, 2020, 11:39 a.m. UTC | #1
On Wed, 19 Feb 2020 09:33:30 +0000
Alan Maguire <alan.maguire@oracle.com> wrote:

> Currently, ftracetest will return 1 (failure) if any unresolved cases
> are encountered.  The unresolved status results from modules and
> programs not being available, and as such does not indicate any
> issues with ftrace itself.  As such, change the behaviour of
> ftracetest in line with unsupported cases; if unsupported cases
> happen, ftracetest still returns 0 unless --fail-unsupported.  Here
> --fail-unresolved is added and the default is to return 0 if
> unresolved results occur.
> 

OK, this looks good to me. One note, with this change, ftracetest doesn't
fail even if your test environment is not well prepared anymore.

Acked-by: Masami Hiramatsu <mhiramat@kernel.org>

Thank you,

> Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
> ---
>  tools/testing/selftests/ftrace/ftracetest | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
> index 144308a..19e9236 100755
> --- a/tools/testing/selftests/ftrace/ftracetest
> +++ b/tools/testing/selftests/ftrace/ftracetest
> @@ -17,6 +17,7 @@ echo "		-v|--verbose Increase verbosity of test messages"
>  echo "		-vv        Alias of -v -v (Show all results in stdout)"
>  echo "		-vvv       Alias of -v -v -v (Show all commands immediately)"
>  echo "		--fail-unsupported Treat UNSUPPORTED as a failure"
> +echo "		--fail-unresolved Treat UNRESOLVED as a failure"
>  echo "		-d|--debug Debug mode (trace all shell commands)"
>  echo "		-l|--logdir <dir> Save logs on the <dir>"
>  echo "		            If <dir> is -, all logs output in console only"
> @@ -112,6 +113,10 @@ parse_opts() { # opts
>        UNSUPPORTED_RESULT=1
>        shift 1
>      ;;
> +    --fail-unresolved)
> +      UNRESOLVED_RESULT=1
> +      shift 1
> +    ;;
>      --logdir|-l)
>        LOG_DIR=$2
>        shift 2
> @@ -176,6 +181,7 @@ KEEP_LOG=0
>  DEBUG=0
>  VERBOSE=0
>  UNSUPPORTED_RESULT=0
> +UNRESOLVED_RESULT=0
>  STOP_FAILURE=0
>  # Parse command-line options
>  parse_opts $*
> @@ -280,7 +286,7 @@ eval_result() { # sigval
>      $UNRESOLVED)
>        prlog "	[${color_blue}UNRESOLVED${color_reset}]"
>        UNRESOLVED_CASES="$UNRESOLVED_CASES $CASENO"
> -      return 1 # this is a kind of bug.. something happened.
> +      return $UNRESOLVED_RESULT # depends on use case
>      ;;
>      $UNTESTED)
>        prlog "	[${color_blue}UNTESTED${color_reset}]"
> -- 
> 1.8.3.1
>
Masami Hiramatsu May 1, 2020, 9:42 a.m. UTC | #2
On Wed, 19 Feb 2020 20:39:41 +0900
Masami Hiramatsu <mhiramat@kernel.org> wrote:

> On Wed, 19 Feb 2020 09:33:30 +0000
> Alan Maguire <alan.maguire@oracle.com> wrote:
> 
> > Currently, ftracetest will return 1 (failure) if any unresolved cases
> > are encountered.  The unresolved status results from modules and
> > programs not being available, and as such does not indicate any
> > issues with ftrace itself.  As such, change the behaviour of
> > ftracetest in line with unsupported cases; if unsupported cases
> > happen, ftracetest still returns 0 unless --fail-unsupported.  Here
> > --fail-unresolved is added and the default is to return 0 if
> > unresolved results occur.
> > 
> 
> OK, this looks good to me. One note, with this change, ftracetest doesn't
> fail even if your test environment is not well prepared anymore.
> 
> Acked-by: Masami Hiramatsu <mhiramat@kernel.org>

Hi Shuah,
Could you pick this up?

Po-Hsu Lin seemed to face same problem recently. If this applied, it will be solved.

Thank you,

> 
> Thank you,
> 
> > Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
> > ---
> >  tools/testing/selftests/ftrace/ftracetest | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
> > index 144308a..19e9236 100755
> > --- a/tools/testing/selftests/ftrace/ftracetest
> > +++ b/tools/testing/selftests/ftrace/ftracetest
> > @@ -17,6 +17,7 @@ echo "		-v|--verbose Increase verbosity of test messages"
> >  echo "		-vv        Alias of -v -v (Show all results in stdout)"
> >  echo "		-vvv       Alias of -v -v -v (Show all commands immediately)"
> >  echo "		--fail-unsupported Treat UNSUPPORTED as a failure"
> > +echo "		--fail-unresolved Treat UNRESOLVED as a failure"
> >  echo "		-d|--debug Debug mode (trace all shell commands)"
> >  echo "		-l|--logdir <dir> Save logs on the <dir>"
> >  echo "		            If <dir> is -, all logs output in console only"
> > @@ -112,6 +113,10 @@ parse_opts() { # opts
> >        UNSUPPORTED_RESULT=1
> >        shift 1
> >      ;;
> > +    --fail-unresolved)
> > +      UNRESOLVED_RESULT=1
> > +      shift 1
> > +    ;;
> >      --logdir|-l)
> >        LOG_DIR=$2
> >        shift 2
> > @@ -176,6 +181,7 @@ KEEP_LOG=0
> >  DEBUG=0
> >  VERBOSE=0
> >  UNSUPPORTED_RESULT=0
> > +UNRESOLVED_RESULT=0
> >  STOP_FAILURE=0
> >  # Parse command-line options
> >  parse_opts $*
> > @@ -280,7 +286,7 @@ eval_result() { # sigval
> >      $UNRESOLVED)
> >        prlog "	[${color_blue}UNRESOLVED${color_reset}]"
> >        UNRESOLVED_CASES="$UNRESOLVED_CASES $CASENO"
> > -      return 1 # this is a kind of bug.. something happened.
> > +      return $UNRESOLVED_RESULT # depends on use case
> >      ;;
> >      $UNTESTED)
> >        prlog "	[${color_blue}UNTESTED${color_reset}]"
> > -- 
> > 1.8.3.1
> > 
> 
> 
> -- 
> Masami Hiramatsu <mhiramat@kernel.org>
shuah May 1, 2020, 2:25 p.m. UTC | #3
On 5/1/20 3:42 AM, Masami Hiramatsu wrote:
> On Wed, 19 Feb 2020 20:39:41 +0900
> Masami Hiramatsu <mhiramat@kernel.org> wrote:
> 
>> On Wed, 19 Feb 2020 09:33:30 +0000
>> Alan Maguire <alan.maguire@oracle.com> wrote:
>>
>>> Currently, ftracetest will return 1 (failure) if any unresolved cases
>>> are encountered.  The unresolved status results from modules and
>>> programs not being available, and as such does not indicate any
>>> issues with ftrace itself.  As such, change the behaviour of
>>> ftracetest in line with unsupported cases; if unsupported cases
>>> happen, ftracetest still returns 0 unless --fail-unsupported.  Here
>>> --fail-unresolved is added and the default is to return 0 if
>>> unresolved results occur.
>>>
>>
>> OK, this looks good to me. One note, with this change, ftracetest doesn't
>> fail even if your test environment is not well prepared anymore.
>>
>> Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
> 
> Hi Shuah,
> Could you pick this up?
> 
> Po-Hsu Lin seemed to face same problem recently. If this applied, it will be solved.
> 

Sorry about this. I will get these in

thanks,
-- Shuah
Masami Hiramatsu May 2, 2020, 4:42 a.m. UTC | #4
On Fri, 1 May 2020 08:25:50 -0600
shuah <shuah@kernel.org> wrote:

> On 5/1/20 3:42 AM, Masami Hiramatsu wrote:
> > On Wed, 19 Feb 2020 20:39:41 +0900
> > Masami Hiramatsu <mhiramat@kernel.org> wrote:
> > 
> >> On Wed, 19 Feb 2020 09:33:30 +0000
> >> Alan Maguire <alan.maguire@oracle.com> wrote:
> >>
> >>> Currently, ftracetest will return 1 (failure) if any unresolved cases
> >>> are encountered.  The unresolved status results from modules and
> >>> programs not being available, and as such does not indicate any
> >>> issues with ftrace itself.  As such, change the behaviour of
> >>> ftracetest in line with unsupported cases; if unsupported cases
> >>> happen, ftracetest still returns 0 unless --fail-unsupported.  Here
> >>> --fail-unresolved is added and the default is to return 0 if
> >>> unresolved results occur.
> >>>
> >>
> >> OK, this looks good to me. One note, with this change, ftracetest doesn't
> >> fail even if your test environment is not well prepared anymore.
> >>
> >> Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
> > 
> > Hi Shuah,
> > Could you pick this up?
> > 
> > Po-Hsu Lin seemed to face same problem recently. If this applied, it will be solved.
> > 
> 
> Sorry about this. I will get these in

Thanks Shuah!

> 
> thanks,
> -- Shuah
diff mbox series

Patch

diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
index 144308a..19e9236 100755
--- a/tools/testing/selftests/ftrace/ftracetest
+++ b/tools/testing/selftests/ftrace/ftracetest
@@ -17,6 +17,7 @@  echo "		-v|--verbose Increase verbosity of test messages"
 echo "		-vv        Alias of -v -v (Show all results in stdout)"
 echo "		-vvv       Alias of -v -v -v (Show all commands immediately)"
 echo "		--fail-unsupported Treat UNSUPPORTED as a failure"
+echo "		--fail-unresolved Treat UNRESOLVED as a failure"
 echo "		-d|--debug Debug mode (trace all shell commands)"
 echo "		-l|--logdir <dir> Save logs on the <dir>"
 echo "		            If <dir> is -, all logs output in console only"
@@ -112,6 +113,10 @@  parse_opts() { # opts
       UNSUPPORTED_RESULT=1
       shift 1
     ;;
+    --fail-unresolved)
+      UNRESOLVED_RESULT=1
+      shift 1
+    ;;
     --logdir|-l)
       LOG_DIR=$2
       shift 2
@@ -176,6 +181,7 @@  KEEP_LOG=0
 DEBUG=0
 VERBOSE=0
 UNSUPPORTED_RESULT=0
+UNRESOLVED_RESULT=0
 STOP_FAILURE=0
 # Parse command-line options
 parse_opts $*
@@ -280,7 +286,7 @@  eval_result() { # sigval
     $UNRESOLVED)
       prlog "	[${color_blue}UNRESOLVED${color_reset}]"
       UNRESOLVED_CASES="$UNRESOLVED_CASES $CASENO"
-      return 1 # this is a kind of bug.. something happened.
+      return $UNRESOLVED_RESULT # depends on use case
     ;;
     $UNTESTED)
       prlog "	[${color_blue}UNTESTED${color_reset}]"