From 4c0a4a267e66fb31f5ddfc44ba5e5f34b586b952 Mon Sep 17 00:00:00 2001 From: Saya Sugiura Date: Thu, 1 Apr 2021 09:16:58 +0000 Subject: 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 --- CMakeLists.txt | 6 ++++ src/examples/CMakeLists.txt | 47 +++++++++------------------ src/tests/CMakeLists.txt | 66 +++++++++++++++----------------------- src/tests/dlt-test-fork-handler.c | 37 +++++++++++++++------ src/tests/dlt-test-multi-process.c | 16 +++++---- src/tests/dlt-test-stress-user.c | 24 ++++++-------- src/tests/dlt-test-stress.c | 29 +++++++++++------ src/tests/dlt-test-user.c | 52 ++++++++++++++++++++++++------ 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 /dlt to include paths for the CMake config file, in addition to only " 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=") 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) { -- cgit v1.2.1