ftracetests: Testing updates for 3.19
Steven Rostedt
maintainercover ftracetests: Testing updates for 3.19
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
for-next
Head SHA1: 57cee23650d768130ff2d80aa4cd0b053feabf97
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(-)
Steven Rostedt
maintainerPATCH 1/2 ftracetest: Fix to show descriptions on dash
From: Masami Hiramatsu <[email protected]>
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.
--- tools/testing/selftests/ftrace/ftracetest | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
tools/testing/selftests/ftrace/ftracetest +2 -1
@@ -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
Signature · 1 line
2.1.3
Steven Rostedt
maintainerPATCH 2/2 ftracetest: Add --verbose option for showing echo output
In reply to Steven RostedtFrom: Masami Hiramatsu <[email protected]>
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.
--- tools/testing/selftests/ftrace/ftracetest | 33 +++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-)
tools/testing/selftests/ftrace/ftracetest +23 -10
@@ -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
Signature · 1 line
2.1.3