All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Shuah Khan <shuah.kh@samsung.com>,
	Tom Zanussi <tom.zanussi@linux.intel.com>,
	Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>,
	Oleg Nesterov <oleg@redhat.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Ingo Molnar <mingo@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Re: Re: [RFC PATCH v3 4/4] ftracetest: Add XFAIL/XPASS and POSIX.3 std. result codes
Date: Mon, 08 Sep 2014 19:41:50 +0900	[thread overview]
Message-ID: <540D87EE.9050101@hitachi.com> (raw)
In-Reply-To: <5407ED17.5060000@hitachi.com>

(2014/09/04 13:39), Masami Hiramatsu wrote:
> (2014/09/04 11:29), Namhyung Kim wrote:
>>> diff --git a/tools/testing/ftrace/test.d/basic3.tc b/tools/testing/ftrace/test.d/basic3.tc
>>> index 0c1a3a2..7bc5a53 100644
>>> --- a/tools/testing/ftrace/test.d/basic3.tc
>>> +++ b/tools/testing/ftrace/test.d/basic3.tc
>>> @@ -1,8 +1,9 @@
>>>  #!/bin/sh
>>>  # description: Basic trace clock test
>>> -[ -f trace_clock ] || exit 1
>>> +[ -f trace_clock ] || exit $FAIL # this is basic feature, must be there
>>>  for c in `cat trace_clock | tr  -d \[\]`; do
>>> -  echo $c > trace_clock || exit 1
>>> -  grep '\['$c'\]' trace_clock || exit 1
>>> +  echo $c > trace_clock || exit $FAIL
>>> +  grep '\['$c'\]' trace_clock || exit $FAIL
>>>  done
>>> -echo local > trace_clock
>>> +echo local > trace_clock || exit $FAIL
>>> +exit $PASS
>>
>> IMHO it's a bit sad that we need to write every test in this way -
>> adding '|| exit $FAIL' for every command.  It'd be better if only
>> exceptional cases require that explicitly and normal cases live in
>> simple.
>>
>> Can we do better - like using trap or something?
> 
> Hmm, no, trap is only for the signal trapping, and using signal
> means run "kill" command for special errors. That may not be what
> you want... :(

I've changed my mind. I've checked that the possibility of simplification
of the testcases with signal traps. :)
Here I've added the following functions,

-----
exit_unsupported () {
  kill -s $SIG_UNSUPPORTED $SIG_PID
  exit 0
}
trap_unsupported () {
  SIG_RESULT=$UNSUPPORTED
}
trap trap_unsupported $SIG_UNSUPPORTED
-----

And add "set -e;"(errexit) for sub-shell testcases.

-----
#!/bin/sh
# description: Kprobe dynamic event - adding and removing

[ -f kprobe_events ] || exit_unsupported

# If we have any error, sub shell exits soon with error code.
echo 0 > events/enable
echo > kprobe_events
echo p:myevent do_fork > kprobe_events
grep myevent kprobe_events
test -d events/kprobes/myevent
echo > kprobe_events
exit 0
-----

So, we'll have no return code in the testcases.

> 
> Perhaps, "set -e" may help you to simplify the script. But
> since it also returns various exit code, you can not control it.
> (I hope to have the "atexit" for dash...)

I've found that trap with 0 can catch the exit of subshell, but
it can not know the exit code...

BTW, I've found that $PPID and $$ in subshell doesn't updated automatically.
PPID can be updated, but $$ cannnot. I'll pass $PID so that the testcases
can use it instead of $$. Or, should I use $SHELL to run testcases?

Thank you,


-- 
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com



  reply	other threads:[~2014-09-08 10:42 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-02 11:06 [RFC PATCH v3 0/4] ftrace: Add a ftrace test collection Masami Hiramatsu
2014-09-02 11:06 ` [RFC PATCH v3 1/4] ftracetest: Initial commit for ftracetest Masami Hiramatsu
2014-09-04  1:41   ` Namhyung Kim
2014-09-04  1:48     ` Masami Hiramatsu
2014-09-16 22:21   ` Steven Rostedt
2014-09-17  5:40     ` Masami Hiramatsu
2014-09-02 11:06 ` [RFC PATCH v3 2/4] ftracetest: Add ftrace basic testcases Masami Hiramatsu
2014-09-02 11:06 ` [RFC PATCH v3 3/4] ftracetest: Add kprobe " Masami Hiramatsu
2014-09-02 11:06 ` [RFC PATCH v3 4/4] ftracetest: Add XFAIL/XPASS and POSIX.3 std. result codes Masami Hiramatsu
2014-09-04  2:29   ` Namhyung Kim
2014-09-04  4:39     ` Masami Hiramatsu
2014-09-08 10:41       ` Masami Hiramatsu [this message]
2014-09-04  2:42 ` [RFC PATCH v3 0/4] ftrace: Add a ftrace test collection Namhyung Kim
2014-09-04  3:57   ` Masami Hiramatsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=540D87EE.9050101@hitachi.com \
    --to=masami.hiramatsu.pt@hitachi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=oleg@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=shuah.kh@samsung.com \
    --cc=tom.zanussi@linux.intel.com \
    --cc=yoshihiro.yunomae.ez@hitachi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.