Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97bece60 authored by Masami Hiramatsu's avatar Masami Hiramatsu Committed by Shuah Khan
Browse files

selftests: ftrace: Output only to console with "--logdir -"



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: default avatarMasami Hiramatsu <mhiramat@kernel.org>
Acked-by: default avatarSteven Rostedt (VMware) <srostedt@goodmis.org>
Signed-off-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
parent dab24fb1
Loading
Loading
Loading
Loading
+21 −8
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@ 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 "		-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"
exit $1
exit $1
}
}


@@ -127,14 +128,20 @@ if [ -z "$TRACING_DIR" -o ! -d "$TRACING_DIR" ]; then
fi
fi


# Preparing logs
# Preparing logs
if [ "x$LOG_DIR" = "x-" ]; then
  LOG_FILE=
  date
else
  LOG_FILE=$LOG_DIR/ftracetest.log
  LOG_FILE=$LOG_DIR/ftracetest.log
  mkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR"
  mkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR"
  date > $LOG_FILE
  date > $LOG_FILE
fi

prlog() { # messages
prlog() { # messages
  echo "$@" | tee -a $LOG_FILE
  [ -z "$LOG_FILE" ] && echo "$@" || echo "$@" | tee -a $LOG_FILE
}
}
catlog() { #file
catlog() { #file
  cat $1 | tee -a $LOG_FILE
  [ -z "$LOG_FILE" ] && cat $1 || cat $1 | tee -a $LOG_FILE
}
}
prlog "=== Ftrace unit tests ==="
prlog "=== Ftrace unit tests ==="


@@ -255,12 +262,18 @@ __run_test() { # testfile
# Run one test case
# Run one test case
run_test() { # testfile
run_test() { # testfile
  local testname=`basename $1`
  local testname=`basename $1`
  if [ ! -z "$LOG_FILE" ] ; then
    local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
    local testlog=`mktemp $LOG_DIR/${testname}-log.XXXXXX`
  else
    local testlog=/proc/self/fd/1
  fi
  export TMPDIR=`mktemp -d /tmp/ftracetest-dir.XXXXXX`
  export TMPDIR=`mktemp -d /tmp/ftracetest-dir.XXXXXX`
  testcase $1
  testcase $1
  echo "execute$INSTANCE: "$1 > $testlog
  echo "execute$INSTANCE: "$1 > $testlog
  SIG_RESULT=0
  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
    __run_test $1 | tee -a $testlog 2>&1
  elif [ $VERBOSE -eq 2 ]; then
  elif [ $VERBOSE -eq 2 ]; then
    __run_test $1 2>> $testlog | tee -a $testlog
    __run_test $1 2>> $testlog | tee -a $testlog
@@ -270,7 +283,7 @@ run_test() { # testfile
  eval_result $SIG_RESULT
  eval_result $SIG_RESULT
  if [ $? -eq 0 ]; then
  if [ $? -eq 0 ]; then
    # Remove test log if the test was done as it was expected.
    # Remove test log if the test was done as it was expected.
    [ $KEEP_LOG -eq 0 ] && rm $testlog
    [ $KEEP_LOG -eq 0 -a ! -z "$LOG_FILE" ] && rm $testlog
  else
  else
    [ $VERBOSE -eq 1 -o $VERBOSE -eq 2 ] && catlog $testlog
    [ $VERBOSE -eq 1 -o $VERBOSE -eq 2 ] && catlog $testlog
    TOTAL_RESULT=1
    TOTAL_RESULT=1