d8121e32f408079cd08f5a2188252a91fd001ec2
[platform/core/system/dlog.git] / src / tests / kmsg_assert.c
1 #include <assert.h>
2 #include <logprint.h>
3 #include <queued_entry.h>
4 #include <stdio.h>
5
6 void assert_result_buffer(char const *msg, int expected_outcome, struct dlogutil_entry_with_msg *lem)
7 {
8         char buffer[LOG_MAX_PAYLOAD_SIZE];
9         const int len = snprintf(buffer, sizeof buffer, "%s", msg);
10         assert(parse_kmsg_message(buffer, lem, len) == expected_outcome);
11 }
12
13 void assert_result(char const *msg, int expected_outcome)
14 {
15         struct dlogutil_entry_with_msg lem;
16         assert_result_buffer(msg, expected_outcome, &lem);
17 }
18
19 void assert_entry(char const * msg, const struct dlogutil_entry_with_msg *expected)
20 {
21         struct dlogutil_entry_with_msg lem;
22         assert_result_buffer(msg, 0, &lem);
23
24         assert(expected->header.pid == lem.header.pid);
25         assert(expected->header.tid == lem.header.tid);
26
27         const char *tag_expected;
28         const char *tag_actual;
29         const char *msg_expected;
30         const char *msg_actual;
31         assert(!dlogutil_entry_get_tag(&expected->header, &tag_expected));
32         assert(!dlogutil_entry_get_tag(&lem.header, &tag_actual));
33         assert(!dlogutil_entry_get_message(&expected->header, &msg_expected));
34         assert(!dlogutil_entry_get_message(&lem.header, &msg_actual));
35         assert(tag_expected);
36         assert(tag_actual);
37         assert(msg_expected);
38         assert(msg_actual);
39         assert(!strcmp(tag_expected, tag_actual));
40         assert(!strcmp(msg_expected, msg_actual));
41 }