ftrace/selftest: make unresolved cases cause failure if --fail-unresolved set

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>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Alan Maguire 2020-02-19 09:33:30 +00:00 committed by Shuah Khan
parent 57c4cfd4a2
commit b730d66813
1 changed files with 7 additions and 1 deletions

View File

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