[lttng-tools,v2] Fix: test cases now rely on explicit workloads
Commit Message
Run a process explicitly in the tracing session to generate the enabled events
rather than relying on the events generated by the lttng CLI.
Signed-off-by: Francis Deslauriers <francis.deslauriers at efficios.com>
---
tests/regression/kernel/test_all_events | 6 ++++++
tests/regression/kernel/test_event_basic | 14 ++++++++++++--
2 files changed, 18 insertions(+), 2 deletions(-)
Comments
On 11/08/2016 01:49 PM, Francis Deslauriers wrote:
> Run a process explicitly in the tracing session to generate the enabled events
> rather than relying on the events generated by the lttng CLI.
[...]
> diff --git a/tests/regression/kernel/test_all_events b/tests/regression/kernel/test_all_events
> index 50002f4..80a8020 100755
> --- a/tests/regression/kernel/test_all_events
> +++ b/tests/regression/kernel/test_all_events
> @@ -21,6 +21,8 @@ CURDIR=$(dirname $0)/
> TESTDIR=$CURDIR/../..
> NUM_TESTS=8
>
> +TESTCMD="grep -V -q > /dev/null"
> +
What was wrong with /bin/true, as in v1 of this patch?
FYI, Busybox grep doesn't know -V:
# grep -V -q >/dev/null
grep: invalid option -- 'V'
BusyBox v1.24.1 (2016-11-08 12:59:13 CST) multi-call binary.
Usage: grep [-HhnlLoqvsriwFE] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f
FILE [FILE]...
# echo $?
1
It looks like the testcases don't care about the exit status of TESTCMD,
but you may want to redirect stderr to /dev/null as well.
2016-11-08 15:06 GMT-05:00 Nathan Lynch <Nathan_Lynch at mentor.com>:
> On 11/08/2016 01:49 PM, Francis Deslauriers wrote:
> > Run a process explicitly in the tracing session to generate the enabled
> events
> > rather than relying on the events generated by the lttng CLI.
>
> [...]
>
> > diff --git a/tests/regression/kernel/test_all_events
> b/tests/regression/kernel/test_all_events
> > index 50002f4..80a8020 100755
> > --- a/tests/regression/kernel/test_all_events
> > +++ b/tests/regression/kernel/test_all_events
> > @@ -21,6 +21,8 @@ CURDIR=$(dirname $0)/
> > TESTDIR=$CURDIR/../..
> > NUM_TESTS=8
> >
> > +TESTCMD="grep -V -q > /dev/null"
> > +
>
> What was wrong with /bin/true, as in v1 of this patch?
I used grep because the configure script looks for it already
At the moment, we don't check if /bin/true is installed on the machine
using the configure script.
> FYI, Busybox grep doesn't know -V:
>
> # grep -V -q >/dev/null
> grep: invalid option -- 'V'
> BusyBox v1.24.1 (2016-11-08 12:59:13 CST) multi-call binary.
>
> Usage: grep [-HhnlLoqvsriwFE] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f
> FILE [FILE]...
>
> # echo $?
> 1
>
> It looks like the testcases don't care about the exit status of TESTCMD,
> but you may want to redirect stderr to /dev/null as well.
>
Good point.
I could do: grep "foo" /dev/null
Thank you,
----- On Nov 8, 2016, at 3:46 PM, Francis Deslauriers <francis.deslauriers at efficios.com> wrote:
> 2016-11-08 15:06 GMT-05:00 Nathan Lynch < [ mailto:Nathan_Lynch at mentor.com |
> Nathan_Lynch at mentor.com ] > :
>> On 11/08/2016 01:49 PM, Francis Deslauriers wrote:
>> > Run a process explicitly in the tracing session to generate the enabled events
>> > rather than relying on the events generated by the lttng CLI.
>> [...]
>>> diff --git a/tests/regression/kernel/test_all_events
>> > b/tests/regression/kernel/test_all_events
>> > index 50002f4..80a8020 100755
>> > --- a/tests/regression/kernel/test_all_events
>> > +++ b/tests/regression/kernel/test_all_events
>> > @@ -21,6 +21,8 @@ CURDIR=$(dirname $0)/
>> > TESTDIR=$CURDIR/../..
>> > NUM_TESTS=8
>> > +TESTCMD="grep -V -q > /dev/null"
>> > +
>> What was wrong with /bin/true, as in v1 of this patch?
> I used grep because the configure script looks for it already
> At the moment, we don't check if /bin/true is installed on the machine using the
> configure script.
>> FYI, Busybox grep doesn't know -V:
>> # grep -V -q >/dev/null
>> grep: invalid option -- 'V'
>> BusyBox v1.24.1 (2016-11-08 12:59:13 CST) multi-call binary.
>> Usage: grep [-HhnlLoqvsriwFE] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f
>> FILE [FILE]...
>> # echo $?
>> 1
>> It looks like the testcases don't care about the exit status of TESTCMD,
>> but you may want to redirect stderr to /dev/null as well.
> Good point.
> I could do: grep "foo" /dev/null
utils/utils.sh:45:# We set the default lttng-sessiond path to /bin/true to prevent the spawning
utils/utils.sh:49:export LTTNG_SESSIOND_PATH="/bin/true"
already used.
So unless anyone complain about it, let's use it.
If someone complains, then we need to fix the configure detection.
Thanks,
Mathieu
> Thank you,
> --
> Francis Deslauriers
> Software developer
> EfficiOS inc.
>> _______________________________________________
>> lttng-dev mailing list
>> [ mailto:lttng-dev at lists.lttng.org | lttng-dev at lists.lttng.org ]
>> [ https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev |
>> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev ]
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
Agreed. Let me send this in a final version of this patch.
Thanks,
Francis
2016-11-08 16:07 GMT-05:00 Mathieu Desnoyers <mathieu.desnoyers at efficios.com
>:
> ----- On Nov 8, 2016, at 3:46 PM, Francis Deslauriers <
> francis.deslauriers at efficios.com> wrote:
>
> 2016-11-08 15:06 GMT-05:00 Nathan Lynch <Nathan_Lynch at mentor.com>:
>
>> On 11/08/2016 01:49 PM, Francis Deslauriers wrote:
>> > Run a process explicitly in the tracing session to generate the enabled
>> events
>> > rather than relying on the events generated by the lttng CLI.
>>
>> [...]
>>
>> > diff --git a/tests/regression/kernel/test_all_events
>> b/tests/regression/kernel/test_all_events
>> > index 50002f4..80a8020 100755
>> > --- a/tests/regression/kernel/test_all_events
>> > +++ b/tests/regression/kernel/test_all_events
>> > @@ -21,6 +21,8 @@ CURDIR=$(dirname $0)/
>> > TESTDIR=$CURDIR/../..
>> > NUM_TESTS=8
>> >
>> > +TESTCMD="grep -V -q > /dev/null"
>> > +
>>
>> What was wrong with /bin/true, as in v1 of this patch?
>
> I used grep because the configure script looks for it already
> At the moment, we don't check if /bin/true is installed on the machine
> using the configure script.
>
>
>> FYI, Busybox grep doesn't know -V:
>>
>> # grep -V -q >/dev/null
>> grep: invalid option -- 'V'
>> BusyBox v1.24.1 (2016-11-08 12:59:13 CST) multi-call binary.
>>
>> Usage: grep [-HhnlLoqvsriwFE] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f
>> FILE [FILE]...
>>
>> # echo $?
>> 1
>>
>> It looks like the testcases don't care about the exit status of TESTCMD,
>> but you may want to redirect stderr to /dev/null as well.
>>
> Good point.
> I could do: grep "foo" /dev/null
>
>
> utils/utils.sh:45:# We set the default lttng-sessiond path to /bin/true to
> prevent the spawning
> utils/utils.sh:49:export LTTNG_SESSIOND_PATH="/bin/true"
>
> already used.
>
> So unless anyone complain about it, let's use it.
>
> If someone complains, then we need to fix the configure detection.
>
> Thanks,
>
> Mathieu
>
>
> Thank you,
> --
> Francis Deslauriers
> Software developer
> EfficiOS inc.
>
>>
>> _______________________________________________
>> lttng-dev mailing list
>> lttng-dev at lists.lttng.org
>> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>
>
>
>
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>
>
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com
>
@@ -21,6 +21,8 @@ CURDIR=$(dirname $0)/
TESTDIR=$CURDIR/../..
NUM_TESTS=8
+TESTCMD="grep -V -q > /dev/null"
+
source $TESTDIR/utils/utils.sh
function test_all_event()
@@ -33,6 +35,10 @@ function test_all_event()
lttng_enable_kernel_event $SESSION_NAME
start_lttng_tracing_ok
+
+ # Running a process and waiting for its completion forces the triggering of a
+ # sched_switch event
+ eval ${TESTCMD}
stop_lttng_tracing_ok
validate_trace "sched_switch" $TRACE_PATH
@@ -21,6 +21,8 @@ CURDIR=$(dirname $0)/
TESTDIR=$CURDIR/../..
NUM_TESTS=20
+TESTCMD="grep -V -q > /dev/null"
+
source $TESTDIR/utils/utils.sh
function test_event_basic()
@@ -32,14 +34,18 @@ function test_event_basic()
lttng_enable_kernel_event $SESSION_NAME "sched_switch"
lttng_enable_kernel_event $SESSION_NAME "sched_process_exit"
- lttng_enable_kernel_event $SESSION_NAME "sched_process_free"
+ lttng_enable_kernel_event $SESSION_NAME "sched_process_fork"
start_lttng_tracing_ok
+
+ # Running a process and waiting for its completion forces the triggering of
+ # fork, sched_switch and exit events
+ eval ${TESTCMD}
stop_lttng_tracing_ok
validate_trace "sched_switch" $TRACE_PATH
validate_trace "sched_process_exit" $TRACE_PATH
- validate_trace "sched_process_free" $TRACE_PATH
+ validate_trace "sched_process_fork" $TRACE_PATH
destroy_lttng_session_ok $SESSION_NAME
@@ -57,6 +63,10 @@ function test_enable_after_start()
start_lttng_tracing_ok
lttng_enable_kernel_event $SESSION_NAME "sched_process_exit"
+
+ # Running a process and waiting for its completion forces the triggering of
+ # sched_switch and exit events
+ eval ${TESTCMD}
stop_lttng_tracing_ok
validate_trace "sched_switch" $TRACE_PATH