diff options
author | Martin Willers <M.Willers@gmx.net> | 2021-05-31 07:45:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-31 14:45:48 +0900 |
commit | 3bb7eb24092ff771ccfd1119f8c1088f3f78f981 (patch) | |
tree | 58ef9ed71736b72f929eaa508c088184654e4701 | |
parent | d40ecef57050a48ca2abf9c307793d183972658e (diff) | |
download | DLT-daemon-3bb7eb24092ff771ccfd1119f8c1088f3f78f981.tar.gz |
Add missing string functions (#309)
Signed-off-by: Martin Willers <M.Willers@gmx.net>
-rw-r--r-- | doc/dlt_for_developers.md | 4 | ||||
-rw-r--r-- | include/dlt/dlt_user.h.in | 64 | ||||
-rw-r--r-- | include/dlt/dlt_user_macros.h | 38 | ||||
-rw-r--r-- | src/lib/dlt_user.c | 24 | ||||
-rw-r--r-- | tests/gtest_dlt_user.cpp | 209 |
5 files changed, 333 insertions, 6 deletions
diff --git a/doc/dlt_for_developers.md b/doc/dlt_for_developers.md index 1c4ef53..10351b9 100644 --- a/doc/dlt_for_developers.md +++ b/doc/dlt_for_developers.md @@ -665,9 +665,9 @@ std::string_view key = line.substr(0, 4); std::string_view value = line.substr(6); if (dlt_user_log_write_start_id(&ctx, &ctxdata, DLT_LOG_INFO, 42) > 0) { - dlt_user_log_write_constant_string(&myctxdata, "key"); + dlt_user_log_write_constant_utf8_string(&myctxdata, "key"); dlt_user_log_write_sized_utf8_string(&myctxdata, key.data(), key.size()); - dlt_user_log_write_constant_string(&myctxdata, "value"); + dlt_user_log_write_constant_utf8_string(&myctxdata, "value"); dlt_user_log_write_sized_utf8_string(&myctxdata, value.data(), value.size()); dlt_user_log_write_finish(&myctxdata); } diff --git a/include/dlt/dlt_user.h.in b/include/dlt/dlt_user.h.in index e4a1f06..960b9f0 100644 --- a/include/dlt/dlt_user.h.in +++ b/include/dlt/dlt_user.h.in @@ -496,7 +496,7 @@ DltReturnValue dlt_user_log_write_sized_string(DltContextData *log, const char * /** * Write a constant null terminated ASCII string into a DLT log message. - * In non verbose mode DLT parameter will not be send at all. + * In non verbose mode DLT parameter will not be sent at all. * dlt_user_log_write_start has to be called before adding any attributes to the log message. * Finish sending log message by calling dlt_user_log_write_finish. * @param log pointer to an object containing information about logging context data @@ -507,11 +507,11 @@ DltReturnValue dlt_user_log_write_constant_string(DltContextData *log, const cha /** * Write a constant, potentially non-null-terminated ASCII string into a DLT log message. - * In non verbose mode DLT parameter will not be send at all. + * In non verbose mode DLT parameter will not be sent at all. * dlt_user_log_write_start has to be called before adding any attributes to the log message. * Finish sending log message by calling dlt_user_log_write_finish. * @param log pointer to an object containing information about logging context data - * @param text pointer to the parameter written into log message containing null termination. + * @param text pointer to the parameter written into log message * @param length length in bytes of @a text (without any termination character) * @return Value from DltReturnValue enum */ @@ -539,6 +539,29 @@ DltReturnValue dlt_user_log_write_utf8_string(DltContextData *log, const char *t DltReturnValue dlt_user_log_write_sized_utf8_string(DltContextData *log, const char *text, uint16_t length); /** + * Write a constant null terminated UTF8 string into a DLT log message. + * In non verbose mode DLT parameter will not be sent at all. + * dlt_user_log_write_start has to be called before adding any attributes to the log message. + * Finish sending log message by calling dlt_user_log_write_finish. + * @param log pointer to an object containing information about logging context data + * @param text pointer to the parameter written into log message containing null termination. + * @return Value from DltReturnValue enum + */ +DltReturnValue dlt_user_log_write_constant_utf8_string(DltContextData *log, const char *text); + +/** + * Write a constant, potentially non-null-terminated UTF8 string into a DLT log message. + * In non verbose mode DLT parameter will not be sent at all. + * dlt_user_log_write_start has to be called before adding any attributes to the log message. + * Finish sending log message by calling dlt_user_log_write_finish. + * @param log pointer to an object containing information about logging context data + * @param text pointer to the parameter written into log message + * @param length length in bytes of @a text (without any termination character) + * @return Value from DltReturnValue enum + */ +DltReturnValue dlt_user_log_write_sized_constant_utf8_string(DltContextData *log, const char *text, uint16_t length); + +/** * Write a null-terminated ASCII string with "name" attribute into a DLT log message. * dlt_user_log_write_start has to be called before adding any parameters to the log message. * Finish building a log message by calling dlt_user_log_write_finish. @@ -595,7 +618,7 @@ DltReturnValue dlt_user_log_write_constant_string_attr(DltContextData *log, cons * and no content to the message. * * @param log pointer to an object containing information about logging context data - * @param text pointer to the parameter written into log message containing null termination + * @param text pointer to the parameter written into log message * @param length length in bytes of @a text (without any termination character) * @param name the "name" attribute (or NULL) * @return value from DltReturnValue enum @@ -634,6 +657,39 @@ DltReturnValue dlt_user_log_write_utf8_string_attr(DltContextData *log, const ch DltReturnValue dlt_user_log_write_sized_utf8_string_attr(DltContextData *log, const char *text, uint16_t length, const char *name); /** + * Write a constant, null-terminated UTF8 string with "name" attribute into a DLT log message. + * In non-verbose mode, this parameter will not be sent at all. + * dlt_user_log_write_start has to be called before adding any parameters to the log message. + * Finish building a log message by calling dlt_user_log_write_finish. + * + * If @a name is NULL, this function will add an attribute field with length 0 + * and no content to the message. + * + * @param log pointer to an object containing information about logging context data + * @param text pointer to the parameter written into log message containing null termination + * @param name the "name" attribute (or NULL) + * @return value from DltReturnValue enum + */ +DltReturnValue dlt_user_log_write_constant_utf8_string_attr(DltContextData *log, const char *text, const char *name); + +/** + * Write a constant, potentially non-null-terminated UTF8 string with "name" attribute into a DLT log message. + * In non-verbose mode, this parameter will not be sent at all. + * dlt_user_log_write_start has to be called before adding any parameters to the log message. + * Finish building a log message by calling dlt_user_log_write_finish. + * + * If @a name is NULL, this function will add an attribute field with length 0 + * and no content to the message. + * + * @param log pointer to an object containing information about logging context data + * @param text pointer to the parameter written into log message + * @param length length in bytes of @a text (without any termination character) + * @param name the "name" attribute (or NULL) + * @return value from DltReturnValue enum + */ +DltReturnValue dlt_user_log_write_sized_constant_utf8_string_attr(DltContextData *log, const char *text, uint16_t length, const char *name); + +/** * Write a binary memory block into a DLT log message. * dlt_user_log_write_start has to be called before adding any attributes to the log message. * Finish sending log message by calling dlt_user_log_write_finish. diff --git a/include/dlt/dlt_user_macros.h b/include/dlt/dlt_user_macros.h index 24b7b7a..f7d8033 100644 --- a/include/dlt/dlt_user_macros.h +++ b/include/dlt/dlt_user_macros.h @@ -369,6 +369,24 @@ (void)dlt_user_log_write_sized_utf8_string(&log_local, TEXT, LEN) /** + * Add constant utf8-encoded string parameter to the log messsage. + * @param TEXT Constant UTF8-encoded string + */ +#define DLT_CUTF8(TEXT) \ + (void)dlt_user_log_write_constant_utf8_string(&log_local, TEXT) + +/** + * Add constant utf8-encoded string parameter with given length to the log messsage. + * The string in @a TEXT does not need to be null-terminated, but + * the copied string will be null-terminated at its destination + * in the message buffer. + * @param TEXT Constant UTF8-encoded string + * @param LEN length in bytes to take from @a TEXT + */ +#define DLT_SIZED_CUTF8(TEXT, LEN) \ + (void)dlt_user_log_write_sized_constant_utf8_string(&log_local, TEXT, LEN) + +/** * Add string parameter with "name" attribute to the log messsage. * @param TEXT ASCII string * @param NAME "name" attribute @@ -429,6 +447,26 @@ (void)dlt_user_log_write_sized_utf8_string_attr(&log_local, TEXT, LEN, ATTR) /** + * Add constant utf8-encoded string parameter with "name" attribute to the log messsage. + * @param TEXT Constant UTF8-encoded string + * @param NAME "name" attribute + */ +#define DLT_CUTF8_ATTR(TEXT, NAME) \ + (void)dlt_user_log_write_constant_utf8_string_attr(&log_local, TEXT, NAME) + +/** + * Add constant utf8-encoded string parameter with given length and "name" attribute to the log messsage. + * The string in @a TEXT does not need to be null-terminated, but + * the copied string will be null-terminated at its destination + * in the message buffer. + * @param TEXT Constant UTF8-encoded string + * @param LEN length in bytes to take from @a TEXT + * @param NAME "name" attribute + */ +#define DLT_SIZED_CUTF8_ATTR(TEXT, LEN, NAME) \ + (void)dlt_user_log_write_sized_constant_utf8_string_attr(&log_local, TEXT, LEN, NAME) + +/** * Add boolean parameter to the log messsage. * @param BOOL_VAR Boolean value (mapped to uint8) */ diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c index 98c896e..20392a6 100644 --- a/src/lib/dlt_user.c +++ b/src/lib/dlt_user.c @@ -2367,6 +2367,30 @@ DltReturnValue dlt_user_log_write_sized_utf8_string_attr(DltContextData *log, co return dlt_user_log_write_sized_string_utils_attr(log, text, length, UTF8_STRING, name, true); } +DltReturnValue dlt_user_log_write_constant_utf8_string(DltContextData *log, const char *text) +{ + /* Send parameter only in verbose mode */ + return is_verbose_mode(dlt_user.verbose_mode, log) ? dlt_user_log_write_utf8_string(log, text) : DLT_RETURN_OK; +} + +DltReturnValue dlt_user_log_write_constant_utf8_string_attr(DltContextData *log, const char *text, const char *name) +{ + /* Send parameter only in verbose mode */ + return is_verbose_mode(dlt_user.verbose_mode, log) ? dlt_user_log_write_utf8_string_attr(log, text, name) : DLT_RETURN_OK; +} + +DltReturnValue dlt_user_log_write_sized_constant_utf8_string(DltContextData *log, const char *text, uint16_t length) +{ + /* Send parameter only in verbose mode */ + return is_verbose_mode(dlt_user.verbose_mode, log) ? dlt_user_log_write_sized_utf8_string(log, text, length) : DLT_RETURN_OK; +} + +DltReturnValue dlt_user_log_write_sized_constant_utf8_string_attr(DltContextData *log, const char *text, uint16_t length, const char *name) +{ + /* Send parameter only in verbose mode */ + return is_verbose_mode(dlt_user.verbose_mode, log) ? dlt_user_log_write_sized_utf8_string_attr(log, text, length, name) : DLT_RETURN_OK; +} + static DltReturnValue dlt_user_log_write_sized_string_utils_attr(DltContextData *log, const char *text, uint16_t length, const enum StringType type, const char *name, bool with_var_info) { if ((log == NULL) || (text == NULL)) diff --git a/tests/gtest_dlt_user.cpp b/tests/gtest_dlt_user.cpp index a66f7a4..918af11 100644 --- a/tests/gtest_dlt_user.cpp +++ b/tests/gtest_dlt_user.cpp @@ -89,6 +89,10 @@ extern "C" { * int dlt_user_log_write_utf8_string_attr(DltContextData *log, const char *text, const char *name); * int dlt_user_log_write_sized_utf8_string(DltContextData *log, const char *text, uint16_t length); * int dlt_user_log_write_sized_utf8_string_attr(DltContextData *log, const char *text, uint16_t length, const char *name); + * int dlt_user_log_write_constant_utf8_string(DltContextData *log, const char *text); + * int dlt_user_log_write_constant_utf8_string_attr(DltContextData *log, const char *text, const char *name); + * int dlt_user_log_write_sized_constant_utf8_string(DltContextData *log, const char *text); + * int dlt_user_log_write_sized_constant_utf8_string_attr(DltContextData *log, const char *text, const char *name); * int dlt_user_log_write_raw(DltContextData *log,void *data,uint16_t length); * int dlt_user_log_write_raw_attr(DltContextData *log,void *data,uint16_t length, const char *name); * int dlt_user_log_write_raw_formatted(DltContextData *log,void *data,uint16_t length,DltFormatType type); @@ -3338,6 +3342,131 @@ TEST(t_dlt_user_log_write_sized_utf8_string, nullpointer) } /*/////////////////////////////////////// */ +/* t_dlt_user_log_write_constant_utf8_string*/ +TEST(t_dlt_user_log_write_constant_utf8_string, verbose) +{ + DltContext context; + DltContextData contextData; + + EXPECT_LE(DLT_RETURN_OK, dlt_register_app("TUSR", "dlt_user.c tests")); + EXPECT_LE(DLT_RETURN_OK, + dlt_register_context(&context, "TEST", "dlt_user.c t_dlt_user_log_write_constant_utf8_string verbose")); + + const char *text1 = "test1"; + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start(&context, &contextData, DLT_LOG_DEFAULT)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_constant_utf8_string(&contextData, text1)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData)); + + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context)); + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_app()); +} + +TEST(t_dlt_user_log_write_constant_utf8_string, nullpointer) +{ + DltContext context; + DltContextData contextData; + + EXPECT_LE(DLT_RETURN_OK, dlt_register_app("TUSR", "dlt_user.c tests")); + EXPECT_LE(DLT_RETURN_OK, + dlt_register_context(&context, "TEST", "dlt_user.c t_dlt_user_log_write_constant_utf8_string nullpointer")); + + const char *text1 = "test1"; + EXPECT_LE(DLT_RETURN_TRUE, dlt_user_log_write_start(&context, &contextData, DLT_LOG_DEFAULT)); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_constant_utf8_string(NULL, text1)); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_constant_utf8_string(NULL, NULL)); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_constant_utf8_string(&contextData, NULL)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData)); + + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context)); + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_app()); +} + +TEST(t_dlt_user_log_write_constant_utf8_string, nonverbose) +{ + dlt_nonverbose_mode(); + + DltContext context; + DltContextData contextData; + + EXPECT_LE(DLT_RETURN_OK, dlt_register_app("TUSR", "dlt_user.c tests")); + EXPECT_LE(DLT_RETURN_OK, + dlt_register_context(&context, "TEST", "dlt_user.c t_dlt_user_log_write_constant_utf8_string nonverbose")); + + const char *text2 = "test2"; + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_DEFAULT, 42)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_constant_utf8_string(&contextData, text2)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData)); + + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context)); + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_app()); + + dlt_verbose_mode(); +} + +/*/////////////////////////////////////// */ +/* t_dlt_user_log_write_sized_constant_utf8_string */ +TEST(t_dlt_user_log_write_sized_constant_utf8_string, verbose) +{ + DltContext context; + DltContextData contextData; + + EXPECT_LE(DLT_RETURN_OK, dlt_register_app("TUSR", "dlt_user.c tests")); + EXPECT_LE(DLT_RETURN_OK, + dlt_register_context(&context, "TEST", "dlt_user.c t_dlt_user_log_write_sized_constant_utf8_string verbose")); + + const char *text1 = "test1text"; + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start(&context, &contextData, DLT_LOG_DEFAULT)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_sized_constant_utf8_string(&contextData, text1, 5)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData)); + + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context)); + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_app()); +} + +TEST(t_dlt_user_log_write_sized_constant_utf8_string, nullpointer) +{ + DltContext context; + DltContextData contextData; + + EXPECT_LE(DLT_RETURN_OK, dlt_register_app("TUSR", "dlt_user.c tests")); + EXPECT_LE(DLT_RETURN_OK, + dlt_register_context(&context, "TEST", "dlt_user.c t_dlt_user_log_write_sized_constant_utf8_string nullpointer")); + + const char *text1 = "test1text"; + EXPECT_LE(DLT_RETURN_TRUE, dlt_user_log_write_start(&context, &contextData, DLT_LOG_DEFAULT)); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_sized_constant_utf8_string(NULL, text1, 5)); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_sized_constant_utf8_string(NULL, NULL, 5)); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_sized_constant_utf8_string(&contextData, NULL, 5)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData)); + + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context)); + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_app()); +} + +TEST(t_dlt_user_log_write_sized_constant_utf8_string, nonverbose) +{ + dlt_nonverbose_mode(); + + DltContext context; + DltContextData contextData; + + EXPECT_LE(DLT_RETURN_OK, dlt_register_app("TUSR", "dlt_user.c tests")); + EXPECT_LE(DLT_RETURN_OK, + dlt_register_context(&context, "TEST", "dlt_user.c t_dlt_user_log_write_sized_constant_utf8_string nonverbose")); + + const char *text2 = "test2text"; + size_t text2len = 5; // only use a (non-null-terminated) substring + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_DEFAULT, 42)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_sized_constant_utf8_string(&contextData, text2, text2len)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData)); + + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context)); + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_app()); + + dlt_verbose_mode(); +} + +/*/////////////////////////////////////// */ /* t_dlt_user_log_write_string_attr */ TEST(t_dlt_user_log_write_string_attr, normal) { @@ -3464,6 +3593,86 @@ TEST(t_dlt_user_log_write_sized_utf8_string_attr, normal) } /*/////////////////////////////////////// */ +/* t_dlt_user_log_write_constant_utf8_string_attr */ +TEST(t_dlt_user_log_write_constant_utf8_string_attr, normal) +{ + DltContext context; + DltContextData contextData; + + EXPECT_LE(DLT_RETURN_OK, dlt_register_app("TUSR", "dlt_user.c tests")); + EXPECT_LE(DLT_RETURN_OK, + dlt_register_context(&context, "TEST", "dlt_user.c t_dlt_user_log_write_constant_utf8_string_attr normal")); + + const char *text1 = "test1"; + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start(&context, &contextData, DLT_LOG_DEFAULT)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_constant_utf8_string_attr(&contextData, text1, "name")); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData)); + + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context)); + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_app()); +} + +TEST(t_dlt_user_log_write_constant_utf8_string_attr, nullpointer) +{ + DltContext context; + DltContextData contextData; + + EXPECT_LE(DLT_RETURN_OK, dlt_register_app("TUSR", "dlt_user.c tests")); + EXPECT_LE(DLT_RETURN_OK, + dlt_register_context(&context, "TEST", "dlt_user.c t_dlt_user_log_write_constant_utf8_string_attr nullpointer")); + + const char *text1 = "test1"; + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start(&context, &contextData, DLT_LOG_DEFAULT)); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_constant_utf8_string_attr(NULL, text1, "name")); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_constant_utf8_string_attr(NULL, NULL, "name")); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_constant_utf8_string_attr(&contextData, NULL, "name")); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData)); + + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context)); + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_app()); +} + +/*/////////////////////////////////////// */ +/* t_dlt_user_log_write_sized_constant_utf8_string_attr */ +TEST(t_dlt_user_log_write_sized_constant_utf8_string_attr, normal) +{ + DltContext context; + DltContextData contextData; + + EXPECT_LE(DLT_RETURN_OK, dlt_register_app("TUSR", "dlt_user.c tests")); + EXPECT_LE(DLT_RETURN_OK, + dlt_register_context(&context, "TEST", "dlt_user.c t_dlt_user_log_write_sized_constant_utf8_string_attr normal")); + + const char *text1 = "test1text"; + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start(&context, &contextData, DLT_LOG_DEFAULT)); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_sized_constant_utf8_string_attr(&contextData, text1, 5, "name")); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData)); + + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context)); + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_app()); +} + +TEST(t_dlt_user_log_write_sized_constant_utf8_string_attr, nullpointer) +{ + DltContext context; + DltContextData contextData; + + EXPECT_LE(DLT_RETURN_OK, dlt_register_app("TUSR", "dlt_user.c tests")); + EXPECT_LE(DLT_RETURN_OK, + dlt_register_context(&context, "TEST", "dlt_user.c t_dlt_user_log_write_sized_constant_utf8_string_attr nullpointer")); + + const char *text1 = "test1text"; + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start(&context, &contextData, DLT_LOG_DEFAULT)); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_sized_constant_utf8_string_attr(NULL, text1, 5, "name")); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_sized_constant_utf8_string_attr(NULL, NULL, 5, "name")); + EXPECT_GT(DLT_RETURN_OK, dlt_user_log_write_sized_constant_utf8_string_attr(&contextData, NULL, 5, "name")); + EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData)); + + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context)); + EXPECT_LE(DLT_RETURN_OK, dlt_unregister_app()); +} + +/*/////////////////////////////////////// */ /* t_dlt_user_log_write_raw */ TEST(t_dlt_user_log_write_raw, normal) { |