[ltt-dev] [PATCH 2/2] Add a simple test case for TRACE_EVENT

David Goulet david.goulet at polymtl.ca
Tue Aug 24 11:44:27 EDT 2010



On 10-08-24 07:05 AM, Nils Carlson wrote:
> The test case is useful for verifying compilation of the simplest
> possible TRACE_EVENT.
> ---
>   configure.ac                         |    1 +
>   tests/Makefile.am                    |    2 +-
>   tests/trace_event/Makefile.am        |    9 +++++++++
>   tests/trace_event/run                |    5 +++++
>   tests/trace_event/trace_event_test.c |   14 ++++++++++++++
>   tests/trace_event/trace_event_test.h |   34 ++++++++++++++++++++++++++++++++++
>   6 files changed, 64 insertions(+), 1 deletions(-)
>   create mode 100644 tests/trace_event/Makefile.am
>   create mode 100755 tests/trace_event/run
>   create mode 100644 tests/trace_event/trace_event_test.c
>   create mode 100644 tests/trace_event/trace_event_test.h
>
> diff --git a/configure.ac b/configure.ac
> index 19ec6a7..dee974f 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -121,6 +121,7 @@ AC_CONFIG_FILES([
>   	tests/test-libustinstr-malloc/Makefile
>   	tests/dlopen/Makefile
>   	tests/same_line_marker/Makefile
> +	tests/trace_event/Makefile
>   	libustinstr-malloc/Makefile
>   	libustfork/Makefile
>   	libustd/Makefile
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index c1fc928..ab13cd7 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -1,3 +1,3 @@
> -SUBDIRS = hello hello2 basic basic_long fork simple_include snprintf test-nevents test-libustinstr-malloc dlopen same_line_marker
> +SUBDIRS = hello hello2 basic basic_long fork simple_include snprintf test-nevents test-libustinstr-malloc dlopen same_line_marker trace_event
>
>   dist_noinst_SCRIPTS = test_loop runtests trace_matches
> diff --git a/tests/trace_event/Makefile.am b/tests/trace_event/Makefile.am
> new file mode 100644
> index 0000000..6de9a12
> --- /dev/null
> +++ b/tests/trace_event/Makefile.am
> @@ -0,0 +1,9 @@
> +AM_CPPFLAGS = -I$(top_srcdir)/include
> +
> +noinst_PROGRAMS = trace_event_test
> +trace_event_test_SOURCES = trace_event_test.c
> +trace_event_test_LDADD = $(top_builddir)/libust/libust.la $(top_builddir)/libust-initializer.o
> +
> +CFLAGS_trace_event_test.o = -I$(src)
> +noinst_SCRIPTS = run
> +EXTRA_DIST = run
> diff --git a/tests/trace_event/run b/tests/trace_event/run
> new file mode 100755
> index 0000000..fa01c7a
> --- /dev/null
> +++ b/tests/trace_event/run
> @@ -0,0 +1,5 @@
> +#!/bin/sh
> +
> +# Run with nothing
> +
> +UST_AUTOPROBE=1 UST_TRACE=1 LD_LIBRARY_PATH=../../libust/.libs:../../../liburcu $1 .libs/trace_event_test

Might want to add UST_AUTOCOLLECT=0 here or else you need to start the 
ustd daemon for collecting data before.

Thanks
David

> diff --git a/tests/trace_event/trace_event_test.c b/tests/trace_event/trace_event_test.c
> new file mode 100644
> index 0000000..63a67c5
> --- /dev/null
> +++ b/tests/trace_event/trace_event_test.c
> @@ -0,0 +1,14 @@
> +#include<stdio.h>
> +#include<ust/clock.h>
> +
> +#define CREATE_TRACE_POINTS
> +#include "trace_event_test.h"
> +
> +int main(int argc, char * argv[])
> +{
> +	static unsigned long time, i;
> +	for (i=0; i<10; i++) {
> +		time=trace_clock_read64();
> +		trace_test(time, i);
> +	}
> +}
> diff --git a/tests/trace_event/trace_event_test.h b/tests/trace_event/trace_event_test.h
> new file mode 100644
> index 0000000..28eab5e
> --- /dev/null
> +++ b/tests/trace_event/trace_event_test.h
> @@ -0,0 +1,34 @@
> +#undef TRACE_SYSTEM
> +#define TRACE_SYSTEM trace_event_test
> +
> +#if !defined(_TRACE_EVENT_TEST_H) || defined(TRACE_HEADER_MULTI_READ)
> +#define _TRACE_EVENT_TEST_H
> +
> +#include<ust/tracepoint.h>
> +
> +TRACE_EVENT(test,
> +
> +	TP_PROTO(unsigned long time, unsigned long count),
> +
> +	TP_ARGS(time, count),
> +
> +	TP_STRUCT__entry(
> +		__field(	unsigned long,	time	)
> +		__field(	unsigned long,	count	)
> +	),
> +
> +	TP_fast_assign(
> +		__entry->time = time;
> +		__entry->count = count;
> +	),
> +
> +	TP_printf("time=%lu count=%lu", __entry->time, __entry->count)
> +);
> +
> +#endif /* _TRACE_EVENT_TEST_H */
> +
> +/* This part must be outside protection */
> +#undef TRACE_INCLUDE_PATH
> +#define TRACE_INCLUDE_PATH .
> +#define TRACE_INCLUDE_FILE trace_event_test
> +#include<ust/define_trace.h>

-- 
David Goulet
LTTng project, DORSAL Lab.

PGP/GPG : 1024D/16BD8563
BE3C 672B 9331 9796 291A  14C6 4AF7 C14B 16BD 8563




More information about the lttng-dev mailing list