summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaya Sugiura <ssugiura@jp.adit-jv.com>2021-04-01 09:16:58 +0000
committerSaya Sugiura <ssugiura@jp.adit-jv.com>2021-10-05 11:07:37 +0900
commit1b6e78b183f22c1b64126a08b71546729d9ed716 (patch)
tree3dd13a1f1d6d00fdc734133e5c69eeb995c528a9
parent268acb11637021651398a11f109f6c9109f07ed2 (diff)
downloadDLT-daemon-1b6e78b183f22c1b64126a08b71546729d9ed716.tar.gz
tests: Enable macro disabling
This commit introduces new cmake option "WITH_DLT_DISABLE_MACRO" to disable macro usage in case it is not allowed. Currently this is adapted to src/tests and src/examples only. for dlt-test-non-verbose, the build itself is currently disabled if WITH_DLT_DISABLE_MACRO is set; this needs to be enabled again in future by replacing or adding function usage. Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
-rw-r--r--CMakeLists.txt6
-rw-r--r--src/examples/CMakeLists.txt47
-rw-r--r--src/tests/CMakeLists.txt66
-rw-r--r--src/tests/dlt-test-fork-handler.c37
-rw-r--r--src/tests/dlt-test-multi-process.c16
-rw-r--r--src/tests/dlt-test-stress-user.c24
-rw-r--r--src/tests/dlt-test-stress.c29
-rw-r--r--src/tests/dlt-test-user.c52
8 files changed, 156 insertions, 121 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d6377f0..f4bf8df 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -77,6 +77,7 @@ option(WITH_DLT_KPI "Set to ON to build src/kpi binaries"
option(WITH_DLT_FATAL_LOG_TRAP "Set to ON to enable DLT_LOG_FATAL trap(trigger segv inside dlt-user library)" OFF)
option(WITH_UDP_CONNECTION "Set to ON to enable dlt UDP multicast SUPPORT" OFF)
option(WITH_LIB_SHORT_VERSION "Set to ON to build library with only major number in version" OFF)
+option(WITH_DLT_DISABLE_MACRO "Set to ON to build code without Macro interface support" OFF)
option(WITH_LEGACY_INCLUDE_PATH "Set to ON to add <prefix>/dlt to include paths for the CMake config file, in addition to only <prefix>" ON)
option(WITH_EXTENDED_FILTERING "Set to OFF to build without extended filtering. Using json filter files is only supported for Linux based system with json-c and QNX." OFF)
@@ -155,6 +156,10 @@ if(WITH_DLT_USE_IPv6)
add_definitions(-DDLT_USE_IPv6)
endif()
+if(WITH_DLT_DISABLE_MACRO)
+ add_definitions(-DDLT_DISABLE_MACRO)
+endif()
+
if(WITH_DLT_QNX_SYSTEM AND NOT "${CMAKE_C_COMPILER}" MATCHES "nto-qnx|qcc")
message(FATAL_ERROR "Can only compile for QNX with a QNX compiler.")
endif()
@@ -319,6 +324,7 @@ message(STATUS "WITH_DLT_QNX_SYSTEM = ${WITH_DLT_QNX_SYSTEM}")
message(STATUS "WITH_LIB_SHORT_VERSION = ${WITH_LIB_SHORT_VERSION}")
message(STATUS "WITH_LEGACY_INCLUDE_PATH = ${WITH_LEGACY_INCLUDE_PATH}")
message(STATUS "WITH_EXTENDED_FILTERING = ${WITH_EXTENDED_FILTERING}")
+message(STATUS "WITH_DLT_DISABLE_MACRO = ${WITH_DLT_DISABLE_MACRO}")
message(STATUS "Change a value with: cmake -D<Variable>=<Value>")
message(STATUS "-------------------------------------------------------------------------------")
message(STATUS)
diff --git a/src/examples/CMakeLists.txt b/src/examples/CMakeLists.txt
index 013700d..b25fc3b 100644
--- a/src/examples/CMakeLists.txt
+++ b/src/examples/CMakeLists.txt
@@ -13,38 +13,23 @@
# For further information see http://www.genivi.org/.
#######
-set(dlt_example_user_SRCS dlt-example-user.c)
-add_executable(dlt-example-user ${dlt_example_user_SRCS})
-target_link_libraries(dlt-example-user dlt)
-set_target_properties(dlt-example-user PROPERTIES LINKER_LANGUAGE C)
-
-set(dlt_example_user_common_api_SRCS dlt-example-user-common-api.c)
-add_executable(dlt-example-user-common-api ${dlt_example_user_common_api_SRCS})
-target_link_libraries(dlt-example-user-common-api dlt)
-set_target_properties(dlt-example-user-common-api PROPERTIES LINKER_LANGUAGE C)
-
-set(dlt_example_user_func_SRCS dlt-example-user-func.c)
-add_executable(dlt-example-user-func ${dlt_example_user_func_SRCS})
-target_link_libraries(dlt-example-user-func dlt)
-set_target_properties(dlt-example-user-func PROPERTIES LINKER_LANGUAGE C)
-
-set(dlt_example_filetransfer_SRCS dlt-example-filetransfer.c)
-add_executable( dlt-example-filetransfer ${dlt_example_filetransfer_SRCS})
-target_link_libraries(dlt-example-filetransfer dlt )
-set_target_properties(dlt-example-filetransfer PROPERTIES LINKER_LANGUAGE C)
+set(TARGET_LIST dlt-example-user-func)
+set(TARGET_LIST ${TARGET_LIST} dlt-example-filetransfer)
+if(NOT WITH_DLT_DISABLE_MACRO)
+ set(TARGET_LIST ${TARGET_LIST} dlt-example-user)
+ set(TARGET_LIST ${TARGET_LIST} dlt-example-user-common-api)
+endif()
if(WITH_UDP_CONNECTION)
- set(dlt-example-multicast-clientmsg-view_SRCS dlt-example-multicast-clientmsg-view.c)
- add_executable(dlt-example-multicast-clientmsg-view ${dlt-example-multicast-clientmsg-view_SRCS} ${dlt_most_SRCS})
- target_link_libraries(dlt-example-multicast-clientmsg-view dlt )
- set_target_properties(dlt-example-multicast-clientmsg-view PROPERTIES LINKER_LANGUAGE C)
-
- install(TARGETS dlt-example-multicast-clientmsg-view
+ set(TARGET_LIST ${TARGET_LIST} dlt-example-multicast-clientmsg-view)
+endif()
+
+foreach(TARGET IN LISTS TARGET_LIST)
+ set(TARGET_SRCS ${TARGET})
+ add_executable(${TARGET} ${TARGET_SRCS})
+ target_link_libraries(${TARGET} dlt)
+ set_target_properties(${TARGET} PROPERTIES LINKER_LANGUAGE C)
+ install(TARGETS ${TARGET}
RUNTIME DESTINATION bin
COMPONENT base)
-
-endif(WITH_UDP_CONNECTION)
-
-install(TARGETS dlt-example-user dlt-example-user-func dlt-example-user-common-api dlt-example-filetransfer
- RUNTIME DESTINATION bin
- COMPONENT base)
+endforeach()
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index 9744fc0..46f9363 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -13,48 +13,34 @@
# For further information see http://www.genivi.org/.
#######
-set(dlt-test-multi-process_SRCS dlt-test-multi-process.c)
-set(dlt-test-multi-process-client_SRCS dlt-test-multi-process-client.c)
-set(dlt-test-user_SRCS dlt-test-user.c)
-set(dlt-test-client_SRCS dlt-test-client.c)
-set(dlt-test-stress-user_SRCS dlt-test-stress-user.c)
-set(dlt-test-stress-client_SRCS dlt-test-stress-client.c)
-set(dlt-test-stress_SRCS dlt-test-stress.c)
-set(dlt-test-filetransfer_SRCS dlt-test-filetransfer.c)
-set(dlt-test-fork-handler_SRCS dlt-test-fork-handler.c)
-set(dlt-test-init-free_SRCS dlt-test-init-free.c)
-set(dlt-test-non-verbose_SRCS dlt-test-non-verbose.c)
+set(TARGET_LIST ${TARGET_LIST} dlt-test-multi-process)
+set(TARGET_LIST ${TARGET_LIST} dlt-test-multi-process-client)
+set(TARGET_LIST ${TARGET_LIST} dlt-test-user)
+set(TARGET_LIST ${TARGET_LIST} dlt-test-client)
+set(TARGET_LIST ${TARGET_LIST} dlt-test-stress-user)
+set(TARGET_LIST ${TARGET_LIST} dlt-test-stress-client)
+set(TARGET_LIST ${TARGET_LIST} dlt-test-stress)
+set(TARGET_LIST ${TARGET_LIST} dlt-test-fork-handler)
+set(TARGET_LIST ${TARGET_LIST} dlt-test-init-free)
+set(TARGET_LIST ${TARGET_LIST} dlt-test-filetransfer)
+install(FILES dlt-test-filetransfer-file dlt-test-filetransfer-image.png
+ DESTINATION share/dlt-filetransfer)
-foreach(target
- dlt-test-multi-process
- dlt-test-multi-process-client
- dlt-test-user
- dlt-test-client
- dlt-test-stress-user
- dlt-test-stress-client
- dlt-test-stress
- dlt-test-filetransfer
- dlt-test-fork-handler
- dlt-test-init-free
- dlt-test-non-verbose
- )
- add_executable(${target} ${${target}_SRCS})
- target_link_libraries(${target} dlt)
- set_target_properties(${target} PROPERTIES LINKER_LANGUAGE C)
- install(TARGETS ${target}
- RUNTIME DESTINATION bin
- COMPONENT base)
-endforeach()
+#TODO: Enable again once dlt-test-non-verbose is adapted to non-macro usage
+if (NOT WITH_DLT_DISABLE_MACRO)
+ set(TARGET_LIST ${TARGET_LIST} dlt-test-non-verbose)
+endif()
if(WITH_DLT_QNX_SYSTEM)
- set(dlt-test-qnx-slogger_SRCS dlt-test-qnx-slogger.c)
- add_executable(dlt-test-qnx-slogger ${dlt-test-qnx-slogger_SRCS})
- target_link_libraries(dlt-test-qnx-slogger dlt)
- set_target_properties(dlt-test-qnx-slogger PROPERTIES LINKER_LANGUAGE C)
- install(TARGETS dlt-test-qnx-slogger
+ set(TARGET_LIST ${TARGET_LIST} dlt-test-qnx-slogger)
+endif()
+
+foreach(TARGET IN LISTS TARGET_LIST)
+ set(TARGET_SRCS ${TARGET})
+ add_executable(${TARGET} ${TARGET_SRCS})
+ target_link_libraries(${TARGET} dlt)
+ set_target_properties(${TARGET} PROPERTIES LINKER_LANGUAGE C)
+ install(TARGETS ${TARGET}
RUNTIME DESTINATION bin
COMPONENT base)
-endif()
-
-install(FILES dlt-test-filetransfer-file dlt-test-filetransfer-image.png
- DESTINATION share/dlt-filetransfer)
+endforeach()
diff --git a/src/tests/dlt-test-fork-handler.c b/src/tests/dlt-test-fork-handler.c
index 564de86..6655a61 100644
--- a/src/tests/dlt-test-fork-handler.c
+++ b/src/tests/dlt-test-fork-handler.c
@@ -28,6 +28,24 @@
#include "dlt.h"
+void dlt_log_message(DltContext *context, DltLogLevelType ll, char *text, int32_t num)
+{
+ DltContextData contextData;
+
+ if (text == NULL)
+ return;
+
+ if (dlt_user_log_write_start(context, &contextData, ll) > 0) {
+ dlt_user_log_write_string(&contextData, text);
+ if (num > 0) {
+ dlt_user_log_write_int32(&contextData, num);
+ }
+ dlt_user_log_write_finish(&contextData);
+ }
+
+ return;
+}
+
/**
* @brief sample code for using at_fork-handler
*/
@@ -39,22 +57,22 @@ int main()
timeout.tv_sec = 0;
timeout.tv_nsec = 200000000L;
- DLT_REGISTER_APP("PRNT", "Parent application");
- DLT_REGISTER_CONTEXT(mainContext, "CTXP", "Parent context");
- DLT_LOG(mainContext, DLT_LOG_WARN, DLT_STRING("First message before fork"));
+ dlt_register_app("PRNT", "Parent application");
+ dlt_register_context(&mainContext, "CTXP", "Parent context");
+ dlt_log_message(&mainContext, DLT_LOG_WARN, "First message before fork", 0);
nanosleep(&timeout, &r);
pid_t pid = fork();
if (pid == 0) { /* child process */
/* this message should not be visible */
- DLT_LOG(mainContext, DLT_LOG_WARN, DLT_STRING("Child's first message after fork, pid: "), DLT_INT32(getpid()));
+ dlt_log_message(&mainContext, DLT_LOG_WARN, "Child's first message after fork, pid: ", getpid());
/* this will not register CHLD application */
- DLT_REGISTER_APP("CHLD", "Child application");
+ dlt_register_app("CHLD", "Child application");
/* this will not register CTXC context */
- DLT_REGISTER_CONTEXT(mainContext, "CTXC", "Child context");
+ dlt_register_context(&mainContext, "CTXC", "Child context");
/* this will not log a message */
- DLT_LOG(mainContext, DLT_LOG_WARN, DLT_STRING("Child's second message after fork, pid: "), DLT_INT32(getpid()));
+ dlt_log_message(&mainContext, DLT_LOG_WARN, "Child's second message after fork, pid: ", getpid());
nanosleep(&timeout, &r);
if (execlp("dlt-example-user", "dlt-example-user", "-n 1",
"you should see this message", NULL))
@@ -65,12 +83,11 @@ int main()
return -1;
}
else { /* parent */
- DLT_LOG(mainContext, DLT_LOG_WARN, DLT_STRING("Parent's first message after fork, pid: "), DLT_INT32(getpid()));
+ dlt_log_message(&mainContext, DLT_LOG_WARN, "Parent's first message after fork, pid: ", getpid());
nanosleep(&timeout, &r);
}
- DLT_UNREGISTER_APP()
- ;
+ dlt_unregister_app();
return 0;
}
diff --git a/src/tests/dlt-test-multi-process.c b/src/tests/dlt-test-multi-process.c
index 8796568..47f6059 100644
--- a/src/tests/dlt-test-multi-process.c
+++ b/src/tests/dlt-test-multi-process.c
@@ -324,6 +324,7 @@ time_t mksleep_time(int delay, int fudge)
void do_logging(s_thread_data *data)
{
DltContext mycontext;
+ DltContextData mycontextdata;
char ctid[5];
char ctid_name[256];
struct timespec ts;
@@ -339,14 +340,14 @@ void do_logging(s_thread_data *data)
snprintf(ctid_name, 256, "Child %s in dlt-test-multi-process", ctid);
- DLT_REGISTER_CONTEXT(mycontext, ctid, ctid_name);
+ dlt_register_context(&mycontext, ctid, ctid_name);
int msgs_left = data->params.nmsgs;
logmsg = calloc(1, (size_t) (data->params.nloglength + 1));
if (logmsg == NULL) {
printf("Error allocate memory for message.\n");
- DLT_UNREGISTER_CONTEXT(mycontext);
+ dlt_unregister_context(&mycontext);
abort();
}
@@ -360,7 +361,10 @@ void do_logging(s_thread_data *data)
}
while (msgs_left-- > 0) {
- DLT_LOG(mycontext, DLT_LOG_INFO, DLT_STRING(logmsg));
+ if (dlt_user_log_write_start(&mycontext, &mycontextdata, DLT_LOG_INFO) > 0) {
+ dlt_user_log_write_string(&mycontextdata, logmsg);
+ dlt_user_log_write_finish(&mycontextdata);
+ }
sleep_time = mksleep_time(data->params.delay, data->params.delay_fudge);
ts.tv_sec = sleep_time / 1000000000;
@@ -373,7 +377,7 @@ void do_logging(s_thread_data *data)
logmsg = NULL;
}
- DLT_UNREGISTER_CONTEXT(mycontext);
+ dlt_unregister_context(&mycontext);
}
/**
@@ -392,7 +396,7 @@ void run_threads(s_parameters params)
snprintf(apid, 5, "MT%02u", pidcount);
snprintf(apid_name, 256, "Apps %s.", apid);
- DLT_REGISTER_APP(apid, apid_name);
+ dlt_register_app(apid, apid_name);
thread_data = calloc( (size_t) params.nthreads, sizeof(s_thread_data));
if (thread_data == NULL) {
@@ -417,7 +421,7 @@ void run_threads(s_parameters params)
if(thread_data)
free(thread_data);
- DLT_UNREGISTER_APP();
+ dlt_unregister_app();
/* We can exit now */
exit(0);
}
diff --git a/src/tests/dlt-test-stress-user.c b/src/tests/dlt-test-stress-user.c
index 0a01d54..06abbfd 100644
--- a/src/tests/dlt-test-stress-user.c
+++ b/src/tests/dlt-test-stress-user.c
@@ -81,15 +81,7 @@
int testall(int count, int repeat, int delay, int size);
/* Context declaration.. */
-DLT_DECLARE_CONTEXT(context_info)
-
-/* for macro interface */
-DLT_DECLARE_CONTEXT(context_macro_callback)
-DLT_DECLARE_CONTEXT(context_macro_test[DLT_TEST_NUM_CONTEXT])
-
-/* for function interface */
-DltContext context_function_callback;
-DltContext context_function_test[DLT_TEST_NUM_CONTEXT];
+DltContext context_info;
DltContextData context_data;
@@ -192,10 +184,10 @@ int main(int argc, char *argv[])
}
/* Register APP */
- DLT_REGISTER_APP("DIFT", "DLT Interface Test");
+ dlt_register_app("DIFT", "DLT Interface Test");
/* Register CONTEXTS... */
- DLT_REGISTER_CONTEXT(context_info, "INFO", "Information context");
+ dlt_register_context(&context_info, "INFO", "Information context");
/* Tests starting */
printf("Tests starting\n");
@@ -214,10 +206,10 @@ int main(int argc, char *argv[])
/*sleep(3); */
/* Unregister CONTEXTS... */
- DLT_UNREGISTER_CONTEXT(context_info);
+ dlt_unregister_context(&context_info);
/* Unregister APP */
- DLT_UNREGISTER_APP();
+ dlt_unregister_app();
return 0;
}
@@ -241,7 +233,11 @@ int testall(int count, int repeat, int delay, int size)
for (rnum = 0; rnum < repeat; rnum++)
for (num = 1; num <= count; num++) {
- DLT_LOG(context_info, DLT_LOG_INFO, DLT_INT(num), DLT_RAW(buffer, size));
+ if (dlt_user_log_write_start(&context_info, &context_data, DLT_LOG_INFO) > 0) {
+ dlt_user_log_write_int(&context_data, num);
+ dlt_user_log_write_raw(&context_data, buffer, size);
+ dlt_user_log_write_finish(&context_data);
+ }
ts.tv_sec = (delay * 1000) / 1000000000;
ts.tv_nsec = (delay * 1000) % 1000000000;
nanosleep(&ts, NULL);
diff --git a/src/tests/dlt-test-stress.c b/src/tests/dlt-test-stress.c
index 9698b7b..7b58b3d 100644
--- a/src/tests/dlt-test-stress.c
+++ b/src/tests/dlt-test-stress.c
@@ -211,7 +211,7 @@ int main(int argc, char *argv[])
return -1;
}
- DLT_REGISTER_APP("DSTS", "DLT daemon stress tests");
+ dlt_register_app("DSTS", "DLT daemon stress tests");
if (test[0])
stress1();
@@ -222,7 +222,7 @@ int main(int argc, char *argv[])
if (test[2])
stress3();
- DLT_UNREGISTER_APP();
+ dlt_unregister_app();
sleep(1);
@@ -269,7 +269,7 @@ void stress1(void)
printf("* Unregister %d contexts...\n", STRESS1_NUM_CONTEXTS);
for (i = 0; i < STRESS1_NUM_CONTEXTS; i++) {
- DLT_UNREGISTER_CONTEXT(mycontext[i]);
+ dlt_unregister_context(&(mycontext[i]));
ts.tv_sec = 0;
ts.tv_nsec = 500 * 1000;
nanosleep(&ts, NULL);
@@ -314,7 +314,8 @@ void stress2(void)
void thread_function(void)
{
/*thread_data_t *data; */
- DLT_DECLARE_CONTEXT(context_thread1);
+ DltContext context_thread1;
+ DltContextData context_thread1_data;
char ctid[5];
struct timespec ts;
@@ -329,29 +330,37 @@ void thread_function(void)
ts.tv_nsec = rand();
nanosleep(&ts, NULL);
- DLT_REGISTER_CONTEXT(context_thread1, ctid, ctid);
+ dlt_register_context(&context_thread1, ctid, ctid);
- DLT_LOG(context_thread1, DLT_LOG_INFO, DLT_STRING(ctid));
+ if (dlt_user_log_write_start(&context_thread1, &context_thread1_data, DLT_LOG_INFO) > 0) {
+ dlt_user_log_write_string(&context_thread1_data, ctid);
+ dlt_user_log_write_finish(&context_thread1_data);
+ }
- DLT_UNREGISTER_CONTEXT(context_thread1);
+ dlt_unregister_context(&context_thread1);
}
void stress3(void)
{
- DLT_DECLARE_CONTEXT(context_stress3);
+ DltContext context_stress3;
+ DltContextData context_stress3_data;
char buffer[STRESS3_MAX_NUM_MESSAGES];
int num;
struct timespec ts;
/* Performance test */
- DLT_REGISTER_CONTEXT(context_stress3, "TST3", "Stress Test 3 - Performance");
+ dlt_register_context(&context_stress3, "TST3", "Stress Test 3 - Performance");
printf("Starting stress test3... \n");
printf("* Logging raw data, up to a size of %d\n", STRESS3_MAX_NUM_MESSAGES);
for (num = 0; num < STRESS3_MAX_NUM_MESSAGES; num++) {
buffer[num] = (char) num;
- DLT_LOG(context_stress3, DLT_LOG_INFO, DLT_INT(num), DLT_RAW(buffer,(uint16_t) num));
+ if (dlt_user_log_write_start(&context_stress3, &context_stress3_data, DLT_LOG_INFO) > 0) {
+ dlt_user_log_write_int(&context_stress3_data, num);
+ dlt_user_log_write_raw(&context_stress3_data, buffer, (uint16_t) num);
+ dlt_user_log_write_finish(&context_stress3_data);
+ }
ts.tv_sec = 0;
ts.tv_nsec = 10000 * 1000;
nanosleep(&ts, NULL);
diff --git a/src/tests/dlt-test-user.c b/src/tests/dlt-test-user.c
index 9ff6459..6e8135a 100644
--- a/src/tests/dlt-test-user.c
+++ b/src/tests/dlt-test-user.c
@@ -91,6 +91,7 @@ static const char *loglevelstr[DLT_LOG_MAX] = {
/* Test functions... */
+#ifndef DLT_DISABLE_MACRO
/* for macro interface */
int test1m(void);
int test2m(void);
@@ -102,6 +103,7 @@ int test7m(void);
int test8m(void);
int test9m(void);
int test10m(void);
+#endif
/* for function interface */
int test1f(void);
@@ -120,11 +122,13 @@ int test_injection_macro_callback(uint32_t service_id, void *data, uint32_t leng
int test_injection_function_callback(uint32_t service_id, void *data, uint32_t length);
/* Context declaration.. */
-DLT_DECLARE_CONTEXT(context_info)
+DltContext context_info;
+#ifndef DLT_DISABLE_MACRO
/* for macro interface */
DLT_DECLARE_CONTEXT(context_macro_callback)
DLT_DECLARE_CONTEXT(context_macro_test[DLT_TEST_NUM_CONTEXT])
+#endif
/* for function interface */
DltContext context_function_callback;
@@ -149,6 +153,7 @@ void usage()
printf(" -f filename Use local log file instead of sending to daemon\n");
printf(" -n count Repeats of tests (Default: 1)\n");
printf("Tests:\n");
+#ifndef DLT_DISABLE_MACRO
printf(" 1m: (Macro IF) Test all log levels\n");
printf(" 2m: (Macro IF) Test all variable types (verbose) \n");
printf(" 3m: (Macro IF) Test all variable types (non-verbose) \n");
@@ -159,6 +164,7 @@ void usage()
printf(" 8m: (Macro IF) Test truncated network trace\n");
printf(" 9m: (Macro IF) Test segmented network trace\n");
printf(" 10m: (Macro IF) Test user-specified timestamps\n");
+#endif
printf(" 1f: (Function IF) Test all log levels\n");
printf(" 2f: (Function IF) Test all variable types (verbose) \n");
printf(" 3f: (Function IF) Test all variable types (non-verbose) \n");
@@ -240,11 +246,12 @@ int main(int argc, char *argv[])
maxnum = 1;
/* Register APP */
- DLT_REGISTER_APP("DIFT", "DLT Interface Test");
+ dlt_register_app("DIFT", "DLT Interface Test");
/* Register CONTEXTS... */
- DLT_REGISTER_CONTEXT(context_info, "INFO", "Information context");
+ dlt_register_context(&context_info, "INFO", "Information context");
+#ifndef DLT_DISABLE_MACRO
/* used for macro interface tests */
DLT_REGISTER_CONTEXT(context_macro_callback, "CBM", "Callback Test context for macro interface");
@@ -253,6 +260,7 @@ int main(int argc, char *argv[])
snprintf(ctdesc, 255, "Test %d context for macro interface", i + 1);
DLT_REGISTER_CONTEXT(context_macro_test[i], ctid, ctdesc);
}
+#endif
/* used for function interface tests */
dlt_register_context(&context_function_callback, "CBF", "Callback Test context for function interface");
@@ -265,10 +273,12 @@ int main(int argc, char *argv[])
/* Register callbacks... */
+#ifndef DLT_DISABLE_MACRO
/* with macro interface */
DLT_LOG(context_macro_callback, DLT_LOG_INFO,
DLT_STRING("Register callback (Macro Interface) for Injection ID: 0xFFF"));
DLT_REGISTER_INJECTION_CALLBACK(context_macro_callback, 0xFFF, test_injection_macro_callback);
+#endif
/* with function interface */
if (dlt_user_log_write_start(&context_function_callback, &context_data, DLT_LOG_INFO) > 0) {
@@ -280,7 +290,10 @@ int main(int argc, char *argv[])
/* Tests starting */
printf("Tests starting\n");
- DLT_LOG(context_info, DLT_LOG_INFO, DLT_STRING("Tests starting"));
+ if (dlt_user_log_write_start(&context_info, &context_data, DLT_LOG_INFO) > 0) {
+ dlt_user_log_write_string(&context_data, "Tests starting");
+ dlt_user_log_write_finish(&context_data);
+ }
/* wait 3 seconds before starting */
sleep(3);
@@ -288,6 +301,7 @@ int main(int argc, char *argv[])
for (num = 0; num < maxnum; num++) {
/* Execute tests... */
+#ifndef DLT_DISABLE_MACRO
/* with macro interface */
test1m();
test2m();
@@ -299,6 +313,7 @@ int main(int argc, char *argv[])
test8m();
test9m();
test10m();
+#endif
/* with function interface */
test1f();
@@ -318,19 +333,24 @@ int main(int argc, char *argv[])
/* Tests finished */
printf("Tests finished\n");
- DLT_LOG(context_info, DLT_LOG_INFO, DLT_STRING("Tests finished"));
+ if (dlt_user_log_write_start(&context_info, &context_data, DLT_LOG_INFO) > 0) {
+ dlt_user_log_write_string(&context_data, "Tests finished");
+ dlt_user_log_write_finish(&context_data);
+ }
/* wait 3 seconds before terminating application */
sleep(3);
/* Unregister CONTEXTS... */
- DLT_UNREGISTER_CONTEXT(context_info);
+ dlt_unregister_context(&context_info);
+#ifndef DLT_DISABLE_MACRO
/* used for macro interface tests */
for (i = 0; i < DLT_TEST_NUM_CONTEXT; i++)
DLT_UNREGISTER_CONTEXT(context_macro_test[i]);
DLT_UNREGISTER_CONTEXT(context_macro_callback);
+#endif
/* used for function interface tests */
for (i = 0; i < DLT_TEST_NUM_CONTEXT; i++)
@@ -339,7 +359,7 @@ int main(int argc, char *argv[])
dlt_unregister_context(&context_function_callback);
/* Unregister APP */
- DLT_UNREGISTER_APP();
+ dlt_unregister_app();
return 0;
}
@@ -348,6 +368,7 @@ int main(int argc, char *argv[])
/* The test cases */
/******************/
+#ifndef DLT_DISABLE_MACRO
int test1m(void)
{
/* Test 1: (Macro IF) Test all log levels */
@@ -696,6 +717,7 @@ int test10m(void)
return 0;
}
+#endif
int test1f(void)
{
@@ -1301,11 +1323,16 @@ int test10f(void)
/* wait 2 second before next test */
sleep(2);
- DLT_LOG(context_info, DLT_LOG_INFO, DLT_STRING("Test10: (Macro IF) finished"));
+
+ if (dlt_user_log_write_start(&context_info, &context_data, DLT_LOG_INFO) > 0) {
+ dlt_user_log_write_string(&context_data, "Test10: (Function IF) finished");
+ dlt_user_log_write_finish(&context_data);
+ }
return 0;
}
+#ifndef DLT_DISABLE_MACRO
int test_injection_macro_callback(uint32_t service_id, void *data, uint32_t length)
{
char text[1024];
@@ -1324,6 +1351,7 @@ int test_injection_macro_callback(uint32_t service_id, void *data, uint32_t leng
return 0;
}
+#endif
int test_injection_function_callback(uint32_t service_id, void *data, uint32_t length)
{
@@ -1333,8 +1361,12 @@ int test_injection_function_callback(uint32_t service_id, void *data, uint32_t l
snprintf(text, 1024, "Injection received (function IF). ID: 0x%.4x, Length: %d", service_id, length);
printf("%s \n", text);
- DLT_LOG(context_function_callback, DLT_LOG_INFO, DLT_STRING("Injection received (function IF). ID: "),
- DLT_UINT32(service_id), DLT_STRING("Data:"), DLT_STRING(text));
+ if (dlt_user_log_write_start(&context_function_callback, &context_data, DLT_LOG_INFO) > 0) {
+ dlt_user_log_write_string(&context_data, "Injection received (function IF). ID: ");
+ dlt_user_log_write_uint32(&context_data, service_id);
+ dlt_user_log_write_string(&context_data, "Data:");
+ dlt_user_log_write_string(&context_data, text);
+ }
memset(text, 0, 1024);
if (length > 0) {