From: Michael Jeanson Date: Thu, 29 Apr 2021 16:03:02 +0000 (-0400) Subject: Move current compile tests to 'api1' X-Git-Url: https://git.lttng.org/?p=lttng-ust.git;a=commitdiff_plain;h=bebb067ef8020d5c36ab48271b0d9d9bb2b24e11 Move current compile tests to 'api1' Move the current compile tests to the 'api1' directory and build them with LTTNG_UST_COMPAT_API_VERSION=0 and LTTNG_UST_COMPAT_API_VERSION=1. Change-Id: Ic46d549b5ec0735931bb2aa64115909fb2e25414 Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- diff --git a/.gitignore b/.gitignore index b36ae472..b7347e11 100644 --- a/.gitignore +++ b/.gitignore @@ -76,12 +76,18 @@ cscope.* /tests/benchmark/bench1 /tests/benchmark/bench2 -/tests/compile/ctf-types/ctf-types -/tests/compile/hello.cxx/hello -/tests/compile/hello/hello -/tests/compile/hello-many/hello-many -/tests/compile/same_line_tracepoint/same_line_tracepoint -/tests/compile/test-app-ctx/hello +/tests/compile/api1/hello.cxx/hello +/tests/compile/api1/hello.cxx/hello-compatapi1 +/tests/compile/api1/hello/hello +/tests/compile/api1/hello/hello-compatapi1 +/tests/compile/api1/hello-many/hello-many +/tests/compile/api1/hello-many/hello-many-compatapi1 +/tests/compile/api1/same_line_tracepoint/same_line_tracepoint +/tests/compile/api1/same_line_tracepoint/same_line_tracepoint_compatapi1 +/tests/compile/api1/test-app-ctx/hello +/tests/compile/api1/test-app-ctx/hello-compatapi1 +/tests/compile/api1/ust-fields/ust-fields +/tests/compile/api1/ust-fields/ust-fields-compatapi1 /tests/unit/gcc-weak-hidden/test_gcc_weak_hidden /tests/unit/libmsgpack/test_msgpack /tests/unit/libringbuffer/test_shm @@ -153,12 +159,13 @@ cscope.* /tests/Makefile /tests/benchmark/Makefile /tests/compile/Makefile -/tests/compile/ctf-types/Makefile -/tests/compile/hello-many/Makefile -/tests/compile/hello.cxx/Makefile -/tests/compile/hello/Makefile -/tests/compile/same_line_tracepoint/Makefile -/tests/compile/test-app-ctx/Makefile +/tests/compile/api1/Makefile +/tests/compile/api1/ust-fields/Makefile +/tests/compile/api1/hello-many/Makefile +/tests/compile/api1/hello.cxx/Makefile +/tests/compile/api1/hello/Makefile +/tests/compile/api1/same_line_tracepoint/Makefile +/tests/compile/api1/test-app-ctx/Makefile /tests/unit/Makefile /tests/unit/gcc-weak-hidden/Makefile /tests/unit/libmsgpack/Makefile diff --git a/configure.ac b/configure.ac index 1b8f2e3c..a1a79eb2 100644 --- a/configure.ac +++ b/configure.ac @@ -607,13 +607,14 @@ AC_CONFIG_FILES([ src/python-lttngust/Makefile src/python-lttngust/setup.py tests/benchmark/Makefile - tests/compile/ctf-types/Makefile - tests/compile/hello.cxx/Makefile - tests/compile/hello/Makefile - tests/compile/hello-many/Makefile + tests/compile/api1/ust-fields/Makefile + tests/compile/api1/hello.cxx/Makefile + tests/compile/api1/hello/Makefile + tests/compile/api1/hello-many/Makefile + tests/compile/api1/Makefile + tests/compile/api1/same_line_tracepoint/Makefile + tests/compile/api1/test-app-ctx/Makefile tests/compile/Makefile - tests/compile/same_line_tracepoint/Makefile - tests/compile/test-app-ctx/Makefile tests/Makefile tests/unit/gcc-weak-hidden/Makefile tests/unit/libmsgpack/Makefile diff --git a/tests/compile/Makefile.am b/tests/compile/Makefile.am index 404bb156..0ce13bea 100644 --- a/tests/compile/Makefile.am +++ b/tests/compile/Makefile.am @@ -1,13 +1,4 @@ # SPDX-License-Identifier: LGPL-2.1-only SUBDIRS = \ - ctf-types \ - hello \ - hello-many \ - same_line_tracepoint \ - test-app-ctx - -if HAVE_CXX -SUBDIRS += hello.cxx -endif - + api1 diff --git a/tests/compile/api1/Makefile.am b/tests/compile/api1/Makefile.am new file mode 100644 index 00000000..c88deb0e --- /dev/null +++ b/tests/compile/api1/Makefile.am @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-only + +SUBDIRS = \ + ust-fields \ + hello \ + hello-many \ + same_line_tracepoint \ + test-app-ctx + +if HAVE_CXX +SUBDIRS += hello.cxx +endif + diff --git a/tests/compile/api1/hello-many/Makefile.am b/tests/compile/api1/hello-many/Makefile.am new file mode 100644 index 00000000..3e50e497 --- /dev/null +++ b/tests/compile/api1/hello-many/Makefile.am @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1-only + +AM_CPPFLAGS += -I$(srcdir) + +noinst_PROGRAMS = hello-many hello-many-compatapi1 + +hello_many_SOURCES = hello-many.c tp.c ust_tests_hello_many.h +hello_many_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS) +hello_many_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +# Compile without API0 compat macros +hello_many_compatapi1_SOURCES = hello-many.c tp.c ust_tests_hello_many.h +hello_many_compatapi1_CFLAGS = -Werror=old-style-definition -DLTTNG_UST_COMPAT_API_VERSION=1 $(AM_CFLAGS) +hello_many_compatapi1_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +EXTRA_DIST = README diff --git a/tests/compile/api1/hello-many/README b/tests/compile/api1/hello-many/README new file mode 100644 index 00000000..a2572546 --- /dev/null +++ b/tests/compile/api1/hello-many/README @@ -0,0 +1,2 @@ +This is a "hello world" application used to verify that an instrumented +program which contains more than 30 tracepoints can be built successfully. diff --git a/tests/compile/api1/hello-many/hello-many.c b/tests/compile/api1/hello-many/hello-many.c new file mode 100644 index 00000000..1cae515f --- /dev/null +++ b/tests/compile/api1/hello-many/hello-many.c @@ -0,0 +1,38 @@ +/* + * SPDX-License-Identifier: LGPL-2.1-only + * + * Copyright (C) 2009 Pierre-Marc Fournier + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define LTTNG_UST_TRACEPOINT_DEFINE +#include "ust_tests_hello_many.h" + +int main(int argc, char **argv) +{ + int delay = 0; + + if (argc == 2) + delay = atoi(argv[1]); + + fprintf(stderr, "Hello, World!\n"); + + sleep(delay); + + fprintf(stderr, "Tracing... "); + lttng_ust_tracepoint(ust_tests_hello_many, tptest_simple1); + lttng_ust_tracepoint(ust_tests_hello_many, tptest_simple34); + fprintf(stderr, " done.\n"); + return 0; +} diff --git a/tests/compile/api1/hello-many/tp.c b/tests/compile/api1/hello-many/tp.c new file mode 100644 index 00000000..fbd81ab9 --- /dev/null +++ b/tests/compile/api1/hello-many/tp.c @@ -0,0 +1,8 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#define LTTNG_UST_TRACEPOINT_CREATE_PROBES +#include "ust_tests_hello_many.h" diff --git a/tests/compile/api1/hello-many/ust_tests_hello_many.h b/tests/compile/api1/hello-many/ust_tests_hello_many.h new file mode 100644 index 00000000..98cb603b --- /dev/null +++ b/tests/compile/api1/hello-many/ust_tests_hello_many.h @@ -0,0 +1,223 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#undef LTTNG_UST_TRACEPOINT_PROVIDER +#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_hello_many + +#if !defined(_TRACEPOINT_UST_TESTS_HELLO_MANY_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) +#define _TRACEPOINT_UST_TESTS_HELLO_MANY_H + +#include +#include + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple1, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple2, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple3, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple4, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple5, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple6, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple7, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple8, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple9, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple10, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple11, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple12, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple13, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple14, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple15, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple16, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple17, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple18, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple19, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple20, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple21, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple22, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple23, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple24, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple25, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple26, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple27, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple28, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple29, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple30, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple31, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple32, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple33, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple34, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple35, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple36, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple37, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple38, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple39, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple40, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +#endif /* _TRACEPOINT_UST_TESTS_HELLO_MANY_H */ + +#undef LTTNG_UST_TRACEPOINT_INCLUDE +#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_hello_many.h" + +/* This part must be outside ifdef protection */ +#include diff --git a/tests/compile/api1/hello.cxx/Makefile.am b/tests/compile/api1/hello.cxx/Makefile.am new file mode 100644 index 00000000..fe1c8ab8 --- /dev/null +++ b/tests/compile/api1/hello.cxx/Makefile.am @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: LGPL-2.1-only + +AM_CPPFLAGS += -I$(srcdir) + +noinst_PROGRAMS = hello hello-compatapi1 + +hello_SOURCES = hello.cpp tp-cpp.cpp ust_tests_hello.h +hello_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +# Compile without API0 compat macros +hello_compatapi1_SOURCES = hello.cpp tp-cpp.cpp ust_tests_hello.h +hello_compatapi1_CFLAGS = -DLTTNG_UST_COMPAT_API_VERSION=1 $(AM_CFLAGS) +hello_compatapi1_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +EXTRA_DIST = README diff --git a/tests/compile/api1/hello.cxx/README b/tests/compile/api1/hello.cxx/README new file mode 100644 index 00000000..48cb0d8f --- /dev/null +++ b/tests/compile/api1/hello.cxx/README @@ -0,0 +1,4 @@ +This is a "hello world" application used to verify that an instrumented +program written in C++ can be built successfully. + +Only enabled if a C++ build environment is detected during configure. diff --git a/tests/compile/api1/hello.cxx/hello.cpp b/tests/compile/api1/hello.cxx/hello.cpp new file mode 100644 index 00000000..e031279b --- /dev/null +++ b/tests/compile/api1/hello.cxx/hello.cpp @@ -0,0 +1,85 @@ +/* + * SPDX-License-Identifier: LGPL-2.1-only + * + * Copyright (C) 2009 Pierre-Marc Fournier + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define LTTNG_UST_TRACEPOINT_DEFINE +#include "ust_tests_hello.h" + +static +void inthandler(int sig __attribute__((unused))) +{ + printf("in SIGUSR1 handler\n"); + tracepoint(ust_tests_hello, tptest_sighandler); +} + +static +int init_int_handler(void) +{ + int result; + struct sigaction act; + + memset(&act, 0, sizeof(act)); + result = sigemptyset(&act.sa_mask); + if (result == -1) { + perror("sigemptyset"); + return -1; + } + + act.sa_handler = inthandler; + act.sa_flags = SA_RESTART; + + /* Only defer ourselves. Also, try to restart interrupted + * syscalls to disturb the traced program as little as possible. + */ + result = sigaction(SIGUSR1, &act, NULL); + if (result == -1) { + perror("sigaction"); + return -1; + } + + return 0; +} + +int main(int argc, char **argv) +{ + int i, netint; + long values[] = { 1, 2, 3 }; + char text[10] = "test"; + double dbl = 2.0; + float flt = 2222.0; + int delay = 0; + + init_int_handler(); + + if (argc == 2) + delay = atoi(argv[1]); + + fprintf(stderr, "Hello, World!\n"); + + sleep(delay); + + fprintf(stderr, "Tracing... "); + for (i = 0; i < 1000000; i++) { + netint = htonl(i); + tracepoint(ust_tests_hello, tptest, i, netint, values, + text, strlen(text), dbl, flt, 15); + //usleep(100000); + } + fprintf(stderr, " done.\n"); + return 0; +} diff --git a/tests/compile/api1/hello.cxx/tp-cpp.cpp b/tests/compile/api1/hello.cxx/tp-cpp.cpp new file mode 100644 index 00000000..98669b6e --- /dev/null +++ b/tests/compile/api1/hello.cxx/tp-cpp.cpp @@ -0,0 +1,8 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#define LTTNG_UST_TRACEPOINT_CREATE_PROBES +#include "ust_tests_hello.h" diff --git a/tests/compile/api1/hello.cxx/ust_tests_hello.h b/tests/compile/api1/hello.cxx/ust_tests_hello.h new file mode 100644 index 00000000..9088aaf1 --- /dev/null +++ b/tests/compile/api1/hello.cxx/ust_tests_hello.h @@ -0,0 +1,62 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#undef LTTNG_UST_TRACEPOINT_PROVIDER +#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_hello + +#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) +#define _TRACEPOINT_UST_TESTS_HELLO_H + +#include +#include + +LTTNG_UST_TRACEPOINT_ENUM(ust_tests_hello, my_enum, + LTTNG_UST_TP_ENUM_VALUES( + lttng_ust_field_enum_value("zero", 0) + lttng_ust_field_enum_value("one", 1) + lttng_ust_field_enum_auto("two") + lttng_ust_field_enum_value("three", 3) + lttng_ust_field_enum_range("ten to twenty", 10, 20) + lttng_ust_field_enum_auto("21!") + ) +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest, + LTTNG_UST_TP_ARGS(int, anint, int, netint, long *, values, + char *, text, size_t, textlen, + double, doublearg, float, floatarg, + int, enumarg), + LTTNG_UST_TP_FIELDS( + lttng_ust_field_integer(int, intfield, anint) + lttng_ust_field_integer_hex(int, intfield2, anint) + lttng_ust_field_integer(long, longfield, anint) + lttng_ust_field_integer_network(int, netintfield, netint) + lttng_ust_field_integer_network_hex(int, netintfieldhex, netint) + lttng_ust_field_array(long, arrfield1, values, 3) + lttng_ust_field_array_text(char, arrfield2, text, 10) + lttng_ust_field_sequence(char, seqfield1, text, + size_t, textlen) + lttng_ust_field_sequence_text(char, seqfield2, text, + size_t, textlen) + lttng_ust_field_string(stringfield, text) + lttng_ust_field_float(float, floatfield, floatarg) + lttng_ust_field_float(double, doublefield, doublearg) + lttng_ust_field_enum(ust_tests_hello, my_enum, int, enumfield, enumarg) + ) +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest_sighandler, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */ + +#undef LTTNG_UST_TRACEPOINT_INCLUDE +#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_hello.h" + +/* This part must be outside ifdef protection */ +#include diff --git a/tests/compile/api1/hello/Makefile.am b/tests/compile/api1/hello/Makefile.am new file mode 100644 index 00000000..a4c8c932 --- /dev/null +++ b/tests/compile/api1/hello/Makefile.am @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1-only + +AM_CPPFLAGS += -I$(srcdir) + +noinst_PROGRAMS = hello hello-compatapi1 + +hello_SOURCES = hello.c tp.c ust_tests_hello.h +hello_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS) +hello_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +# Compile without API0 compat macros +hello_compatapi1_SOURCES = hello.c tp.c ust_tests_hello.h +hello_compatapi1_CFLAGS = -Werror=old-style-definition -DLTTNG_UST_COMPAT_API_VERSION=1 $(AM_CFLAGS) +hello_compatapi1_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +EXTRA_DIST = README diff --git a/tests/compile/api1/hello/Makefile.example.bsd b/tests/compile/api1/hello/Makefile.example.bsd new file mode 100644 index 00000000..35943945 --- /dev/null +++ b/tests/compile/api1/hello/Makefile.example.bsd @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: LGPL-2.1-only +# +# Example makefile for build outside of the LTTng-UST tree. + +hello: + ${CC} -O2 -I. -o hello -lc -llttng-ust hello.c tp.c + +.PHONY: clean +clean: + rm -f hello diff --git a/tests/compile/api1/hello/Makefile.example.linux b/tests/compile/api1/hello/Makefile.example.linux new file mode 100644 index 00000000..74fda7bb --- /dev/null +++ b/tests/compile/api1/hello/Makefile.example.linux @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: LGPL-2.1-only +# +# Example makefile to build outside of the LTTng-UST tree. + +hello: + ${CC} -O2 -I. -o hello -ldl -llttng-ust hello.c tp.c + +.PHONY: clean +clean: + rm -f hello diff --git a/tests/compile/api1/hello/README b/tests/compile/api1/hello/README new file mode 100644 index 00000000..5d5100da --- /dev/null +++ b/tests/compile/api1/hello/README @@ -0,0 +1,2 @@ +This is a "hello world" application used to verify that an instrumented +program can be built successfully. \ No newline at end of file diff --git a/tests/compile/api1/hello/hello.c b/tests/compile/api1/hello/hello.c new file mode 100644 index 00000000..107cf55e --- /dev/null +++ b/tests/compile/api1/hello/hello.c @@ -0,0 +1,92 @@ +/* + * SPDX-License-Identifier: LGPL-2.1-only + * + * Copyright (C) 2009 Pierre-Marc Fournier + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* + * Work-around inet.h missing struct mmsghdr forward declaration, with + * triggers a warning when system files warnings are enabled. + */ +struct mmsghdr; +#include +#include +#include + +#define LTTNG_UST_TRACEPOINT_DEFINE +#include "ust_tests_hello.h" + +static +void inthandler(int sig __attribute__((unused))) +{ + printf("in SIGUSR1 handler\n"); + lttng_ust_tracepoint(ust_tests_hello, tptest_sighandler); +} + +static +int init_int_handler(void) +{ + int result; + struct sigaction act; + + memset(&act, 0, sizeof(act)); + result = sigemptyset(&act.sa_mask); + if (result == -1) { + perror("sigemptyset"); + return -1; + } + + act.sa_handler = inthandler; + act.sa_flags = SA_RESTART; + + /* Only defer ourselves. Also, try to restart interrupted + * syscalls to disturb the traced program as little as possible. + */ + result = sigaction(SIGUSR1, &act, NULL); + if (result == -1) { + perror("sigaction"); + return -1; + } + + return 0; +} + +int main(int argc, char **argv) +{ + int i, netint; + long values[] = { 1, 2, 3 }; + char text[10] = "test"; + double dbl = 2.0; + float flt = 2222.0; + int delay = 0; + bool mybool = 123; /* should print "1" */ + + init_int_handler(); + + if (argc == 2) + delay = atoi(argv[1]); + + fprintf(stderr, "Hello, World!\n"); + + sleep(delay); + + fprintf(stderr, "Tracing... "); + for (i = 0; i < 1000000; i++) { + netint = htonl(i); + lttng_ust_tracepoint(ust_tests_hello, tptest, i, netint, values, + text, strlen(text), dbl, flt, mybool); + //usleep(100000); + } + fprintf(stderr, " done.\n"); + return 0; +} diff --git a/tests/compile/api1/hello/tp.c b/tests/compile/api1/hello/tp.c new file mode 100644 index 00000000..98669b6e --- /dev/null +++ b/tests/compile/api1/hello/tp.c @@ -0,0 +1,8 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#define LTTNG_UST_TRACEPOINT_CREATE_PROBES +#include "ust_tests_hello.h" diff --git a/tests/compile/api1/hello/ust_tests_hello.h b/tests/compile/api1/hello/ust_tests_hello.h new file mode 100644 index 00000000..639c7c9f --- /dev/null +++ b/tests/compile/api1/hello/ust_tests_hello.h @@ -0,0 +1,64 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#undef LTTNG_UST_TRACEPOINT_PROVIDER +#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_hello + +#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) +#define _TRACEPOINT_UST_TESTS_HELLO_H + +#include +#include +#include + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest, + LTTNG_UST_TP_ARGS(int, anint, int, netint, long *, values, + char *, text, size_t, textlen, + double, doublearg, float, floatarg, + bool, boolarg), + LTTNG_UST_TP_FIELDS( + lttng_ust_field_integer(int, intfield, anint) + lttng_ust_field_integer_hex(int, intfield2, anint) + lttng_ust_field_integer(long, longfield, anint) + lttng_ust_field_integer_network(int, netintfield, netint) + lttng_ust_field_integer_network_hex(int, netintfieldhex, netint) + lttng_ust_field_array_nowrite(long, arrfield1z, values, 3) + lttng_ust_field_array(long, blah, values, 3) + lttng_ust_field_array(long, arrfield1, values, 3) + lttng_ust_field_array_hex(long, arrfield1_hex, values, 3) + lttng_ust_field_array_network(long, arrfield1_network, values, 3) + lttng_ust_field_array_network_hex(long, arrfield1_network_hex, values, 3) + lttng_ust_field_array_text(char, arrfield2, text, 10) + lttng_ust_field_sequence(char, seqfield1, text, + size_t, textlen) + lttng_ust_field_sequence_nowrite(char, seqfield1z, text, + size_t, textlen) + lttng_ust_field_sequence_hex(char, seqfield1_hex, text, + size_t, textlen) + lttng_ust_field_sequence_text(char, seqfield2, text, + size_t, textlen) + lttng_ust_field_sequence_network(long, seqfield_network_3, values, + size_t, 3) + lttng_ust_field_string(stringfield, text) + lttng_ust_field_float(float, floatfield, floatarg) + lttng_ust_field_float(double, doublefield, doublearg) + lttng_ust_field_integer(bool, boolfield, boolarg) + lttng_ust_field_integer_nowrite(int, filterfield, anint) + ) +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest_sighandler, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */ + +#undef LTTNG_UST_TRACEPOINT_INCLUDE +#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_hello.h" + +/* This part must be outside ifdef protection */ +#include diff --git a/tests/compile/api1/same_line_tracepoint/Makefile.am b/tests/compile/api1/same_line_tracepoint/Makefile.am new file mode 100644 index 00000000..890ce487 --- /dev/null +++ b/tests/compile/api1/same_line_tracepoint/Makefile.am @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: LGPL-2.1-only + +AM_CPPFLAGS += -I$(srcdir) + +noinst_PROGRAMS = same_line_tracepoint same_line_tracepoint_compatapi1 + +same_line_tracepoint_SOURCES = same_line_tracepoint.c ust_tests_sameline.h +same_line_tracepoint_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +# Compile without API0 compat macros +same_line_tracepoint_compatapi1_SOURCES = same_line_tracepoint.c ust_tests_sameline.h +same_line_tracepoint_compatapi1_CFLAGS = -DLTTNG_UST_COMPAT_API_VERSION=1 $(AM_CFLAGS) +same_line_tracepoint_compatapi1_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +EXTRA_DIST = README diff --git a/tests/compile/api1/same_line_tracepoint/README b/tests/compile/api1/same_line_tracepoint/README new file mode 100644 index 00000000..55c2e08b --- /dev/null +++ b/tests/compile/api1/same_line_tracepoint/README @@ -0,0 +1,5 @@ +Same line tracepoint test +------------------------- + +This is a build test that verifies multiple tracepoint can be placed on a single +line. diff --git a/tests/compile/api1/same_line_tracepoint/same_line_tracepoint.c b/tests/compile/api1/same_line_tracepoint/same_line_tracepoint.c new file mode 100644 index 00000000..81c7540d --- /dev/null +++ b/tests/compile/api1/same_line_tracepoint/same_line_tracepoint.c @@ -0,0 +1,15 @@ +/* + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * Copyright (C) 2013 Jérémie Galarneau + */ + +#define LTTNG_UST_TRACEPOINT_DEFINE +#define LTTNG_UST_TRACEPOINT_CREATE_PROBES +#include "ust_tests_sameline.h" + +int main(void) +{ + lttng_ust_tracepoint(ust_tests_sameline, event1); lttng_ust_tracepoint(ust_tests_sameline, event2); + return 0; +} diff --git a/tests/compile/api1/same_line_tracepoint/ust_tests_sameline.h b/tests/compile/api1/same_line_tracepoint/ust_tests_sameline.h new file mode 100644 index 00000000..96be96a8 --- /dev/null +++ b/tests/compile/api1/same_line_tracepoint/ust_tests_sameline.h @@ -0,0 +1,33 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#undef LTTNG_UST_TRACEPOINT_PROVIDER +#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_sameline + +#if !defined(_TRACEPOINT_UST_TESTS_SAMELINE_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) +#define _TRACEPOINT_UST_TESTS_SAMELINE_H + +#include + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_sameline, event1, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) +LTTNG_UST_TRACEPOINT_LOGLEVEL(ust_tests_sameline, event1, LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_sameline, event2, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) +LTTNG_UST_TRACEPOINT_LOGLEVEL(ust_tests_sameline, event2, LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT) + +#endif /* _TRACEPOINT_UST_TESTS_SAMELINE_H */ + +#undef LTTNG_UST_TRACEPOINT_INCLUDE +#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_sameline.h" + +/* This part must be outside ifdef protection */ +#include diff --git a/tests/compile/api1/test-app-ctx/Makefile.am b/tests/compile/api1/test-app-ctx/Makefile.am new file mode 100644 index 00000000..5313b011 --- /dev/null +++ b/tests/compile/api1/test-app-ctx/Makefile.am @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: LGPL-2.1-only + +AM_CPPFLAGS += -I$(srcdir) + +noinst_PROGRAMS = hello hello-compatapi1 + +hello_SOURCES = hello.c tp.c ust_tests_hello.h +hello_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS) +hello_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +# Compile without API0 compat macros +hello_compatapi1_SOURCES = hello.c tp.c ust_tests_hello.h +hello_compatapi1_CFLAGS = -Werror=old-style-definition -DLTTNG_UST_COMPAT_API_VERSION=1 $(AM_CFLAGS) +hello_compatapi1_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) diff --git a/tests/compile/api1/test-app-ctx/hello.c b/tests/compile/api1/test-app-ctx/hello.c new file mode 100644 index 00000000..85df9984 --- /dev/null +++ b/tests/compile/api1/test-app-ctx/hello.c @@ -0,0 +1,329 @@ +/* + * SPDX-License-Identifier: LGPL-2.1-only + * + * Copyright (C) 2009 Pierre-Marc Fournier + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* + * Work-around inet.h missing struct mmsghdr forward declaration, with + * triggers a warning when system files warnings are enabled. + */ +struct mmsghdr; +#include +#include +#include +#include + +#define LTTNG_UST_TRACEPOINT_DEFINE +#include "ust_tests_hello.h" + +#include +#include +/* Internal header. */ +#include + +static __thread unsigned int test_count; + +static +void test_inc_count(void) +{ + test_count++; +} + +static +size_t test_get_size(void *priv __attribute__((unused)), + struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), + size_t offset) +{ + int sel = test_count % _NR_LTTNG_UST_DYNAMIC_TYPES; + size_t size = 0; + + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(char)); + size += sizeof(char); /* tag */ + switch (sel) { + case LTTNG_UST_DYNAMIC_TYPE_NONE: + break; + case LTTNG_UST_DYNAMIC_TYPE_S8: + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int8_t)); + size += sizeof(int8_t); /* variant */ + break; + case LTTNG_UST_DYNAMIC_TYPE_S16: + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int16_t)); + size += sizeof(int16_t); /* variant */ + break; + case LTTNG_UST_DYNAMIC_TYPE_S32: + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int32_t)); + size += sizeof(int32_t); /* variant */ + break; + case LTTNG_UST_DYNAMIC_TYPE_S64: + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int64_t)); + size += sizeof(int64_t); /* variant */ + break; + case LTTNG_UST_DYNAMIC_TYPE_U8: + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint8_t)); + size += sizeof(uint8_t); /* variant */ + break; + case LTTNG_UST_DYNAMIC_TYPE_U16: + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint16_t)); + size += sizeof(uint16_t); /* variant */ + break; + case LTTNG_UST_DYNAMIC_TYPE_U32: + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint32_t)); + size += sizeof(uint32_t); /* variant */ + break; + case LTTNG_UST_DYNAMIC_TYPE_U64: + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint64_t)); + size += sizeof(uint64_t); /* variant */ + break; + case LTTNG_UST_DYNAMIC_TYPE_FLOAT: + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(float)); + size += sizeof(float); /* variant */ + break; + case LTTNG_UST_DYNAMIC_TYPE_DOUBLE: + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(double)); + size += sizeof(double); /* variant */ + break; + case LTTNG_UST_DYNAMIC_TYPE_STRING: + size += strlen("teststr") + 1; + break; + default: + abort(); + } + + return size; +} + +static +void test_record(void *priv __attribute__((unused)), + struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), + struct lttng_ust_ring_buffer_ctx *ctx, + struct lttng_ust_channel_buffer *lttng_chan_buf) +{ + int sel = test_count % _NR_LTTNG_UST_DYNAMIC_TYPES; + char sel_char = (char) sel; + + lttng_chan_buf->ops->event_write(ctx, &sel_char, sizeof(sel_char), lttng_ust_rb_alignof(char)); + switch (sel) { + case LTTNG_UST_DYNAMIC_TYPE_NONE: + break; + case LTTNG_UST_DYNAMIC_TYPE_S8: + { + int8_t v = -8; + + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); + break; + } + case LTTNG_UST_DYNAMIC_TYPE_S16: + { + int16_t v = -16; + + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); + break; + } + case LTTNG_UST_DYNAMIC_TYPE_S32: + { + int32_t v = -32; + + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); + break; + } + case LTTNG_UST_DYNAMIC_TYPE_S64: + { + int64_t v = -64; + + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); + break; + } + case LTTNG_UST_DYNAMIC_TYPE_U8: + { + uint8_t v = 8; + + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); + break; + } + case LTTNG_UST_DYNAMIC_TYPE_U16: + { + uint16_t v = 16; + + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); + break; + } + case LTTNG_UST_DYNAMIC_TYPE_U32: + { + uint32_t v = 32; + + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); + break; + } + case LTTNG_UST_DYNAMIC_TYPE_U64: + { + uint64_t v = 64; + + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); + break; + } + case LTTNG_UST_DYNAMIC_TYPE_FLOAT: + { + float f = 22322.0; + + lttng_chan_buf->ops->event_write(ctx, &f, sizeof(f), lttng_ust_rb_alignof(f)); + break; + } + case LTTNG_UST_DYNAMIC_TYPE_DOUBLE: + { + double d = 2.0; + + lttng_chan_buf->ops->event_write(ctx, &d, sizeof(d), lttng_ust_rb_alignof(d)); + break; + } + case LTTNG_UST_DYNAMIC_TYPE_STRING: + { + const char *str = "teststr"; + lttng_chan_buf->ops->event_write(ctx, str, strlen(str) + 1, 1); + break; + } + default: + abort(); + } +} + +static +void test_get_value(void *priv __attribute__((unused)), + struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), + struct lttng_ust_ctx_value *value) +{ + int sel = test_count % _NR_LTTNG_UST_DYNAMIC_TYPES; + + value->sel = sel; + switch (sel) { + case LTTNG_UST_DYNAMIC_TYPE_NONE: + break; + case LTTNG_UST_DYNAMIC_TYPE_S8: + value->u.s64 = -8; + break; + case LTTNG_UST_DYNAMIC_TYPE_S16: + value->u.s64 = -16; + break; + case LTTNG_UST_DYNAMIC_TYPE_S32: + value->u.s64 = -32; + break; + case LTTNG_UST_DYNAMIC_TYPE_S64: + value->u.s64 = -64; + break; + case LTTNG_UST_DYNAMIC_TYPE_U8: + value->u.u64 = 8; + break; + case LTTNG_UST_DYNAMIC_TYPE_U16: + value->u.u64 = 16; + break; + case LTTNG_UST_DYNAMIC_TYPE_U32: + value->u.u64 = 32; + break; + case LTTNG_UST_DYNAMIC_TYPE_U64: + value->u.u64 = 64; + break; + case LTTNG_UST_DYNAMIC_TYPE_FLOAT: + value->u.d = 22322.0; + break; + case LTTNG_UST_DYNAMIC_TYPE_DOUBLE: + value->u.d = 2.0; + break; + case LTTNG_UST_DYNAMIC_TYPE_STRING: + value->u.str = "teststr"; + break; + default: + abort(); + } +} + +static char myprovider_name[] = "$app.myprovider"; +struct lttng_ust_context_provider myprovider = { + .struct_size = sizeof(struct lttng_ust_context_provider), + .name = myprovider_name, + .get_size = test_get_size, + .record = test_record, + .get_value = test_get_value, +}; + +static +void inthandler(int sig __attribute__((unused))) +{ + printf("in SIGUSR1 handler\n"); + lttng_ust_tracepoint(ust_tests_hello, tptest_sighandler); +} + +static +int init_int_handler(void) +{ + int result; + struct sigaction act; + + memset(&act, 0, sizeof(act)); + result = sigemptyset(&act.sa_mask); + if (result == -1) { + perror("sigemptyset"); + return -1; + } + + act.sa_handler = inthandler; + act.sa_flags = SA_RESTART; + + /* Only defer ourselves. Also, try to restart interrupted + * syscalls to disturb the traced program as little as possible. + */ + result = sigaction(SIGUSR1, &act, NULL); + if (result == -1) { + perror("sigaction"); + return -1; + } + + return 0; +} + +int main(int argc, char **argv) +{ + struct lttng_ust_registered_context_provider *reg_provider; + int i, netint; + long values[] = { 1, 2, 3 }; + char text[10] = "test"; + double dbl = 2.0; + float flt = 2222.0; + int delay = 0; + bool mybool = 123; /* should print "1" */ + + init_int_handler(); + + if (argc == 2) + delay = atoi(argv[1]); + + reg_provider = lttng_ust_context_provider_register(&myprovider); + if (!reg_provider) + abort(); + + fprintf(stderr, "Hello, World!\n"); + + sleep(delay); + + fprintf(stderr, "Tracing... "); + for (i = 0; i < 1000000; i++) { + netint = htonl(i); + lttng_ust_tracepoint(ust_tests_hello, tptest, i, netint, values, + text, strlen(text), dbl, flt, mybool); + test_inc_count(); + //usleep(100000); + } + lttng_ust_context_provider_unregister(reg_provider); + fprintf(stderr, " done.\n"); + return 0; +} diff --git a/tests/compile/api1/test-app-ctx/tp.c b/tests/compile/api1/test-app-ctx/tp.c new file mode 100644 index 00000000..98669b6e --- /dev/null +++ b/tests/compile/api1/test-app-ctx/tp.c @@ -0,0 +1,8 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#define LTTNG_UST_TRACEPOINT_CREATE_PROBES +#include "ust_tests_hello.h" diff --git a/tests/compile/api1/test-app-ctx/ust_tests_hello.h b/tests/compile/api1/test-app-ctx/ust_tests_hello.h new file mode 100644 index 00000000..a73717ae --- /dev/null +++ b/tests/compile/api1/test-app-ctx/ust_tests_hello.h @@ -0,0 +1,53 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2011 Mathieu Desnoyers + */ + +#undef LTTNG_UST_TRACEPOINT_PROVIDER +#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_hello + +#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) +#define _TRACEPOINT_UST_TESTS_HELLO_H + +#include +#include +#include + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest, + LTTNG_UST_TP_ARGS(int, anint, int, netint, long *, values, + char *, text, size_t, textlen, + double, doublearg, float, floatarg, + bool, boolarg), + LTTNG_UST_TP_FIELDS( + lttng_ust_field_integer(int, intfield, anint) + lttng_ust_field_integer_hex(int, intfield2, anint) + lttng_ust_field_integer(long, longfield, anint) + lttng_ust_field_integer_network(int, netintfield, netint) + lttng_ust_field_integer_network_hex(int, netintfieldhex, netint) + lttng_ust_field_array(long, arrfield1, values, 3) + lttng_ust_field_array_text(char, arrfield2, text, 10) + lttng_ust_field_sequence(char, seqfield1, text, + size_t, textlen) + lttng_ust_field_sequence_text(char, seqfield2, text, + size_t, textlen) + lttng_ust_field_string(stringfield, text) + lttng_ust_field_float(float, floatfield, floatarg) + lttng_ust_field_float(double, doublefield, doublearg) + lttng_ust_field_integer(bool, boolfield, boolarg) + lttng_ust_field_integer_nowrite(int, filterfield, anint) + ) +) + +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest_sighandler, + LTTNG_UST_TP_ARGS(), + LTTNG_UST_TP_FIELDS() +) + +#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */ + +#undef LTTNG_UST_TRACEPOINT_INCLUDE +#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_hello.h" + +/* This part must be outside ifdef protection */ +#include diff --git a/tests/compile/api1/ust-fields/Makefile.am b/tests/compile/api1/ust-fields/Makefile.am new file mode 100644 index 00000000..e56f0c00 --- /dev/null +++ b/tests/compile/api1/ust-fields/Makefile.am @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: LGPL-2.1-only + +AM_CPPFLAGS += -I$(srcdir) + +noinst_PROGRAMS = ust-fields ust-fields-compatapi1 + +ust_fields_SOURCES = ust-fields.c tp.c ust_tests_ust_fields.h +ust_fields_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS) +ust_fields_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +ust_fields_compatapi1_SOURCES = ust-fields.c tp.c ust_tests_ust_fields.h +ust_fields_compatapi1_CFLAGS = -Werror=old-style-definition -DLTTNG_UST_COMPAT_API_VERSION=1 $(AM_CFLAGS) +ust_fields_compatapi1_LDADD = \ + $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +EXTRA_DIST = README diff --git a/tests/compile/api1/ust-fields/README b/tests/compile/api1/ust-fields/README new file mode 100644 index 00000000..01986531 --- /dev/null +++ b/tests/compile/api1/ust-fields/README @@ -0,0 +1,3 @@ +This is a "hello world" application used to verify that an instrumented program +with tracepoints using type declarations in CTF metadata can be built +successfully. diff --git a/tests/compile/api1/ust-fields/tp.c b/tests/compile/api1/ust-fields/tp.c new file mode 100644 index 00000000..fbc112a8 --- /dev/null +++ b/tests/compile/api1/ust-fields/tp.c @@ -0,0 +1,8 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2014 Geneviève Bastien + */ + +#define LTTNG_UST_TRACEPOINT_CREATE_PROBES +#include "ust_tests_ust_fields.h" diff --git a/tests/compile/api1/ust-fields/ust-fields.c b/tests/compile/api1/ust-fields/ust-fields.c new file mode 100644 index 00000000..0b4aa0a3 --- /dev/null +++ b/tests/compile/api1/ust-fields/ust-fields.c @@ -0,0 +1,35 @@ +/* + * SPDX-License-Identifier: LGPL-2.1-only + * + * Copyright (C) 2014 Geneviève Bastien + */ + +#include + +#define LTTNG_UST_TRACEPOINT_DEFINE +#include "ust_tests_ust_fields.h" + +int main(int argc, char **argv) +{ + int i; + int delay = 0; + + if (argc == 2) + delay = atoi(argv[1]); + + fprintf(stderr, "Hello, World!\n"); + + sleep(delay); + + fprintf(stderr, "Tracing... "); + for (i = 0; i < 100; i++) { + lttng_ust_tracepoint(ust_tests_ust_fields, tptest, i, i % 6, + i % 21); + } + + for (i = 0; i < 10; i++) { + lttng_ust_tracepoint(ust_tests_ust_fields, tptest_bis, i, i % 6); + } + fprintf(stderr, " done.\n"); + return 0; +} diff --git a/tests/compile/api1/ust-fields/ust_tests_ust_fields.h b/tests/compile/api1/ust-fields/ust_tests_ust_fields.h new file mode 100644 index 00000000..302d160d --- /dev/null +++ b/tests/compile/api1/ust-fields/ust_tests_ust_fields.h @@ -0,0 +1,67 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2014 Geneviève Bastien + */ + +#undef LTTNG_UST_TRACEPOINT_PROVIDER +#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_ust_fields + +#if !defined(_TRACEPOINT_UST_TESTS_UST_FIELDS_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) +#define _TRACEPOINT_UST_TESTS_UST_FIELDS_H + +#include + +LTTNG_UST_TRACEPOINT_ENUM(ust_tests_ust_fields, testenum, + LTTNG_UST_TP_ENUM_VALUES( + lttng_ust_field_enum_value("even", 0) + lttng_ust_field_enum_value("uneven", 1) + lttng_ust_field_enum_range("twoto4", 2, 4) + lttng_ust_field_enum_value("five\"extra\\test", 5) + ) +) + +LTTNG_UST_TRACEPOINT_ENUM(ust_tests_ust_fields, testenum2, + LTTNG_UST_TP_ENUM_VALUES( + lttng_ust_field_enum_value("zero", 0) + lttng_ust_field_enum_value("five", 5) + lttng_ust_field_enum_range("ten_to_twenty", 10, 20) + ) +) + +/* + * Enumeration field is used twice to make sure the type declaration + * is entered only once in the metadata file. + */ +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_ust_fields, tptest, + LTTNG_UST_TP_ARGS(int, anint, int, enumval, int, enumval2), + LTTNG_UST_TP_FIELDS( + lttng_ust_field_integer(int, intfield, anint) + lttng_ust_field_enum(ust_tests_ust_fields, testenum, int, enumfield, enumval) + lttng_ust_field_enum(ust_tests_ust_fields, testenum, long long, + enumfield_bis, enumval) + lttng_ust_field_enum(ust_tests_ust_fields, testenum2, unsigned int, + enumfield_third, enumval2) + ) +) + +/* + * Another tracepoint using the types to make sure each type is entered + * only once in the metadata file. + */ +LTTNG_UST_TRACEPOINT_EVENT(ust_tests_ust_fields, tptest_bis, + LTTNG_UST_TP_ARGS(int, anint, int, enumval), + LTTNG_UST_TP_FIELDS( + lttng_ust_field_integer(int, intfield, anint) + lttng_ust_field_enum(ust_tests_ust_fields, testenum, unsigned char, + enumfield, enumval) + ) +) + +#endif /* _TRACEPOINT_UST_TESTS_UST_FIELDS_H */ + +#undef LTTNG_UST_TRACEPOINT_INCLUDE +#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_ust_fields.h" + +/* This part must be outside ifdef protection */ +#include diff --git a/tests/compile/ctf-types/Makefile.am b/tests/compile/ctf-types/Makefile.am deleted file mode 100644 index cb268fe4..00000000 --- a/tests/compile/ctf-types/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-only - -AM_CPPFLAGS += -I$(srcdir) - -noinst_PROGRAMS = ctf-types -ctf_types_SOURCES = ctf-types.c tp.c ust_tests_ctf_types.h -ctf_types_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS) -ctf_types_LDADD = \ - $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ - $(DL_LIBS) - -EXTRA_DIST = README diff --git a/tests/compile/ctf-types/README b/tests/compile/ctf-types/README deleted file mode 100644 index 01986531..00000000 --- a/tests/compile/ctf-types/README +++ /dev/null @@ -1,3 +0,0 @@ -This is a "hello world" application used to verify that an instrumented program -with tracepoints using type declarations in CTF metadata can be built -successfully. diff --git a/tests/compile/ctf-types/ctf-types.c b/tests/compile/ctf-types/ctf-types.c deleted file mode 100644 index c54ed6a4..00000000 --- a/tests/compile/ctf-types/ctf-types.c +++ /dev/null @@ -1,35 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-only - * - * Copyright (C) 2014 Geneviève Bastien - */ - -#include - -#define LTTNG_UST_TRACEPOINT_DEFINE -#include "ust_tests_ctf_types.h" - -int main(int argc, char **argv) -{ - int i; - int delay = 0; - - if (argc == 2) - delay = atoi(argv[1]); - - fprintf(stderr, "Hello, World!\n"); - - sleep(delay); - - fprintf(stderr, "Tracing... "); - for (i = 0; i < 100; i++) { - lttng_ust_tracepoint(ust_tests_ctf_types, tptest, i, i % 6, - i % 21); - } - - for (i = 0; i < 10; i++) { - lttng_ust_tracepoint(ust_tests_ctf_types, tptest_bis, i, i % 6); - } - fprintf(stderr, " done.\n"); - return 0; -} diff --git a/tests/compile/ctf-types/tp.c b/tests/compile/ctf-types/tp.c deleted file mode 100644 index 25c9c8a7..00000000 --- a/tests/compile/ctf-types/tp.c +++ /dev/null @@ -1,8 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2014 Geneviève Bastien - */ - -#define LTTNG_UST_TRACEPOINT_CREATE_PROBES -#include "ust_tests_ctf_types.h" diff --git a/tests/compile/ctf-types/ust_tests_ctf_types.h b/tests/compile/ctf-types/ust_tests_ctf_types.h deleted file mode 100644 index 489f04a2..00000000 --- a/tests/compile/ctf-types/ust_tests_ctf_types.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2014 Geneviève Bastien - */ - -#undef LTTNG_UST_TRACEPOINT_PROVIDER -#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_ctf_types - -#if !defined(_TRACEPOINT_UST_TESTS_CTF_TYPES_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) -#define _TRACEPOINT_UST_TESTS_CTF_TYPES_H - -#include - -LTTNG_UST_TRACEPOINT_ENUM(ust_tests_ctf_types, testenum, - LTTNG_UST_TP_ENUM_VALUES( - lttng_ust_field_enum_value("even", 0) - lttng_ust_field_enum_value("uneven", 1) - lttng_ust_field_enum_range("twoto4", 2, 4) - lttng_ust_field_enum_value("five\"extra\\test", 5) - ) -) - -LTTNG_UST_TRACEPOINT_ENUM(ust_tests_ctf_types, testenum2, - LTTNG_UST_TP_ENUM_VALUES( - lttng_ust_field_enum_value("zero", 0) - lttng_ust_field_enum_value("five", 5) - lttng_ust_field_enum_range("ten_to_twenty", 10, 20) - ) -) - -/* - * Enumeration field is used twice to make sure the type declaration - * is entered only once in the metadata file. - */ -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_ctf_types, tptest, - LTTNG_UST_TP_ARGS(int, anint, int, enumval, int, enumval2), - LTTNG_UST_TP_FIELDS( - lttng_ust_field_integer(int, intfield, anint) - lttng_ust_field_enum(ust_tests_ctf_types, testenum, int, enumfield, enumval) - lttng_ust_field_enum(ust_tests_ctf_types, testenum, long long, - enumfield_bis, enumval) - lttng_ust_field_enum(ust_tests_ctf_types, testenum2, unsigned int, - enumfield_third, enumval2) - ) -) - -/* - * Another tracepoint using the types to make sure each type is entered - * only once in the metadata file. - */ -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_ctf_types, tptest_bis, - LTTNG_UST_TP_ARGS(int, anint, int, enumval), - LTTNG_UST_TP_FIELDS( - lttng_ust_field_integer(int, intfield, anint) - lttng_ust_field_enum(ust_tests_ctf_types, testenum, unsigned char, - enumfield, enumval) - ) -) - -#endif /* _TRACEPOINT_UST_TESTS_CTF_TYPES_H */ - -#undef LTTNG_UST_TRACEPOINT_INCLUDE -#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_ctf_types.h" - -/* This part must be outside ifdef protection */ -#include diff --git a/tests/compile/hello-many/Makefile.am b/tests/compile/hello-many/Makefile.am deleted file mode 100644 index 58701fb2..00000000 --- a/tests/compile/hello-many/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-only - -AM_CPPFLAGS += -I$(srcdir) - -noinst_PROGRAMS = hello-many -hello_many_SOURCES = hello-many.c tp.c ust_tests_hello_many.h -hello_many_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS) -hello_many_LDADD = \ - $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ - $(DL_LIBS) - -EXTRA_DIST = README diff --git a/tests/compile/hello-many/README b/tests/compile/hello-many/README deleted file mode 100644 index a2572546..00000000 --- a/tests/compile/hello-many/README +++ /dev/null @@ -1,2 +0,0 @@ -This is a "hello world" application used to verify that an instrumented -program which contains more than 30 tracepoints can be built successfully. diff --git a/tests/compile/hello-many/hello-many.c b/tests/compile/hello-many/hello-many.c deleted file mode 100644 index 1cae515f..00000000 --- a/tests/compile/hello-many/hello-many.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-only - * - * Copyright (C) 2009 Pierre-Marc Fournier - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define LTTNG_UST_TRACEPOINT_DEFINE -#include "ust_tests_hello_many.h" - -int main(int argc, char **argv) -{ - int delay = 0; - - if (argc == 2) - delay = atoi(argv[1]); - - fprintf(stderr, "Hello, World!\n"); - - sleep(delay); - - fprintf(stderr, "Tracing... "); - lttng_ust_tracepoint(ust_tests_hello_many, tptest_simple1); - lttng_ust_tracepoint(ust_tests_hello_many, tptest_simple34); - fprintf(stderr, " done.\n"); - return 0; -} diff --git a/tests/compile/hello-many/tp.c b/tests/compile/hello-many/tp.c deleted file mode 100644 index fbd81ab9..00000000 --- a/tests/compile/hello-many/tp.c +++ /dev/null @@ -1,8 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#define LTTNG_UST_TRACEPOINT_CREATE_PROBES -#include "ust_tests_hello_many.h" diff --git a/tests/compile/hello-many/ust_tests_hello_many.h b/tests/compile/hello-many/ust_tests_hello_many.h deleted file mode 100644 index 98cb603b..00000000 --- a/tests/compile/hello-many/ust_tests_hello_many.h +++ /dev/null @@ -1,223 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#undef LTTNG_UST_TRACEPOINT_PROVIDER -#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_hello_many - -#if !defined(_TRACEPOINT_UST_TESTS_HELLO_MANY_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) -#define _TRACEPOINT_UST_TESTS_HELLO_MANY_H - -#include -#include - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple1, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple2, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple3, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple4, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple5, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple6, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple7, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple8, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple9, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple10, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple11, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple12, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple13, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple14, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple15, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple16, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple17, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple18, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple19, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple20, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple21, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple22, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple23, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple24, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple25, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple26, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple27, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple28, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple29, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple30, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple31, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple32, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple33, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple34, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple35, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple36, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple37, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple38, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple39, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello_many, tptest_simple40, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -#endif /* _TRACEPOINT_UST_TESTS_HELLO_MANY_H */ - -#undef LTTNG_UST_TRACEPOINT_INCLUDE -#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_hello_many.h" - -/* This part must be outside ifdef protection */ -#include diff --git a/tests/compile/hello.cxx/Makefile.am b/tests/compile/hello.cxx/Makefile.am deleted file mode 100644 index c89c27e7..00000000 --- a/tests/compile/hello.cxx/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-only - -AM_CPPFLAGS += -I$(srcdir) - -noinst_PROGRAMS = hello -hello_SOURCES = hello.cpp tp-cpp.cpp ust_tests_hello.h -hello_LDADD = \ - $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ - $(DL_LIBS) - -EXTRA_DIST = README diff --git a/tests/compile/hello.cxx/README b/tests/compile/hello.cxx/README deleted file mode 100644 index 48cb0d8f..00000000 --- a/tests/compile/hello.cxx/README +++ /dev/null @@ -1,4 +0,0 @@ -This is a "hello world" application used to verify that an instrumented -program written in C++ can be built successfully. - -Only enabled if a C++ build environment is detected during configure. diff --git a/tests/compile/hello.cxx/hello.cpp b/tests/compile/hello.cxx/hello.cpp deleted file mode 100644 index e031279b..00000000 --- a/tests/compile/hello.cxx/hello.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-only - * - * Copyright (C) 2009 Pierre-Marc Fournier - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define LTTNG_UST_TRACEPOINT_DEFINE -#include "ust_tests_hello.h" - -static -void inthandler(int sig __attribute__((unused))) -{ - printf("in SIGUSR1 handler\n"); - tracepoint(ust_tests_hello, tptest_sighandler); -} - -static -int init_int_handler(void) -{ - int result; - struct sigaction act; - - memset(&act, 0, sizeof(act)); - result = sigemptyset(&act.sa_mask); - if (result == -1) { - perror("sigemptyset"); - return -1; - } - - act.sa_handler = inthandler; - act.sa_flags = SA_RESTART; - - /* Only defer ourselves. Also, try to restart interrupted - * syscalls to disturb the traced program as little as possible. - */ - result = sigaction(SIGUSR1, &act, NULL); - if (result == -1) { - perror("sigaction"); - return -1; - } - - return 0; -} - -int main(int argc, char **argv) -{ - int i, netint; - long values[] = { 1, 2, 3 }; - char text[10] = "test"; - double dbl = 2.0; - float flt = 2222.0; - int delay = 0; - - init_int_handler(); - - if (argc == 2) - delay = atoi(argv[1]); - - fprintf(stderr, "Hello, World!\n"); - - sleep(delay); - - fprintf(stderr, "Tracing... "); - for (i = 0; i < 1000000; i++) { - netint = htonl(i); - tracepoint(ust_tests_hello, tptest, i, netint, values, - text, strlen(text), dbl, flt, 15); - //usleep(100000); - } - fprintf(stderr, " done.\n"); - return 0; -} diff --git a/tests/compile/hello.cxx/tp-cpp.cpp b/tests/compile/hello.cxx/tp-cpp.cpp deleted file mode 100644 index 98669b6e..00000000 --- a/tests/compile/hello.cxx/tp-cpp.cpp +++ /dev/null @@ -1,8 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#define LTTNG_UST_TRACEPOINT_CREATE_PROBES -#include "ust_tests_hello.h" diff --git a/tests/compile/hello.cxx/ust_tests_hello.h b/tests/compile/hello.cxx/ust_tests_hello.h deleted file mode 100644 index 9088aaf1..00000000 --- a/tests/compile/hello.cxx/ust_tests_hello.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#undef LTTNG_UST_TRACEPOINT_PROVIDER -#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_hello - -#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) -#define _TRACEPOINT_UST_TESTS_HELLO_H - -#include -#include - -LTTNG_UST_TRACEPOINT_ENUM(ust_tests_hello, my_enum, - LTTNG_UST_TP_ENUM_VALUES( - lttng_ust_field_enum_value("zero", 0) - lttng_ust_field_enum_value("one", 1) - lttng_ust_field_enum_auto("two") - lttng_ust_field_enum_value("three", 3) - lttng_ust_field_enum_range("ten to twenty", 10, 20) - lttng_ust_field_enum_auto("21!") - ) -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest, - LTTNG_UST_TP_ARGS(int, anint, int, netint, long *, values, - char *, text, size_t, textlen, - double, doublearg, float, floatarg, - int, enumarg), - LTTNG_UST_TP_FIELDS( - lttng_ust_field_integer(int, intfield, anint) - lttng_ust_field_integer_hex(int, intfield2, anint) - lttng_ust_field_integer(long, longfield, anint) - lttng_ust_field_integer_network(int, netintfield, netint) - lttng_ust_field_integer_network_hex(int, netintfieldhex, netint) - lttng_ust_field_array(long, arrfield1, values, 3) - lttng_ust_field_array_text(char, arrfield2, text, 10) - lttng_ust_field_sequence(char, seqfield1, text, - size_t, textlen) - lttng_ust_field_sequence_text(char, seqfield2, text, - size_t, textlen) - lttng_ust_field_string(stringfield, text) - lttng_ust_field_float(float, floatfield, floatarg) - lttng_ust_field_float(double, doublefield, doublearg) - lttng_ust_field_enum(ust_tests_hello, my_enum, int, enumfield, enumarg) - ) -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest_sighandler, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */ - -#undef LTTNG_UST_TRACEPOINT_INCLUDE -#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_hello.h" - -/* This part must be outside ifdef protection */ -#include diff --git a/tests/compile/hello/Makefile.am b/tests/compile/hello/Makefile.am deleted file mode 100644 index e212d922..00000000 --- a/tests/compile/hello/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-only - -AM_CPPFLAGS += -I$(srcdir) - -noinst_PROGRAMS = hello -hello_SOURCES = hello.c tp.c ust_tests_hello.h -hello_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS) -hello_LDADD = \ - $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ - $(DL_LIBS) - -EXTRA_DIST = README diff --git a/tests/compile/hello/Makefile.example.bsd b/tests/compile/hello/Makefile.example.bsd deleted file mode 100644 index 35943945..00000000 --- a/tests/compile/hello/Makefile.example.bsd +++ /dev/null @@ -1,10 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-only -# -# Example makefile for build outside of the LTTng-UST tree. - -hello: - ${CC} -O2 -I. -o hello -lc -llttng-ust hello.c tp.c - -.PHONY: clean -clean: - rm -f hello diff --git a/tests/compile/hello/Makefile.example.linux b/tests/compile/hello/Makefile.example.linux deleted file mode 100644 index 74fda7bb..00000000 --- a/tests/compile/hello/Makefile.example.linux +++ /dev/null @@ -1,10 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-only -# -# Example makefile to build outside of the LTTng-UST tree. - -hello: - ${CC} -O2 -I. -o hello -ldl -llttng-ust hello.c tp.c - -.PHONY: clean -clean: - rm -f hello diff --git a/tests/compile/hello/README b/tests/compile/hello/README deleted file mode 100644 index 5d5100da..00000000 --- a/tests/compile/hello/README +++ /dev/null @@ -1,2 +0,0 @@ -This is a "hello world" application used to verify that an instrumented -program can be built successfully. \ No newline at end of file diff --git a/tests/compile/hello/hello.c b/tests/compile/hello/hello.c deleted file mode 100644 index 107cf55e..00000000 --- a/tests/compile/hello/hello.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-only - * - * Copyright (C) 2009 Pierre-Marc Fournier - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -/* - * Work-around inet.h missing struct mmsghdr forward declaration, with - * triggers a warning when system files warnings are enabled. - */ -struct mmsghdr; -#include -#include -#include - -#define LTTNG_UST_TRACEPOINT_DEFINE -#include "ust_tests_hello.h" - -static -void inthandler(int sig __attribute__((unused))) -{ - printf("in SIGUSR1 handler\n"); - lttng_ust_tracepoint(ust_tests_hello, tptest_sighandler); -} - -static -int init_int_handler(void) -{ - int result; - struct sigaction act; - - memset(&act, 0, sizeof(act)); - result = sigemptyset(&act.sa_mask); - if (result == -1) { - perror("sigemptyset"); - return -1; - } - - act.sa_handler = inthandler; - act.sa_flags = SA_RESTART; - - /* Only defer ourselves. Also, try to restart interrupted - * syscalls to disturb the traced program as little as possible. - */ - result = sigaction(SIGUSR1, &act, NULL); - if (result == -1) { - perror("sigaction"); - return -1; - } - - return 0; -} - -int main(int argc, char **argv) -{ - int i, netint; - long values[] = { 1, 2, 3 }; - char text[10] = "test"; - double dbl = 2.0; - float flt = 2222.0; - int delay = 0; - bool mybool = 123; /* should print "1" */ - - init_int_handler(); - - if (argc == 2) - delay = atoi(argv[1]); - - fprintf(stderr, "Hello, World!\n"); - - sleep(delay); - - fprintf(stderr, "Tracing... "); - for (i = 0; i < 1000000; i++) { - netint = htonl(i); - lttng_ust_tracepoint(ust_tests_hello, tptest, i, netint, values, - text, strlen(text), dbl, flt, mybool); - //usleep(100000); - } - fprintf(stderr, " done.\n"); - return 0; -} diff --git a/tests/compile/hello/tp.c b/tests/compile/hello/tp.c deleted file mode 100644 index 98669b6e..00000000 --- a/tests/compile/hello/tp.c +++ /dev/null @@ -1,8 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#define LTTNG_UST_TRACEPOINT_CREATE_PROBES -#include "ust_tests_hello.h" diff --git a/tests/compile/hello/ust_tests_hello.h b/tests/compile/hello/ust_tests_hello.h deleted file mode 100644 index 639c7c9f..00000000 --- a/tests/compile/hello/ust_tests_hello.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#undef LTTNG_UST_TRACEPOINT_PROVIDER -#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_hello - -#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) -#define _TRACEPOINT_UST_TESTS_HELLO_H - -#include -#include -#include - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest, - LTTNG_UST_TP_ARGS(int, anint, int, netint, long *, values, - char *, text, size_t, textlen, - double, doublearg, float, floatarg, - bool, boolarg), - LTTNG_UST_TP_FIELDS( - lttng_ust_field_integer(int, intfield, anint) - lttng_ust_field_integer_hex(int, intfield2, anint) - lttng_ust_field_integer(long, longfield, anint) - lttng_ust_field_integer_network(int, netintfield, netint) - lttng_ust_field_integer_network_hex(int, netintfieldhex, netint) - lttng_ust_field_array_nowrite(long, arrfield1z, values, 3) - lttng_ust_field_array(long, blah, values, 3) - lttng_ust_field_array(long, arrfield1, values, 3) - lttng_ust_field_array_hex(long, arrfield1_hex, values, 3) - lttng_ust_field_array_network(long, arrfield1_network, values, 3) - lttng_ust_field_array_network_hex(long, arrfield1_network_hex, values, 3) - lttng_ust_field_array_text(char, arrfield2, text, 10) - lttng_ust_field_sequence(char, seqfield1, text, - size_t, textlen) - lttng_ust_field_sequence_nowrite(char, seqfield1z, text, - size_t, textlen) - lttng_ust_field_sequence_hex(char, seqfield1_hex, text, - size_t, textlen) - lttng_ust_field_sequence_text(char, seqfield2, text, - size_t, textlen) - lttng_ust_field_sequence_network(long, seqfield_network_3, values, - size_t, 3) - lttng_ust_field_string(stringfield, text) - lttng_ust_field_float(float, floatfield, floatarg) - lttng_ust_field_float(double, doublefield, doublearg) - lttng_ust_field_integer(bool, boolfield, boolarg) - lttng_ust_field_integer_nowrite(int, filterfield, anint) - ) -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest_sighandler, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */ - -#undef LTTNG_UST_TRACEPOINT_INCLUDE -#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_hello.h" - -/* This part must be outside ifdef protection */ -#include diff --git a/tests/compile/same_line_tracepoint/Makefile.am b/tests/compile/same_line_tracepoint/Makefile.am deleted file mode 100644 index 6d3ac3e1..00000000 --- a/tests/compile/same_line_tracepoint/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-only - -AM_CPPFLAGS += -I$(srcdir) - -noinst_PROGRAMS = same_line_tracepoint -same_line_tracepoint_SOURCES = same_line_tracepoint.c ust_tests_sameline.h -same_line_tracepoint_LDADD = \ - $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ - $(DL_LIBS) - -EXTRA_DIST = README diff --git a/tests/compile/same_line_tracepoint/README b/tests/compile/same_line_tracepoint/README deleted file mode 100644 index 55c2e08b..00000000 --- a/tests/compile/same_line_tracepoint/README +++ /dev/null @@ -1,5 +0,0 @@ -Same line tracepoint test -------------------------- - -This is a build test that verifies multiple tracepoint can be placed on a single -line. diff --git a/tests/compile/same_line_tracepoint/same_line_tracepoint.c b/tests/compile/same_line_tracepoint/same_line_tracepoint.c deleted file mode 100644 index 81c7540d..00000000 --- a/tests/compile/same_line_tracepoint/same_line_tracepoint.c +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-or-later - * - * Copyright (C) 2013 Jérémie Galarneau - */ - -#define LTTNG_UST_TRACEPOINT_DEFINE -#define LTTNG_UST_TRACEPOINT_CREATE_PROBES -#include "ust_tests_sameline.h" - -int main(void) -{ - lttng_ust_tracepoint(ust_tests_sameline, event1); lttng_ust_tracepoint(ust_tests_sameline, event2); - return 0; -} diff --git a/tests/compile/same_line_tracepoint/ust_tests_sameline.h b/tests/compile/same_line_tracepoint/ust_tests_sameline.h deleted file mode 100644 index b2e4d8aa..00000000 --- a/tests/compile/same_line_tracepoint/ust_tests_sameline.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#undef LTTNG_UST_TRACEPOINT_PROVIDER -#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_sameline - -#if !defined(_TRACEPOINT_UST_TESTS_SAMELINE_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) -#define _TRACEPOINT_UST_TESTS_SAMELINE_H - -#include - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_sameline, event1, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) -LTTNG_UST_TRACEPOINT_LOGLEVEL(ust_tests_sameline, event1, TRACE_CRIT) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_sameline, event2, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) -LTTNG_UST_TRACEPOINT_LOGLEVEL(ust_tests_sameline, event2, TRACE_CRIT) - -#endif /* _TRACEPOINT_UST_TESTS_SAMELINE_H */ - -#undef LTTNG_UST_TRACEPOINT_INCLUDE -#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_sameline.h" - -/* This part must be outside ifdef protection */ -#include diff --git a/tests/compile/test-app-ctx/Makefile.am b/tests/compile/test-app-ctx/Makefile.am deleted file mode 100644 index c8b6281c..00000000 --- a/tests/compile/test-app-ctx/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-only - -AM_CPPFLAGS += -I$(srcdir) - -noinst_PROGRAMS = hello -hello_SOURCES = hello.c tp.c ust_tests_hello.h -hello_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS) -hello_LDADD = \ - $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la \ - $(DL_LIBS) diff --git a/tests/compile/test-app-ctx/hello.c b/tests/compile/test-app-ctx/hello.c deleted file mode 100644 index 85df9984..00000000 --- a/tests/compile/test-app-ctx/hello.c +++ /dev/null @@ -1,329 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-only - * - * Copyright (C) 2009 Pierre-Marc Fournier - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -/* - * Work-around inet.h missing struct mmsghdr forward declaration, with - * triggers a warning when system files warnings are enabled. - */ -struct mmsghdr; -#include -#include -#include -#include - -#define LTTNG_UST_TRACEPOINT_DEFINE -#include "ust_tests_hello.h" - -#include -#include -/* Internal header. */ -#include - -static __thread unsigned int test_count; - -static -void test_inc_count(void) -{ - test_count++; -} - -static -size_t test_get_size(void *priv __attribute__((unused)), - struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), - size_t offset) -{ - int sel = test_count % _NR_LTTNG_UST_DYNAMIC_TYPES; - size_t size = 0; - - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(char)); - size += sizeof(char); /* tag */ - switch (sel) { - case LTTNG_UST_DYNAMIC_TYPE_NONE: - break; - case LTTNG_UST_DYNAMIC_TYPE_S8: - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int8_t)); - size += sizeof(int8_t); /* variant */ - break; - case LTTNG_UST_DYNAMIC_TYPE_S16: - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int16_t)); - size += sizeof(int16_t); /* variant */ - break; - case LTTNG_UST_DYNAMIC_TYPE_S32: - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int32_t)); - size += sizeof(int32_t); /* variant */ - break; - case LTTNG_UST_DYNAMIC_TYPE_S64: - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int64_t)); - size += sizeof(int64_t); /* variant */ - break; - case LTTNG_UST_DYNAMIC_TYPE_U8: - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint8_t)); - size += sizeof(uint8_t); /* variant */ - break; - case LTTNG_UST_DYNAMIC_TYPE_U16: - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint16_t)); - size += sizeof(uint16_t); /* variant */ - break; - case LTTNG_UST_DYNAMIC_TYPE_U32: - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint32_t)); - size += sizeof(uint32_t); /* variant */ - break; - case LTTNG_UST_DYNAMIC_TYPE_U64: - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint64_t)); - size += sizeof(uint64_t); /* variant */ - break; - case LTTNG_UST_DYNAMIC_TYPE_FLOAT: - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(float)); - size += sizeof(float); /* variant */ - break; - case LTTNG_UST_DYNAMIC_TYPE_DOUBLE: - size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(double)); - size += sizeof(double); /* variant */ - break; - case LTTNG_UST_DYNAMIC_TYPE_STRING: - size += strlen("teststr") + 1; - break; - default: - abort(); - } - - return size; -} - -static -void test_record(void *priv __attribute__((unused)), - struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), - struct lttng_ust_ring_buffer_ctx *ctx, - struct lttng_ust_channel_buffer *lttng_chan_buf) -{ - int sel = test_count % _NR_LTTNG_UST_DYNAMIC_TYPES; - char sel_char = (char) sel; - - lttng_chan_buf->ops->event_write(ctx, &sel_char, sizeof(sel_char), lttng_ust_rb_alignof(char)); - switch (sel) { - case LTTNG_UST_DYNAMIC_TYPE_NONE: - break; - case LTTNG_UST_DYNAMIC_TYPE_S8: - { - int8_t v = -8; - - lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); - break; - } - case LTTNG_UST_DYNAMIC_TYPE_S16: - { - int16_t v = -16; - - lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); - break; - } - case LTTNG_UST_DYNAMIC_TYPE_S32: - { - int32_t v = -32; - - lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); - break; - } - case LTTNG_UST_DYNAMIC_TYPE_S64: - { - int64_t v = -64; - - lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); - break; - } - case LTTNG_UST_DYNAMIC_TYPE_U8: - { - uint8_t v = 8; - - lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); - break; - } - case LTTNG_UST_DYNAMIC_TYPE_U16: - { - uint16_t v = 16; - - lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); - break; - } - case LTTNG_UST_DYNAMIC_TYPE_U32: - { - uint32_t v = 32; - - lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); - break; - } - case LTTNG_UST_DYNAMIC_TYPE_U64: - { - uint64_t v = 64; - - lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); - break; - } - case LTTNG_UST_DYNAMIC_TYPE_FLOAT: - { - float f = 22322.0; - - lttng_chan_buf->ops->event_write(ctx, &f, sizeof(f), lttng_ust_rb_alignof(f)); - break; - } - case LTTNG_UST_DYNAMIC_TYPE_DOUBLE: - { - double d = 2.0; - - lttng_chan_buf->ops->event_write(ctx, &d, sizeof(d), lttng_ust_rb_alignof(d)); - break; - } - case LTTNG_UST_DYNAMIC_TYPE_STRING: - { - const char *str = "teststr"; - lttng_chan_buf->ops->event_write(ctx, str, strlen(str) + 1, 1); - break; - } - default: - abort(); - } -} - -static -void test_get_value(void *priv __attribute__((unused)), - struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), - struct lttng_ust_ctx_value *value) -{ - int sel = test_count % _NR_LTTNG_UST_DYNAMIC_TYPES; - - value->sel = sel; - switch (sel) { - case LTTNG_UST_DYNAMIC_TYPE_NONE: - break; - case LTTNG_UST_DYNAMIC_TYPE_S8: - value->u.s64 = -8; - break; - case LTTNG_UST_DYNAMIC_TYPE_S16: - value->u.s64 = -16; - break; - case LTTNG_UST_DYNAMIC_TYPE_S32: - value->u.s64 = -32; - break; - case LTTNG_UST_DYNAMIC_TYPE_S64: - value->u.s64 = -64; - break; - case LTTNG_UST_DYNAMIC_TYPE_U8: - value->u.u64 = 8; - break; - case LTTNG_UST_DYNAMIC_TYPE_U16: - value->u.u64 = 16; - break; - case LTTNG_UST_DYNAMIC_TYPE_U32: - value->u.u64 = 32; - break; - case LTTNG_UST_DYNAMIC_TYPE_U64: - value->u.u64 = 64; - break; - case LTTNG_UST_DYNAMIC_TYPE_FLOAT: - value->u.d = 22322.0; - break; - case LTTNG_UST_DYNAMIC_TYPE_DOUBLE: - value->u.d = 2.0; - break; - case LTTNG_UST_DYNAMIC_TYPE_STRING: - value->u.str = "teststr"; - break; - default: - abort(); - } -} - -static char myprovider_name[] = "$app.myprovider"; -struct lttng_ust_context_provider myprovider = { - .struct_size = sizeof(struct lttng_ust_context_provider), - .name = myprovider_name, - .get_size = test_get_size, - .record = test_record, - .get_value = test_get_value, -}; - -static -void inthandler(int sig __attribute__((unused))) -{ - printf("in SIGUSR1 handler\n"); - lttng_ust_tracepoint(ust_tests_hello, tptest_sighandler); -} - -static -int init_int_handler(void) -{ - int result; - struct sigaction act; - - memset(&act, 0, sizeof(act)); - result = sigemptyset(&act.sa_mask); - if (result == -1) { - perror("sigemptyset"); - return -1; - } - - act.sa_handler = inthandler; - act.sa_flags = SA_RESTART; - - /* Only defer ourselves. Also, try to restart interrupted - * syscalls to disturb the traced program as little as possible. - */ - result = sigaction(SIGUSR1, &act, NULL); - if (result == -1) { - perror("sigaction"); - return -1; - } - - return 0; -} - -int main(int argc, char **argv) -{ - struct lttng_ust_registered_context_provider *reg_provider; - int i, netint; - long values[] = { 1, 2, 3 }; - char text[10] = "test"; - double dbl = 2.0; - float flt = 2222.0; - int delay = 0; - bool mybool = 123; /* should print "1" */ - - init_int_handler(); - - if (argc == 2) - delay = atoi(argv[1]); - - reg_provider = lttng_ust_context_provider_register(&myprovider); - if (!reg_provider) - abort(); - - fprintf(stderr, "Hello, World!\n"); - - sleep(delay); - - fprintf(stderr, "Tracing... "); - for (i = 0; i < 1000000; i++) { - netint = htonl(i); - lttng_ust_tracepoint(ust_tests_hello, tptest, i, netint, values, - text, strlen(text), dbl, flt, mybool); - test_inc_count(); - //usleep(100000); - } - lttng_ust_context_provider_unregister(reg_provider); - fprintf(stderr, " done.\n"); - return 0; -} diff --git a/tests/compile/test-app-ctx/tp.c b/tests/compile/test-app-ctx/tp.c deleted file mode 100644 index 98669b6e..00000000 --- a/tests/compile/test-app-ctx/tp.c +++ /dev/null @@ -1,8 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#define LTTNG_UST_TRACEPOINT_CREATE_PROBES -#include "ust_tests_hello.h" diff --git a/tests/compile/test-app-ctx/ust_tests_hello.h b/tests/compile/test-app-ctx/ust_tests_hello.h deleted file mode 100644 index a73717ae..00000000 --- a/tests/compile/test-app-ctx/ust_tests_hello.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2011 Mathieu Desnoyers - */ - -#undef LTTNG_UST_TRACEPOINT_PROVIDER -#define LTTNG_UST_TRACEPOINT_PROVIDER ust_tests_hello - -#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || defined(LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ) -#define _TRACEPOINT_UST_TESTS_HELLO_H - -#include -#include -#include - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest, - LTTNG_UST_TP_ARGS(int, anint, int, netint, long *, values, - char *, text, size_t, textlen, - double, doublearg, float, floatarg, - bool, boolarg), - LTTNG_UST_TP_FIELDS( - lttng_ust_field_integer(int, intfield, anint) - lttng_ust_field_integer_hex(int, intfield2, anint) - lttng_ust_field_integer(long, longfield, anint) - lttng_ust_field_integer_network(int, netintfield, netint) - lttng_ust_field_integer_network_hex(int, netintfieldhex, netint) - lttng_ust_field_array(long, arrfield1, values, 3) - lttng_ust_field_array_text(char, arrfield2, text, 10) - lttng_ust_field_sequence(char, seqfield1, text, - size_t, textlen) - lttng_ust_field_sequence_text(char, seqfield2, text, - size_t, textlen) - lttng_ust_field_string(stringfield, text) - lttng_ust_field_float(float, floatfield, floatarg) - lttng_ust_field_float(double, doublefield, doublearg) - lttng_ust_field_integer(bool, boolfield, boolarg) - lttng_ust_field_integer_nowrite(int, filterfield, anint) - ) -) - -LTTNG_UST_TRACEPOINT_EVENT(ust_tests_hello, tptest_sighandler, - LTTNG_UST_TP_ARGS(), - LTTNG_UST_TP_FIELDS() -) - -#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */ - -#undef LTTNG_UST_TRACEPOINT_INCLUDE -#define LTTNG_UST_TRACEPOINT_INCLUDE "./ust_tests_hello.h" - -/* This part must be outside ifdef protection */ -#include