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

Nils Carlson nils.carlson at ericsson.com
Tue Aug 24 07:05:19 EDT 2010


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
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>
-- 
1.7.1





More information about the lttng-dev mailing list