diff mbox

[lttng-tools,v2] Fix: test cases now rely on explicit workloads

Message ID 1478634550-5638-1-git-send-email-francis.deslauriers@efficios.com
State Superseded, archived
Headers show

Commit Message

Francis Deslauriers Nov. 8, 2016, 7:49 p.m. UTC
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

Nathan Lynch Nov. 8, 2016, 8:06 p.m. UTC | #1
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.
Francis Deslauriers Nov. 8, 2016, 8:46 p.m. UTC | #2
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,
Mathieu Desnoyers Nov. 8, 2016, 9:07 p.m. UTC | #3
----- 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
Francis Deslauriers Nov. 10, 2016, 8:17 p.m. UTC | #4
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
>
diff mbox

Patch

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"
+
 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
diff --git a/tests/regression/kernel/test_event_basic b/tests/regression/kernel/test_event_basic
index aeca02b..43c4fda 100755
--- a/tests/regression/kernel/test_event_basic
+++ b/tests/regression/kernel/test_event_basic
@@ -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