Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1680677 > unrolled thread
| Started by | Masami Hiramatsu <mhiramat@kernel.org> |
|---|---|
| First post | 2017-07-04 08:40 +0200 |
| Last post | 2017-07-07 02:50 +0200 |
| Articles | 7 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" Masami Hiramatsu <mhiramat@kernel.org> - 2017-07-04 08:40 +0200
Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" Steven Rostedt <rostedt@goodmis.org> - 2017-07-05 18:30 +0200
Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" Steven Rostedt <rostedt@goodmis.org> - 2017-07-05 18:30 +0200
Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" Masami Hiramatsu <mhiramat@kernel.org> - 2017-07-06 08:10 +0200
Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" Stafford Horne <shorne@gmail.com> - 2017-07-06 15:10 +0200
Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" Steven Rostedt <rostedt@goodmis.org> - 2017-07-06 15:20 +0200
Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" Masami Hiramatsu <mhiramat@kernel.org> - 2017-07-07 02:50 +0200
| From | Masami Hiramatsu <mhiramat@kernel.org> |
|---|---|
| Date | 2017-07-04 08:40 +0200 |
| Subject | [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" |
| Message-ID | <tZpF8-4BK-11@gated-at.bofh.it> |
Output logs only to console if "-" is given to --logdir
option. In this case, ftracetest doesn't record any log
on the disk, and all logs immediately shown (including
all command logs.) Since there is no "tee" in the middle
of command and console, it outputs the log really soon.
This option is useful only when the console is logged.
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
---
tools/testing/selftests/ftrace/ftracetest | 29 +++++++++++++++++++++--------
1 file changed, 21 insertions(+), 8 deletions(-)
diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
index 892ca4e..25792ee 100755
--- a/tools/testing/selftests/ftrace/ftracetest
+++ b/tools/testing/selftests/ftrace/ftracetest
@@ -19,6 +19,7 @@ echo " -vvv Alias of -v -v -v (Show all commands immediately)"
echo " --fail-unsupported Treat UNSUPPORTED 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"
exit $1
}
@@ -127,14 +128,20 @@ if [ -z "$TRACING_DIR" -o ! -d "$TRACING_DIR" ]; then
fi
# Preparing logs
-LOG_FILE=$LOG_DIR/ftracetest.log
-mkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR"
-date > $LOG_FILE
+if [ "x$LOG_DIR" = "x-" ]; then
+ LOG_FILE=
+ date
+else
+ LOG_FILE=$LOG_DIR/ftracetest.log
+ mkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR"
+ date > $LOG_FILE
+fi
+
prlog() { # messages
- echo "$@" | tee -a $LOG_FILE
+ [ -z "$LOG_FILE" ] && echo "$@" || echo "$@" | tee -a $LOG_FILE
}
catlog() { #file
- cat $1 | tee -a $LOG_FILE
+ [ -z "$LOG_FILE" ] && cat $1 || cat $1 | tee -a $LOG_FILE
}
prlog "=== Ftrace unit tests ==="
@@ -255,12 +262,18 @@ __run_test() { # testfile
# Run one test case
run_test() { # testfile
local testname=`basename $1`
- local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
+ if [ "$LOG_FILE" ] ; then
+ local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
+ else
+ local testlog=`/proc/self/fd/1`
+ fi
export TMPDIR=`mktemp -d /tmp/ftracetest-dir.XXXXXX`
testcase $1
echo "execute$INSTANCE: "$1 > $testlog
SIG_RESULT=0
- if [ $VERBOSE -ge 3 ]; then
+ if [ -z "$LOG_FILE" ]; then
+ __run_test $1 2>&1
+ elif [ $VERBOSE -ge 3 ]; then
__run_test $1 | tee -a $testlog 2>&1
elif [ $VERBOSE -eq 2 ]; then
__run_test $1 2>> $testlog | tee -a $testlog
@@ -270,7 +283,7 @@ run_test() { # testfile
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
+ [ $KEEP_LOG -eq 0 -a "$LOG_FILE" ] && rm $testlog
else
[ $VERBOSE -eq 1 -o $VERBOSE -eq 2 ] && catlog $testlog
TOTAL_RESULT=1
[toc] | [next] | [standalone]
| From | Steven Rostedt <rostedt@goodmis.org> |
|---|---|
| Date | 2017-07-05 18:30 +0200 |
| Subject | Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" |
| Message-ID | <tZVlE-aF-29@gated-at.bofh.it> |
| In reply to | #1680677 |
On Tue, 4 Jul 2017 15:38:55 +0900
Masami Hiramatsu <mhiramat@kernel.org> wrote:
> Output logs only to console if "-" is given to --logdir
> option. In this case, ftracetest doesn't record any log
> on the disk, and all logs immediately shown (including
> all command logs.) Since there is no "tee" in the middle
> of command and console, it outputs the log really soon.
>
> This option is useful only when the console is logged.
>
> Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
> ---
> tools/testing/selftests/ftrace/ftracetest | 29 +++++++++++++++++++++--------
> 1 file changed, 21 insertions(+), 8 deletions(-)
>
> diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
> index 892ca4e..25792ee 100755
> --- a/tools/testing/selftests/ftrace/ftracetest
> +++ b/tools/testing/selftests/ftrace/ftracetest
> @@ -19,6 +19,7 @@ echo " -vvv Alias of -v -v -v (Show all commands immediately)"
> echo " --fail-unsupported Treat UNSUPPORTED 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"
> exit $1
> }
>
> @@ -127,14 +128,20 @@ if [ -z "$TRACING_DIR" -o ! -d "$TRACING_DIR" ]; then
> fi
>
> # Preparing logs
> -LOG_FILE=$LOG_DIR/ftracetest.log
> -mkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR"
> -date > $LOG_FILE
> +if [ "x$LOG_DIR" = "x-" ]; then
> + LOG_FILE=
> + date
> +else
> + LOG_FILE=$LOG_DIR/ftracetest.log
> + mkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR"
> + date > $LOG_FILE
> +fi
> +
> prlog() { # messages
> - echo "$@" | tee -a $LOG_FILE
> + [ -z "$LOG_FILE" ] && echo "$@" || echo "$@" | tee -a $LOG_FILE
> }
> catlog() { #file
> - cat $1 | tee -a $LOG_FILE
> + [ -z "$LOG_FILE" ] && cat $1 || cat $1 | tee -a $LOG_FILE
> }
> prlog "=== Ftrace unit tests ==="
>
> @@ -255,12 +262,18 @@ __run_test() { # testfile
> # Run one test case
> run_test() { # testfile
> local testname=`basename $1`
> - local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
> + if [ "$LOG_FILE" ] ; then
Shouldn't this be
if [ ! -z "$LOG_FILE" ]; then
?
> + local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
> + else
> + local testlog=`/proc/self/fd/1`
cute trick.
> + fi
> export TMPDIR=`mktemp -d /tmp/ftracetest-dir.XXXXXX`
> testcase $1
> echo "execute$INSTANCE: "$1 > $testlog
> SIG_RESULT=0
> - if [ $VERBOSE -ge 3 ]; then
> + if [ -z "$LOG_FILE" ]; then
> + __run_test $1 2>&1
> + elif [ $VERBOSE -ge 3 ]; then
> __run_test $1 | tee -a $testlog 2>&1
> elif [ $VERBOSE -eq 2 ]; then
> __run_test $1 2>> $testlog | tee -a $testlog
> @@ -270,7 +283,7 @@ run_test() { # testfile
> 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
> + [ $KEEP_LOG -eq 0 -a "$LOG_FILE" ] && rm $testlog
again, don't we need to test "$LOG_FILE"?
-- Steve
> else
> [ $VERBOSE -eq 1 -o $VERBOSE -eq 2 ] && catlog $testlog
> TOTAL_RESULT=1
[toc] | [prev] | [next] | [standalone]
| From | Steven Rostedt <rostedt@goodmis.org> |
|---|---|
| Date | 2017-07-05 18:30 +0200 |
| Subject | Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" |
| Message-ID | <tZVlF-aF-35@gated-at.bofh.it> |
| In reply to | #1681643 |
On Wed, 5 Jul 2017 12:25:06 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:
> > @@ -255,12 +262,18 @@ __run_test() { # testfile
> > # Run one test case
> > run_test() { # testfile
> > local testname=`basename $1`
> > - local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
> > + if [ "$LOG_FILE" ] ; then
>
> Shouldn't this be
>
> if [ ! -z "$LOG_FILE" ]; then
>
> ?
>
OK, I just checked it out. I guess "" is considered zero and
"<anything>" is considered 1.
Hmm, do we do this in other places too. Just makes me unconfortable.
-- Steve
[toc] | [prev] | [next] | [standalone]
| From | Masami Hiramatsu <mhiramat@kernel.org> |
|---|---|
| Date | 2017-07-06 08:10 +0200 |
| Subject | Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" |
| Message-ID | <u089d-Ad-5@gated-at.bofh.it> |
| In reply to | #1681644 |
On Wed, 5 Jul 2017 12:29:17 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:
> On Wed, 5 Jul 2017 12:25:06 -0400
> Steven Rostedt <rostedt@goodmis.org> wrote:
>
>
> > > @@ -255,12 +262,18 @@ __run_test() { # testfile
> > > # Run one test case
> > > run_test() { # testfile
> > > local testname=`basename $1`
> > > - local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
> > > + if [ "$LOG_FILE" ] ; then
> >
> > Shouldn't this be
> >
> > if [ ! -z "$LOG_FILE" ]; then
> >
> > ?
> >
>
> OK, I just checked it out. I guess "" is considered zero and
> "<anything>" is considered 1.
>
> Hmm, do we do this in other places too. Just makes me unconfortable.
OK, in that case, I can cleanup the code with [ ! -z "$VAR" ]
Thank you,
>
> -- Steve
>
--
Masami Hiramatsu <mhiramat@kernel.org>
[toc] | [prev] | [next] | [standalone]
| From | Stafford Horne <shorne@gmail.com> |
|---|---|
| Date | 2017-07-06 15:10 +0200 |
| Subject | Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" |
| Message-ID | <u0eHF-4JM-29@gated-at.bofh.it> |
| In reply to | #1681643 |
On Wed, Jul 05, 2017 at 12:25:06PM -0400, Steven Rostedt wrote:
> On Tue, 4 Jul 2017 15:38:55 +0900
> Masami Hiramatsu <mhiramat@kernel.org> wrote:
>
> > + local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
> > + else
> > + local testlog=`/proc/self/fd/1`
>
> cute trick.
Shouldn't this be:
local testlog=/proc/self/fd/1
without the backticks and subshell? We just want to write to the stdout
file not execute it.
Or am missing something.
-Stafford
[toc] | [prev] | [next] | [standalone]
| From | Steven Rostedt <rostedt@goodmis.org> |
|---|---|
| Date | 2017-07-06 15:20 +0200 |
| Subject | Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" |
| Message-ID | <u0eRj-4MZ-5@gated-at.bofh.it> |
| In reply to | #1682417 |
On Thu, 6 Jul 2017 22:06:58 +0900
Stafford Horne <shorne@gmail.com> wrote:
> On Wed, Jul 05, 2017 at 12:25:06PM -0400, Steven Rostedt wrote:
> > On Tue, 4 Jul 2017 15:38:55 +0900
> > Masami Hiramatsu <mhiramat@kernel.org> wrote:
> >
> > > + local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
> > > + else
> > > + local testlog=`/proc/self/fd/1`
> >
> > cute trick.
>
> Shouldn't this be:
>
> local testlog=/proc/self/fd/1
>
> without the backticks and subshell? We just want to write to the stdout
> file not execute it.
>
> Or am missing something.
Good eyes. I mistook those as quotes and not backticks.
-- Steve
[toc] | [prev] | [next] | [standalone]
| From | Masami Hiramatsu <mhiramat@kernel.org> |
|---|---|
| Date | 2017-07-07 02:50 +0200 |
| Subject | Re: [PATCH 4/4] selftests: ftrace: Output only to console with "--logdir -" |
| Message-ID | <u0pD4-4A2-11@gated-at.bofh.it> |
| In reply to | #1682417 |
On Thu, 6 Jul 2017 22:06:58 +0900
Stafford Horne <shorne@gmail.com> wrote:
> On Wed, Jul 05, 2017 at 12:25:06PM -0400, Steven Rostedt wrote:
> > On Tue, 4 Jul 2017 15:38:55 +0900
> > Masami Hiramatsu <mhiramat@kernel.org> wrote:
> >
> > > + local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
> > > + else
> > > + local testlog=`/proc/self/fd/1`
> >
> > cute trick.
>
> Shouldn't this be:
>
> local testlog=/proc/self/fd/1
>
> without the backticks and subshell? We just want to write to the stdout
> file not execute it.
Yeah, it was my mistake...
Thank you!
>
> Or am missing something.
>
> -Stafford
--
Masami Hiramatsu <mhiramat@kernel.org>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web