* [PATCH 0/2] ftracetest: ftracetest updates
@ 2014-12-04 19:41 Masami Hiramatsu
2014-12-04 19:41 ` [PATCH 1/2] ftracetest: Fix to show descriptions on dash Masami Hiramatsu
2014-12-04 19:41 ` [PATCH 2/2] ftracetest: Add --verbose option for showing echo output Masami Hiramatsu
0 siblings, 2 replies; 7+ messages in thread
From: Masami Hiramatsu @ 2014-12-04 19:41 UTC (permalink / raw)
To: Steven Rostedt
Cc: Andrew Morton, Theodore Tso, Linux Kernel Mailing List,
Ingo Molnar
Hi,
Here are two patches to improve ftracetest. The first one fixes
a bug in dash environment, and the second one adds --verbose to
show all stdout messages of the testcases when running ftracetest.
Thank you,
---
Masami Hiramatsu (2):
ftracetest: Fix to show descriptions on dash
ftracetest: Add --verbose option for showing echo output
tools/testing/selftests/ftrace/ftracetest | 36 ++++++++++++++++++++---------
1 file changed, 25 insertions(+), 11 deletions(-)
--
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 1/2] ftracetest: Fix to show descriptions on dash 2014-12-04 19:41 [PATCH 0/2] ftracetest: ftracetest updates Masami Hiramatsu @ 2014-12-04 19:41 ` Masami Hiramatsu 2014-12-04 19:41 ` [PATCH 2/2] ftracetest: Add --verbose option for showing echo output Masami Hiramatsu 1 sibling, 0 replies; 7+ messages in thread From: Masami Hiramatsu @ 2014-12-04 19:41 UTC (permalink / raw) To: Steven Rostedt Cc: Andrew Morton, Theodore Tso, Linux Kernel Mailing List, Ingo Molnar The ftracetest doesn't show testcase's descriptions when it is executed on dash. This fixes that to show the descriptions on dash correctly by passing it via a variable instead of directly passing the grep command output. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> --- tools/testing/selftests/ftrace/ftracetest | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest index 535b98b..e8b4021 100755 --- a/tools/testing/selftests/ftrace/ftracetest +++ b/tools/testing/selftests/ftrace/ftracetest @@ -135,7 +135,8 @@ TOTAL_RESULT=0 CASENO=0 testcase() { # testfile CASENO=$((CASENO+1)) - prlog -n "[$CASENO]"`grep "^#[ \t]*description:" $1 | cut -f2 -d:` + desc=`grep "^#[ \t]*description:" $1 | cut -f2 -d:` + prlog -n "[$CASENO]$desc" } eval_result() { # retval sigval ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] ftracetest: Add --verbose option for showing echo output 2014-12-04 19:41 [PATCH 0/2] ftracetest: ftracetest updates Masami Hiramatsu 2014-12-04 19:41 ` [PATCH 1/2] ftracetest: Fix to show descriptions on dash Masami Hiramatsu @ 2014-12-04 19:41 ` Masami Hiramatsu 2014-12-05 5:08 ` Namhyung Kim 1 sibling, 1 reply; 7+ messages in thread From: Masami Hiramatsu @ 2014-12-04 19:41 UTC (permalink / raw) To: Steven Rostedt Cc: Andrew Morton, Theodore Tso, Linux Kernel Mailing List, Ingo Molnar Add --verbose/-v option for showing echo output in testcases. This is good for checking the progress of testcases which take a longer time to run. To implement this feature, all the testcase failures are captured in ftracetest and send signal to set SIG_RESULT=FAIL. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> --- tools/testing/selftests/ftrace/ftracetest | 33 ++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest index e8b4021..da48812 100755 --- a/tools/testing/selftests/ftrace/ftracetest +++ b/tools/testing/selftests/ftrace/ftracetest @@ -13,6 +13,7 @@ echo "Usage: ftracetest [options] [testcase(s)] [testcase-directory(s)]" echo " Options:" echo " -h|--help Show help message" echo " -k|--keep Keep passed test logs" +echo " -v|--verbose Show all stdout messages in testcases" echo " -d|--debug Debug mode (trace all shell commands)" exit $1 } @@ -53,6 +54,10 @@ parse_opts() { # opts KEEP_LOG=1 shift 1 ;; + --verbose|-v) + VERBOSE=1 + shift 1 + ;; --debug|-d) DEBUG=1 shift 1 @@ -90,6 +95,7 @@ TEST_CASES=`find_testcases $TEST_DIR` LOG_DIR=$TOP_DIR/logs/`date +%Y%m%d-%H%M%S`/ KEEP_LOG=0 DEBUG=0 +VERBOSE=0 # Parse command-line options parse_opts $* @@ -139,12 +145,8 @@ testcase() { # testfile prlog -n "[$CASENO]$desc" } -eval_result() { # retval sigval - local retval=$2 - if [ $2 -eq 0 ]; then - test $1 -ne 0 && retval=$FAIL - fi - case $retval in +eval_result() { # sigval + case $1 in $PASS) prlog " [PASS]" PASSED_CASES="$PASSED_CASES $CASENO" @@ -188,6 +190,9 @@ SIG_RESULT= SIG_BASE=36 # Use realtime signals SIG_PID=$$ +SIG_FAIL=$((SIG_BASE + FAIL)) +trap 'SIG_RESULT=$FAIL' $SIG_FAIL + SIG_UNRESOLVED=$((SIG_BASE + UNRESOLVED)) exit_unresolved () { kill -s $SIG_UNRESOLVED $SIG_PID @@ -216,6 +221,12 @@ exit_xfail () { } trap 'SIG_RESULT=$XFAIL' $SIG_XFAIL +__run_test() { # testfile + # setup PID and PPID, $$ is not updated. + (cd $TRACING_DIR; read PID _ < /proc/self/stat ; set -e; set -x; . $1) + [ $? -ne 0 ] && kill -s $SIG_FAIL $SIG_PID +} + # Run one test case run_test() { # testfile local testname=`basename $1` @@ -223,10 +234,12 @@ run_test() { # testfile testcase $1 echo "execute: "$1 > $testlog SIG_RESULT=0 - # setup PID and PPID, $$ is not updated. - (cd $TRACING_DIR; read PID _ < /proc/self/stat ; - set -e; set -x; . $1) >> $testlog 2>&1 - eval_result $? $SIG_RESULT + if [ $VERBOSE -ne 0 ]; then + __run_test $1 2>> $testlog | tee -a $testlog + else + __run_test $1 >> $testlog 2>&1 + fi + eval_result $SIG_RESULT if [ $? -eq 0 ]; then # Remove test log if the test was done as it was expected. [ $KEEP_LOG -eq 0 ] && rm $testlog ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ftracetest: Add --verbose option for showing echo output 2014-12-04 19:41 ` [PATCH 2/2] ftracetest: Add --verbose option for showing echo output Masami Hiramatsu @ 2014-12-05 5:08 ` Namhyung Kim 2014-12-05 5:23 ` Masami Hiramatsu 0 siblings, 1 reply; 7+ messages in thread From: Namhyung Kim @ 2014-12-05 5:08 UTC (permalink / raw) To: Masami Hiramatsu Cc: Steven Rostedt, Andrew Morton, Theodore Tso, Linux Kernel Mailing List, Ingo Molnar On Thu, Dec 04, 2014 at 02:41:23PM -0500, Masami Hiramatsu wrote: > Add --verbose/-v option for showing echo output in testcases. > This is good for checking the progress of testcases which > take a longer time to run. > > To implement this feature, all the testcase failures are > captured in ftracetest and send signal to set SIG_RESULT=FAIL. > > Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> > --- [SNIP] > - # setup PID and PPID, $$ is not updated. > - (cd $TRACING_DIR; read PID _ < /proc/self/stat ; > - set -e; set -x; . $1) >> $testlog 2>&1 > - eval_result $? $SIG_RESULT > + if [ $VERBOSE -ne 0 ]; then > + __run_test $1 2>> $testlog | tee -a $testlog Shouldn't it be __run_test $1 2>&1 | tee -a $testlog ? Thanks, Namhyung > + else > + __run_test $1 >> $testlog 2>&1 > + fi > + eval_result $SIG_RESULT > if [ $? -eq 0 ]; then > # Remove test log if the test was done as it was expected. > [ $KEEP_LOG -eq 0 ] && rm $testlog ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ftracetest: Add --verbose option for showing echo output 2014-12-05 5:08 ` Namhyung Kim @ 2014-12-05 5:23 ` Masami Hiramatsu 2014-12-05 5:52 ` Namhyung Kim 0 siblings, 1 reply; 7+ messages in thread From: Masami Hiramatsu @ 2014-12-05 5:23 UTC (permalink / raw) To: Namhyung Kim Cc: Steven Rostedt, Andrew Morton, Theodore Tso, Linux Kernel Mailing List, Ingo Molnar (2014/12/05 14:08), Namhyung Kim wrote: > On Thu, Dec 04, 2014 at 02:41:23PM -0500, Masami Hiramatsu wrote: >> Add --verbose/-v option for showing echo output in testcases. >> This is good for checking the progress of testcases which >> take a longer time to run. >> >> To implement this feature, all the testcase failures are >> captured in ftracetest and send signal to set SIG_RESULT=FAIL. >> >> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> >> --- > > [SNIP] >> - # setup PID and PPID, $$ is not updated. >> - (cd $TRACING_DIR; read PID _ < /proc/self/stat ; >> - set -e; set -x; . $1) >> $testlog 2>&1 >> - eval_result $? $SIG_RESULT >> + if [ $VERBOSE -ne 0 ]; then >> + __run_test $1 2>> $testlog | tee -a $testlog > > Shouldn't it be > > __run_test $1 2>&1 | tee -a $testlog > > ? No, that outputs both stdout and stderr to $testlog and console. What I'd like to do above is only stdout to $testlog and console and stderr goes only to $testlog. (Note that __run_test set -x which outputs every executed command to stderr) Thank you, > > Thanks, > Namhyung > > >> + else >> + __run_test $1 >> $testlog 2>&1 >> + fi >> + eval_result $SIG_RESULT >> if [ $? -eq 0 ]; then >> # Remove test log if the test was done as it was expected. >> [ $KEEP_LOG -eq 0 ] && rm $testlog > -- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Research Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@hitachi.com ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ftracetest: Add --verbose option for showing echo output 2014-12-05 5:23 ` Masami Hiramatsu @ 2014-12-05 5:52 ` Namhyung Kim 2014-12-05 6:34 ` Masami Hiramatsu 0 siblings, 1 reply; 7+ messages in thread From: Namhyung Kim @ 2014-12-05 5:52 UTC (permalink / raw) To: Masami Hiramatsu Cc: Steven Rostedt, Andrew Morton, Theodore Tso, Linux Kernel Mailing List, Ingo Molnar On Fri, Dec 05, 2014 at 02:23:23PM +0900, Masami Hiramatsu wrote: > (2014/12/05 14:08), Namhyung Kim wrote: > > On Thu, Dec 04, 2014 at 02:41:23PM -0500, Masami Hiramatsu wrote: > >> Add --verbose/-v option for showing echo output in testcases. > >> This is good for checking the progress of testcases which > >> take a longer time to run. > >> > >> To implement this feature, all the testcase failures are > >> captured in ftracetest and send signal to set SIG_RESULT=FAIL. > >> > >> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> > >> --- > > > > [SNIP] > >> - # setup PID and PPID, $$ is not updated. > >> - (cd $TRACING_DIR; read PID _ < /proc/self/stat ; > >> - set -e; set -x; . $1) >> $testlog 2>&1 > >> - eval_result $? $SIG_RESULT > >> + if [ $VERBOSE -ne 0 ]; then > >> + __run_test $1 2>> $testlog | tee -a $testlog > > > > Shouldn't it be > > > > __run_test $1 2>&1 | tee -a $testlog > > > > ? > > No, that outputs both stdout and stderr to $testlog and console. > What I'd like to do above is only stdout to $testlog and console and > stderr goes only to $testlog. (Note that __run_test set -x which outputs > every executed command to stderr) Hmm.. so the actual output of the failing command is not shown on console even when -v option is given, right? Anyway I worried about that the order of messages might be mixed.. echo msg1 > /dev/stdout echo msg2 > /dev/stderr echo msg3 > /dev/stdout echo msg4 > /dev/stderr So the output in this case can be like msg2, msg4, msg1, and msg3..? Thanks, Namhyung ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ftracetest: Add --verbose option for showing echo output 2014-12-05 5:52 ` Namhyung Kim @ 2014-12-05 6:34 ` Masami Hiramatsu 0 siblings, 0 replies; 7+ messages in thread From: Masami Hiramatsu @ 2014-12-05 6:34 UTC (permalink / raw) To: Namhyung Kim Cc: Steven Rostedt, Andrew Morton, Theodore Tso, Linux Kernel Mailing List, Ingo Molnar (2014/12/05 14:52), Namhyung Kim wrote: > On Fri, Dec 05, 2014 at 02:23:23PM +0900, Masami Hiramatsu wrote: >> (2014/12/05 14:08), Namhyung Kim wrote: >>> On Thu, Dec 04, 2014 at 02:41:23PM -0500, Masami Hiramatsu wrote: >>>> Add --verbose/-v option for showing echo output in testcases. >>>> This is good for checking the progress of testcases which >>>> take a longer time to run. >>>> >>>> To implement this feature, all the testcase failures are >>>> captured in ftracetest and send signal to set SIG_RESULT=FAIL. >>>> >>>> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> >>>> --- >>> >>> [SNIP] >>>> - # setup PID and PPID, $$ is not updated. >>>> - (cd $TRACING_DIR; read PID _ < /proc/self/stat ; >>>> - set -e; set -x; . $1) >> $testlog 2>&1 >>>> - eval_result $? $SIG_RESULT >>>> + if [ $VERBOSE -ne 0 ]; then >>>> + __run_test $1 2>> $testlog | tee -a $testlog >>> >>> Shouldn't it be >>> >>> __run_test $1 2>&1 | tee -a $testlog >>> >>> ? >> >> No, that outputs both stdout and stderr to $testlog and console. >> What I'd like to do above is only stdout to $testlog and console and >> stderr goes only to $testlog. (Note that __run_test set -x which outputs >> every executed command to stderr) > > Hmm.. so the actual output of the failing command is not shown on > console even when -v option is given, right? No, if a command fails, the testcase is automatically terminated (by set -e) and $testlog is dumped on console, so that tester can trace back the log. > Anyway I worried about that the order of messages might be mixed.. > > echo msg1 > /dev/stdout > echo msg2 > /dev/stderr > echo msg3 > /dev/stdout > echo msg4 > /dev/stderr > > So the output in this case can be like msg2, msg4, msg1, and msg3..? I'm not sure this can happen... Would you have any other good way to solve this? Thank you, -- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Research Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@hitachi.com ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-12-05 6:34 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-12-04 19:41 [PATCH 0/2] ftracetest: ftracetest updates Masami Hiramatsu 2014-12-04 19:41 ` [PATCH 1/2] ftracetest: Fix to show descriptions on dash Masami Hiramatsu 2014-12-04 19:41 ` [PATCH 2/2] ftracetest: Add --verbose option for showing echo output Masami Hiramatsu 2014-12-05 5:08 ` Namhyung Kim 2014-12-05 5:23 ` Masami Hiramatsu 2014-12-05 5:52 ` Namhyung Kim 2014-12-05 6:34 ` Masami Hiramatsu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox