Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
mbed-os/features/frameworks/mbed-trace/test/Test.cpp@0:8fdf9a60065b, 2018-10-10 (annotated)
- Committer:
- kadonotakashi
- Date:
- Wed Oct 10 00:33:53 2018 +0000
- Revision:
- 0:8fdf9a60065b
how to make mbed librry
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| kadonotakashi | 0:8fdf9a60065b | 1 | /* |
| kadonotakashi | 0:8fdf9a60065b | 2 | * Copyright (c) 2014 ARM. All rights reserved. |
| kadonotakashi | 0:8fdf9a60065b | 3 | */ |
| kadonotakashi | 0:8fdf9a60065b | 4 | /** |
| kadonotakashi | 0:8fdf9a60065b | 5 | * \file \test_libTrace\Test.c |
| kadonotakashi | 0:8fdf9a60065b | 6 | * |
| kadonotakashi | 0:8fdf9a60065b | 7 | * \brief Unit tests for mbed_trace |
| kadonotakashi | 0:8fdf9a60065b | 8 | */ |
| kadonotakashi | 0:8fdf9a60065b | 9 | #include <string.h> |
| kadonotakashi | 0:8fdf9a60065b | 10 | #include <stdlib.h> |
| kadonotakashi | 0:8fdf9a60065b | 11 | #include <stdint.h> |
| kadonotakashi | 0:8fdf9a60065b | 12 | |
| kadonotakashi | 0:8fdf9a60065b | 13 | #include "mbed-cpputest/CppUTest/TestHarness.h" |
| kadonotakashi | 0:8fdf9a60065b | 14 | #include "mbed-cpputest/CppUTest/SimpleString.h" |
| kadonotakashi | 0:8fdf9a60065b | 15 | #include "mbed-cpputest/CppUTest/CommandLineTestRunner.h" |
| kadonotakashi | 0:8fdf9a60065b | 16 | |
| kadonotakashi | 0:8fdf9a60065b | 17 | #define MBED_CONF_MBED_TRACE_ENABLE 1 |
| kadonotakashi | 0:8fdf9a60065b | 18 | #define MBED_CONF_MBED_TRACE_FEA_IPV6 1 |
| kadonotakashi | 0:8fdf9a60065b | 19 | |
| kadonotakashi | 0:8fdf9a60065b | 20 | #include "mbed-trace/mbed_trace.h" |
| kadonotakashi | 0:8fdf9a60065b | 21 | #include "ip6tos_stub.h" |
| kadonotakashi | 0:8fdf9a60065b | 22 | |
| kadonotakashi | 0:8fdf9a60065b | 23 | int main(int ac, char **av) |
| kadonotakashi | 0:8fdf9a60065b | 24 | { |
| kadonotakashi | 0:8fdf9a60065b | 25 | return CommandLineTestRunner::RunAllTests(ac, av); |
| kadonotakashi | 0:8fdf9a60065b | 26 | } |
| kadonotakashi | 0:8fdf9a60065b | 27 | |
| kadonotakashi | 0:8fdf9a60065b | 28 | static int mutex_wait_count = 0; |
| kadonotakashi | 0:8fdf9a60065b | 29 | static int mutex_release_count = 0; |
| kadonotakashi | 0:8fdf9a60065b | 30 | static bool check_mutex_lock_status = true; |
| kadonotakashi | 0:8fdf9a60065b | 31 | void my_mutex_wait() |
| kadonotakashi | 0:8fdf9a60065b | 32 | { |
| kadonotakashi | 0:8fdf9a60065b | 33 | mutex_wait_count++; |
| kadonotakashi | 0:8fdf9a60065b | 34 | } |
| kadonotakashi | 0:8fdf9a60065b | 35 | void my_mutex_release() |
| kadonotakashi | 0:8fdf9a60065b | 36 | { |
| kadonotakashi | 0:8fdf9a60065b | 37 | mutex_release_count++; |
| kadonotakashi | 0:8fdf9a60065b | 38 | } |
| kadonotakashi | 0:8fdf9a60065b | 39 | |
| kadonotakashi | 0:8fdf9a60065b | 40 | char buf[1024]; |
| kadonotakashi | 0:8fdf9a60065b | 41 | #include <stdio.h> |
| kadonotakashi | 0:8fdf9a60065b | 42 | void myprint(const char* str) |
| kadonotakashi | 0:8fdf9a60065b | 43 | { |
| kadonotakashi | 0:8fdf9a60065b | 44 | if ( check_mutex_lock_status ) { |
| kadonotakashi | 0:8fdf9a60065b | 45 | CHECK( (mutex_wait_count - mutex_release_count) > 0 ); |
| kadonotakashi | 0:8fdf9a60065b | 46 | } |
| kadonotakashi | 0:8fdf9a60065b | 47 | strcpy(buf, str); |
| kadonotakashi | 0:8fdf9a60065b | 48 | } |
| kadonotakashi | 0:8fdf9a60065b | 49 | TEST_GROUP(trace) |
| kadonotakashi | 0:8fdf9a60065b | 50 | { |
| kadonotakashi | 0:8fdf9a60065b | 51 | void setup() |
| kadonotakashi | 0:8fdf9a60065b | 52 | { |
| kadonotakashi | 0:8fdf9a60065b | 53 | |
| kadonotakashi | 0:8fdf9a60065b | 54 | mbed_trace_init(); |
| kadonotakashi | 0:8fdf9a60065b | 55 | mbed_trace_config_set(TRACE_MODE_PLAIN|TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 56 | mbed_trace_print_function_set( myprint ); |
| kadonotakashi | 0:8fdf9a60065b | 57 | mbed_trace_mutex_wait_function_set( my_mutex_wait ); |
| kadonotakashi | 0:8fdf9a60065b | 58 | mbed_trace_mutex_release_function_set( my_mutex_release ); |
| kadonotakashi | 0:8fdf9a60065b | 59 | } |
| kadonotakashi | 0:8fdf9a60065b | 60 | void teardown() |
| kadonotakashi | 0:8fdf9a60065b | 61 | { |
| kadonotakashi | 0:8fdf9a60065b | 62 | CHECK(mutex_wait_count == mutex_release_count); // Check the mutex count with every test |
| kadonotakashi | 0:8fdf9a60065b | 63 | mbed_trace_free(); |
| kadonotakashi | 0:8fdf9a60065b | 64 | } |
| kadonotakashi | 0:8fdf9a60065b | 65 | }; |
| kadonotakashi | 0:8fdf9a60065b | 66 | |
| kadonotakashi | 0:8fdf9a60065b | 67 | /* Unity test code starts */ |
| kadonotakashi | 0:8fdf9a60065b | 68 | TEST(trace, MutexNotSet) |
| kadonotakashi | 0:8fdf9a60065b | 69 | { |
| kadonotakashi | 0:8fdf9a60065b | 70 | mbed_trace_mutex_wait_function_set( 0 ); |
| kadonotakashi | 0:8fdf9a60065b | 71 | mbed_trace_mutex_release_function_set( 0 ); |
| kadonotakashi | 0:8fdf9a60065b | 72 | int mutex_call_count_at_entry = mutex_wait_count; |
| kadonotakashi | 0:8fdf9a60065b | 73 | check_mutex_lock_status = false; |
| kadonotakashi | 0:8fdf9a60065b | 74 | |
| kadonotakashi | 0:8fdf9a60065b | 75 | char expectedStr[] = "Hello hello!"; |
| kadonotakashi | 0:8fdf9a60065b | 76 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "Hello hello!"); |
| kadonotakashi | 0:8fdf9a60065b | 77 | STRCMP_EQUAL(expectedStr, buf); |
| kadonotakashi | 0:8fdf9a60065b | 78 | |
| kadonotakashi | 0:8fdf9a60065b | 79 | CHECK( mutex_call_count_at_entry == mutex_wait_count ); |
| kadonotakashi | 0:8fdf9a60065b | 80 | CHECK( mutex_call_count_at_entry == mutex_release_count ); |
| kadonotakashi | 0:8fdf9a60065b | 81 | |
| kadonotakashi | 0:8fdf9a60065b | 82 | mbed_trace_mutex_wait_function_set( my_mutex_wait ); |
| kadonotakashi | 0:8fdf9a60065b | 83 | mbed_trace_mutex_release_function_set( my_mutex_release ); |
| kadonotakashi | 0:8fdf9a60065b | 84 | check_mutex_lock_status = true; |
| kadonotakashi | 0:8fdf9a60065b | 85 | } |
| kadonotakashi | 0:8fdf9a60065b | 86 | |
| kadonotakashi | 0:8fdf9a60065b | 87 | TEST(trace, Array) |
| kadonotakashi | 0:8fdf9a60065b | 88 | { |
| kadonotakashi | 0:8fdf9a60065b | 89 | unsigned char longStr[200] = {0x66}; |
| kadonotakashi | 0:8fdf9a60065b | 90 | for(int i=0;i<200;i++) {longStr[i] = 0x66; } |
| kadonotakashi | 0:8fdf9a60065b | 91 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "%s", mbed_trace_array(longStr, 200) ); |
| kadonotakashi | 0:8fdf9a60065b | 92 | } |
| kadonotakashi | 0:8fdf9a60065b | 93 | |
| kadonotakashi | 0:8fdf9a60065b | 94 | TEST(trace, Null0Array) |
| kadonotakashi | 0:8fdf9a60065b | 95 | { |
| kadonotakashi | 0:8fdf9a60065b | 96 | static const unsigned char array[2] = { 0x23, 0x45 }; |
| kadonotakashi | 0:8fdf9a60065b | 97 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "%s", mbed_trace_array(array, 2)); |
| kadonotakashi | 0:8fdf9a60065b | 98 | STRCMP_EQUAL("23:45", buf); |
| kadonotakashi | 0:8fdf9a60065b | 99 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "%s", mbed_trace_array(array, 0)); |
| kadonotakashi | 0:8fdf9a60065b | 100 | STRCMP_EQUAL("", buf); |
| kadonotakashi | 0:8fdf9a60065b | 101 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "%s", mbed_trace_array(NULL, 0)); |
| kadonotakashi | 0:8fdf9a60065b | 102 | STRCMP_EQUAL("", buf); |
| kadonotakashi | 0:8fdf9a60065b | 103 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "%s", mbed_trace_array(NULL, 2)); |
| kadonotakashi | 0:8fdf9a60065b | 104 | STRCMP_EQUAL("<null>", buf); |
| kadonotakashi | 0:8fdf9a60065b | 105 | } |
| kadonotakashi | 0:8fdf9a60065b | 106 | |
| kadonotakashi | 0:8fdf9a60065b | 107 | TEST(trace, LongString) |
| kadonotakashi | 0:8fdf9a60065b | 108 | { |
| kadonotakashi | 0:8fdf9a60065b | 109 | char longStr[1000] = {0x36}; |
| kadonotakashi | 0:8fdf9a60065b | 110 | for(int i=0;i<999;i++) {longStr[i] = 0x36; } |
| kadonotakashi | 0:8fdf9a60065b | 111 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "%s", longStr ); |
| kadonotakashi | 0:8fdf9a60065b | 112 | } |
| kadonotakashi | 0:8fdf9a60065b | 113 | |
| kadonotakashi | 0:8fdf9a60065b | 114 | TEST(trace, TooLong) |
| kadonotakashi | 0:8fdf9a60065b | 115 | { |
| kadonotakashi | 0:8fdf9a60065b | 116 | #define TOO_LONG_SIZE 9400 |
| kadonotakashi | 0:8fdf9a60065b | 117 | #define TRACE_LINE_SIZE 1024 |
| kadonotakashi | 0:8fdf9a60065b | 118 | char longStr[TOO_LONG_SIZE] = {0}; |
| kadonotakashi | 0:8fdf9a60065b | 119 | for(int i=0;i<TOO_LONG_SIZE;i++) { longStr[i] = 0x36; } |
| kadonotakashi | 0:8fdf9a60065b | 120 | |
| kadonotakashi | 0:8fdf9a60065b | 121 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 122 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "%s", longStr ); |
| kadonotakashi | 0:8fdf9a60065b | 123 | |
| kadonotakashi | 0:8fdf9a60065b | 124 | char shouldStr[TRACE_LINE_SIZE] = "[DBG ][mygr]: "; |
| kadonotakashi | 0:8fdf9a60065b | 125 | for(int i=14;i<TRACE_LINE_SIZE;i++) { shouldStr[i] = 0x36; } |
| kadonotakashi | 0:8fdf9a60065b | 126 | shouldStr[TRACE_LINE_SIZE-1] = 0; |
| kadonotakashi | 0:8fdf9a60065b | 127 | STRCMP_EQUAL(shouldStr, buf); |
| kadonotakashi | 0:8fdf9a60065b | 128 | } |
| kadonotakashi | 0:8fdf9a60065b | 129 | |
| kadonotakashi | 0:8fdf9a60065b | 130 | TEST(trace, BufferResize) |
| kadonotakashi | 0:8fdf9a60065b | 131 | { |
| kadonotakashi | 0:8fdf9a60065b | 132 | uint8_t arr[20] = {0}; |
| kadonotakashi | 0:8fdf9a60065b | 133 | memset(arr, '0', 20); |
| kadonotakashi | 0:8fdf9a60065b | 134 | |
| kadonotakashi | 0:8fdf9a60065b | 135 | mbed_trace_buffer_sizes(0, 10); |
| kadonotakashi | 0:8fdf9a60065b | 136 | STRCMP_EQUAL("30:30:30*", mbed_trace_array(arr, 20)); |
| kadonotakashi | 0:8fdf9a60065b | 137 | mbed_trace_buffer_sizes(0, 15); |
| kadonotakashi | 0:8fdf9a60065b | 138 | STRCMP_EQUAL("30:30:30:30*", mbed_trace_array(arr, 20)); |
| kadonotakashi | 0:8fdf9a60065b | 139 | mbed_trace_buffer_sizes(0, 15); |
| kadonotakashi | 0:8fdf9a60065b | 140 | STRCMP_EQUAL("30:30:30:30", mbed_trace_array(arr, 4)); |
| kadonotakashi | 0:8fdf9a60065b | 141 | |
| kadonotakashi | 0:8fdf9a60065b | 142 | const char * expectedStr = "0123456789"; |
| kadonotakashi | 0:8fdf9a60065b | 143 | mbed_trace_buffer_sizes(11, 0); |
| kadonotakashi | 0:8fdf9a60065b | 144 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "01234567890123456789"); |
| kadonotakashi | 0:8fdf9a60065b | 145 | STRCMP_EQUAL(expectedStr, buf); |
| kadonotakashi | 0:8fdf9a60065b | 146 | expectedStr = "012345678901234"; |
| kadonotakashi | 0:8fdf9a60065b | 147 | mbed_trace_buffer_sizes(16, 0); |
| kadonotakashi | 0:8fdf9a60065b | 148 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "01234567890123456789"); |
| kadonotakashi | 0:8fdf9a60065b | 149 | STRCMP_EQUAL(expectedStr, buf); |
| kadonotakashi | 0:8fdf9a60065b | 150 | expectedStr = "012345678901234"; |
| kadonotakashi | 0:8fdf9a60065b | 151 | mbed_trace_buffer_sizes(16, 0); |
| kadonotakashi | 0:8fdf9a60065b | 152 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "012345678901234"); |
| kadonotakashi | 0:8fdf9a60065b | 153 | STRCMP_EQUAL(expectedStr, buf); |
| kadonotakashi | 0:8fdf9a60065b | 154 | } |
| kadonotakashi | 0:8fdf9a60065b | 155 | |
| kadonotakashi | 0:8fdf9a60065b | 156 | TEST(trace, PreInitConfiguration) |
| kadonotakashi | 0:8fdf9a60065b | 157 | { |
| kadonotakashi | 0:8fdf9a60065b | 158 | uint8_t arr[20] = {0}; |
| kadonotakashi | 0:8fdf9a60065b | 159 | memset(arr, '0', 20); |
| kadonotakashi | 0:8fdf9a60065b | 160 | |
| kadonotakashi | 0:8fdf9a60065b | 161 | mbed_trace_free(); |
| kadonotakashi | 0:8fdf9a60065b | 162 | mbed_trace_config_set(TRACE_MODE_PLAIN|TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 163 | mbed_trace_print_function_set( myprint ); |
| kadonotakashi | 0:8fdf9a60065b | 164 | mbed_trace_buffer_sizes(11, 10); |
| kadonotakashi | 0:8fdf9a60065b | 165 | mbed_trace_mutex_wait_function_set( my_mutex_wait ); |
| kadonotakashi | 0:8fdf9a60065b | 166 | mbed_trace_mutex_release_function_set( my_mutex_release ); |
| kadonotakashi | 0:8fdf9a60065b | 167 | mbed_trace_init(); |
| kadonotakashi | 0:8fdf9a60065b | 168 | |
| kadonotakashi | 0:8fdf9a60065b | 169 | STRCMP_EQUAL("30:30:30*", mbed_trace_array(arr, 20)); |
| kadonotakashi | 0:8fdf9a60065b | 170 | |
| kadonotakashi | 0:8fdf9a60065b | 171 | const char * expectedStr = "0123456789"; |
| kadonotakashi | 0:8fdf9a60065b | 172 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "01234567890123456789"); |
| kadonotakashi | 0:8fdf9a60065b | 173 | STRCMP_EQUAL(expectedStr, buf); |
| kadonotakashi | 0:8fdf9a60065b | 174 | } |
| kadonotakashi | 0:8fdf9a60065b | 175 | |
| kadonotakashi | 0:8fdf9a60065b | 176 | #if YOTTA_CFG_MBED_TRACE_FEA_IPV6 == 1 |
| kadonotakashi | 0:8fdf9a60065b | 177 | ip6tos_stub_def_t ip6tos_stub; // extern variable |
| kadonotakashi | 0:8fdf9a60065b | 178 | |
| kadonotakashi | 0:8fdf9a60065b | 179 | TEST(trace, ipv6) |
| kadonotakashi | 0:8fdf9a60065b | 180 | { |
| kadonotakashi | 0:8fdf9a60065b | 181 | uint8_t prefix[] = { 0x14, 0x6e, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00 }; |
| kadonotakashi | 0:8fdf9a60065b | 182 | int prefix_len = 64; |
| kadonotakashi | 0:8fdf9a60065b | 183 | |
| kadonotakashi | 0:8fdf9a60065b | 184 | char expected_str1[] = "146e:a00::/64"; |
| kadonotakashi | 0:8fdf9a60065b | 185 | ip6tos_stub.output_string = "146e:a00::/64"; |
| kadonotakashi | 0:8fdf9a60065b | 186 | char *str = mbed_trace_ipv6_prefix(prefix, prefix_len); |
| kadonotakashi | 0:8fdf9a60065b | 187 | CHECK(memcmp(ip6tos_stub.input_array, prefix, 8) == 0); |
| kadonotakashi | 0:8fdf9a60065b | 188 | STRCMP_EQUAL(expected_str1, str); |
| kadonotakashi | 0:8fdf9a60065b | 189 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "flush buffers and locks"); |
| kadonotakashi | 0:8fdf9a60065b | 190 | |
| kadonotakashi | 0:8fdf9a60065b | 191 | char expected_str2[] = "::/0"; |
| kadonotakashi | 0:8fdf9a60065b | 192 | ip6tos_stub.output_string = "::/0"; |
| kadonotakashi | 0:8fdf9a60065b | 193 | str = mbed_trace_ipv6_prefix(NULL, 0); |
| kadonotakashi | 0:8fdf9a60065b | 194 | STRCMP_EQUAL(expected_str2, str); |
| kadonotakashi | 0:8fdf9a60065b | 195 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "flush buffers and locks"); |
| kadonotakashi | 0:8fdf9a60065b | 196 | |
| kadonotakashi | 0:8fdf9a60065b | 197 | char expected_str3[] = "<err>"; |
| kadonotakashi | 0:8fdf9a60065b | 198 | str = mbed_trace_ipv6_prefix(NULL, 1); |
| kadonotakashi | 0:8fdf9a60065b | 199 | STRCMP_EQUAL(expected_str3, str); |
| kadonotakashi | 0:8fdf9a60065b | 200 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "flush buffers and locks"); |
| kadonotakashi | 0:8fdf9a60065b | 201 | |
| kadonotakashi | 0:8fdf9a60065b | 202 | char expected_str4[] = "<err>"; |
| kadonotakashi | 0:8fdf9a60065b | 203 | str = mbed_trace_ipv6_prefix(prefix, 200); |
| kadonotakashi | 0:8fdf9a60065b | 204 | STRCMP_EQUAL(expected_str4, str); |
| kadonotakashi | 0:8fdf9a60065b | 205 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "flush buffers and locks"); |
| kadonotakashi | 0:8fdf9a60065b | 206 | |
| kadonotakashi | 0:8fdf9a60065b | 207 | char expected_str5[] = ""; |
| kadonotakashi | 0:8fdf9a60065b | 208 | ip6tos_stub.output_string = "0123456789012345678901234567890123456789"; |
| kadonotakashi | 0:8fdf9a60065b | 209 | str = mbed_trace_ipv6_prefix(prefix, 64); // Fill the tmp_data buffer |
| kadonotakashi | 0:8fdf9a60065b | 210 | str = mbed_trace_ipv6_prefix(prefix, 64); |
| kadonotakashi | 0:8fdf9a60065b | 211 | str = mbed_trace_ipv6_prefix(prefix, 64); |
| kadonotakashi | 0:8fdf9a60065b | 212 | str = mbed_trace_ipv6_prefix(prefix, 64); |
| kadonotakashi | 0:8fdf9a60065b | 213 | STRCMP_EQUAL(expected_str5, str); |
| kadonotakashi | 0:8fdf9a60065b | 214 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "flush buffers and locks"); |
| kadonotakashi | 0:8fdf9a60065b | 215 | } |
| kadonotakashi | 0:8fdf9a60065b | 216 | |
| kadonotakashi | 0:8fdf9a60065b | 217 | TEST(trace, active_level_all_ipv6) |
| kadonotakashi | 0:8fdf9a60065b | 218 | { |
| kadonotakashi | 0:8fdf9a60065b | 219 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 220 | |
| kadonotakashi | 0:8fdf9a60065b | 221 | uint8_t arr[] = { 0x20, 0x01, 0xd, 0xb8, 0,0,0,0,0,1,0,0,0,0,0,1 }; |
| kadonotakashi | 0:8fdf9a60065b | 222 | ip6tos_stub.output_string = "2001:db8::1:0:0:1"; |
| kadonotakashi | 0:8fdf9a60065b | 223 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "my addr: %s", mbed_trace_ipv6(arr)); |
| kadonotakashi | 0:8fdf9a60065b | 224 | CHECK(memcmp(ip6tos_stub.input_array, arr, 16) == 0); |
| kadonotakashi | 0:8fdf9a60065b | 225 | STRCMP_EQUAL("[DBG ][mygr]: my addr: 2001:db8::1:0:0:1", buf); |
| kadonotakashi | 0:8fdf9a60065b | 226 | } |
| kadonotakashi | 0:8fdf9a60065b | 227 | #endif //YOTTA_CFG_MBED_TRACE_FEA_IPV6 |
| kadonotakashi | 0:8fdf9a60065b | 228 | |
| kadonotakashi | 0:8fdf9a60065b | 229 | TEST(trace, config_change) |
| kadonotakashi | 0:8fdf9a60065b | 230 | { |
| kadonotakashi | 0:8fdf9a60065b | 231 | mbed_trace_config_set(TRACE_MODE_COLOR|TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 232 | CHECK(mbed_trace_config_get() == TRACE_MODE_COLOR|TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 233 | mbed_trace_config_set(TRACE_MODE_PLAIN|TRACE_ACTIVE_LEVEL_NONE); |
| kadonotakashi | 0:8fdf9a60065b | 234 | CHECK(mbed_trace_config_get() == TRACE_MODE_PLAIN|TRACE_ACTIVE_LEVEL_NONE); |
| kadonotakashi | 0:8fdf9a60065b | 235 | mbed_trace_config_set(TRACE_MODE_PLAIN|TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 236 | CHECK(mbed_trace_config_get() == TRACE_MODE_PLAIN|TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 237 | } |
| kadonotakashi | 0:8fdf9a60065b | 238 | |
| kadonotakashi | 0:8fdf9a60065b | 239 | TEST(trace, active_level_all_color) |
| kadonotakashi | 0:8fdf9a60065b | 240 | { |
| kadonotakashi | 0:8fdf9a60065b | 241 | mbed_trace_config_set(TRACE_MODE_COLOR|TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 242 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hello"); |
| kadonotakashi | 0:8fdf9a60065b | 243 | STRCMP_EQUAL("\x1b[90m[DBG ][mygr]: hello\x1b[0m", buf); |
| kadonotakashi | 0:8fdf9a60065b | 244 | mbed_tracef(TRACE_LEVEL_INFO, "mygr", "to one"); |
| kadonotakashi | 0:8fdf9a60065b | 245 | STRCMP_EQUAL("\x1b[39m[INFO][mygr]: to one\x1b[0m", buf); |
| kadonotakashi | 0:8fdf9a60065b | 246 | mbed_tracef(TRACE_LEVEL_WARN, "mygr", "and all"); |
| kadonotakashi | 0:8fdf9a60065b | 247 | STRCMP_EQUAL("\x1b[33m[WARN][mygr]: and all\x1b[0m", buf); |
| kadonotakashi | 0:8fdf9a60065b | 248 | mbed_tracef(TRACE_LEVEL_ERROR, "mygr", "even you"); |
| kadonotakashi | 0:8fdf9a60065b | 249 | STRCMP_EQUAL("\x1b[31m[ERR ][mygr]: even you\x1b[0m", buf); |
| kadonotakashi | 0:8fdf9a60065b | 250 | } |
| kadonotakashi | 0:8fdf9a60065b | 251 | |
| kadonotakashi | 0:8fdf9a60065b | 252 | TEST(trace, change_levels) |
| kadonotakashi | 0:8fdf9a60065b | 253 | { |
| kadonotakashi | 0:8fdf9a60065b | 254 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_DEBUG); |
| kadonotakashi | 0:8fdf9a60065b | 255 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 256 | STRCMP_EQUAL("[DBG ][mygr]: hep", buf); |
| kadonotakashi | 0:8fdf9a60065b | 257 | |
| kadonotakashi | 0:8fdf9a60065b | 258 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_DEBUG|TRACE_MODE_PLAIN); |
| kadonotakashi | 0:8fdf9a60065b | 259 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 260 | STRCMP_EQUAL("hep", buf); |
| kadonotakashi | 0:8fdf9a60065b | 261 | |
| kadonotakashi | 0:8fdf9a60065b | 262 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_DEBUG|TRACE_MODE_COLOR); |
| kadonotakashi | 0:8fdf9a60065b | 263 | mbed_tracef(TRACE_LEVEL_ERROR, "mygr", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 264 | STRCMP_EQUAL("\x1b[31m[ERR ][mygr]: hep\x1b[0m", buf); |
| kadonotakashi | 0:8fdf9a60065b | 265 | |
| kadonotakashi | 0:8fdf9a60065b | 266 | } |
| kadonotakashi | 0:8fdf9a60065b | 267 | |
| kadonotakashi | 0:8fdf9a60065b | 268 | TEST(trace, active_level_debug) |
| kadonotakashi | 0:8fdf9a60065b | 269 | { |
| kadonotakashi | 0:8fdf9a60065b | 270 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_DEBUG); |
| kadonotakashi | 0:8fdf9a60065b | 271 | |
| kadonotakashi | 0:8fdf9a60065b | 272 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 273 | STRCMP_EQUAL("[DBG ][mygr]: hep", buf); |
| kadonotakashi | 0:8fdf9a60065b | 274 | |
| kadonotakashi | 0:8fdf9a60065b | 275 | mbed_tracef(TRACE_LEVEL_INFO, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 276 | STRCMP_EQUAL("[INFO][mygr]: test", buf); |
| kadonotakashi | 0:8fdf9a60065b | 277 | |
| kadonotakashi | 0:8fdf9a60065b | 278 | mbed_tracef(TRACE_LEVEL_WARN, "mygr", "hups"); |
| kadonotakashi | 0:8fdf9a60065b | 279 | STRCMP_EQUAL("[WARN][mygr]: hups", buf); |
| kadonotakashi | 0:8fdf9a60065b | 280 | |
| kadonotakashi | 0:8fdf9a60065b | 281 | mbed_tracef(TRACE_LEVEL_ERROR, "mygr", "o'ou"); |
| kadonotakashi | 0:8fdf9a60065b | 282 | STRCMP_EQUAL("[ERR ][mygr]: o'ou", buf); |
| kadonotakashi | 0:8fdf9a60065b | 283 | } |
| kadonotakashi | 0:8fdf9a60065b | 284 | |
| kadonotakashi | 0:8fdf9a60065b | 285 | TEST(trace, active_level_info) |
| kadonotakashi | 0:8fdf9a60065b | 286 | { |
| kadonotakashi | 0:8fdf9a60065b | 287 | buf[0] = 0; |
| kadonotakashi | 0:8fdf9a60065b | 288 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_INFO); |
| kadonotakashi | 0:8fdf9a60065b | 289 | |
| kadonotakashi | 0:8fdf9a60065b | 290 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 291 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 292 | |
| kadonotakashi | 0:8fdf9a60065b | 293 | mbed_tracef(TRACE_LEVEL_INFO, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 294 | STRCMP_EQUAL("[INFO][mygr]: test", buf); |
| kadonotakashi | 0:8fdf9a60065b | 295 | |
| kadonotakashi | 0:8fdf9a60065b | 296 | mbed_tracef(TRACE_LEVEL_WARN, "mygr", "hups"); |
| kadonotakashi | 0:8fdf9a60065b | 297 | STRCMP_EQUAL("[WARN][mygr]: hups", buf); |
| kadonotakashi | 0:8fdf9a60065b | 298 | |
| kadonotakashi | 0:8fdf9a60065b | 299 | mbed_tracef(TRACE_LEVEL_ERROR, "mygr", "o'ou"); |
| kadonotakashi | 0:8fdf9a60065b | 300 | STRCMP_EQUAL("[ERR ][mygr]: o'ou", buf); |
| kadonotakashi | 0:8fdf9a60065b | 301 | } |
| kadonotakashi | 0:8fdf9a60065b | 302 | |
| kadonotakashi | 0:8fdf9a60065b | 303 | TEST(trace, active_level_warn) |
| kadonotakashi | 0:8fdf9a60065b | 304 | { |
| kadonotakashi | 0:8fdf9a60065b | 305 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_WARN); |
| kadonotakashi | 0:8fdf9a60065b | 306 | |
| kadonotakashi | 0:8fdf9a60065b | 307 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 308 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 309 | |
| kadonotakashi | 0:8fdf9a60065b | 310 | mbed_tracef(TRACE_LEVEL_INFO, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 311 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 312 | |
| kadonotakashi | 0:8fdf9a60065b | 313 | mbed_tracef(TRACE_LEVEL_WARN, "mygr", "hups"); |
| kadonotakashi | 0:8fdf9a60065b | 314 | STRCMP_EQUAL("[WARN][mygr]: hups", buf); |
| kadonotakashi | 0:8fdf9a60065b | 315 | |
| kadonotakashi | 0:8fdf9a60065b | 316 | mbed_tracef(TRACE_LEVEL_ERROR, "mygr", "o'ou"); |
| kadonotakashi | 0:8fdf9a60065b | 317 | STRCMP_EQUAL("[ERR ][mygr]: o'ou", buf); |
| kadonotakashi | 0:8fdf9a60065b | 318 | } |
| kadonotakashi | 0:8fdf9a60065b | 319 | |
| kadonotakashi | 0:8fdf9a60065b | 320 | TEST(trace, active_level_error) |
| kadonotakashi | 0:8fdf9a60065b | 321 | { |
| kadonotakashi | 0:8fdf9a60065b | 322 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ERROR); |
| kadonotakashi | 0:8fdf9a60065b | 323 | |
| kadonotakashi | 0:8fdf9a60065b | 324 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 325 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 326 | |
| kadonotakashi | 0:8fdf9a60065b | 327 | mbed_tracef(TRACE_LEVEL_INFO, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 328 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 329 | |
| kadonotakashi | 0:8fdf9a60065b | 330 | mbed_tracef(TRACE_LEVEL_WARN, "mygr", "hups"); |
| kadonotakashi | 0:8fdf9a60065b | 331 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 332 | |
| kadonotakashi | 0:8fdf9a60065b | 333 | mbed_tracef(TRACE_LEVEL_ERROR, "mygr", "o'ou"); |
| kadonotakashi | 0:8fdf9a60065b | 334 | STRCMP_EQUAL("[ERR ][mygr]: o'ou", buf); |
| kadonotakashi | 0:8fdf9a60065b | 335 | } |
| kadonotakashi | 0:8fdf9a60065b | 336 | TEST(trace, active_level_none) |
| kadonotakashi | 0:8fdf9a60065b | 337 | { |
| kadonotakashi | 0:8fdf9a60065b | 338 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_NONE); |
| kadonotakashi | 0:8fdf9a60065b | 339 | |
| kadonotakashi | 0:8fdf9a60065b | 340 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 341 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 342 | |
| kadonotakashi | 0:8fdf9a60065b | 343 | mbed_tracef(TRACE_LEVEL_INFO, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 344 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 345 | |
| kadonotakashi | 0:8fdf9a60065b | 346 | mbed_tracef(TRACE_LEVEL_WARN, "mygr", "hups"); |
| kadonotakashi | 0:8fdf9a60065b | 347 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 348 | |
| kadonotakashi | 0:8fdf9a60065b | 349 | mbed_tracef(TRACE_LEVEL_ERROR, "mygr", "o'ou"); |
| kadonotakashi | 0:8fdf9a60065b | 350 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 351 | } |
| kadonotakashi | 0:8fdf9a60065b | 352 | |
| kadonotakashi | 0:8fdf9a60065b | 353 | TEST(trace, active_level_all_1) |
| kadonotakashi | 0:8fdf9a60065b | 354 | { |
| kadonotakashi | 0:8fdf9a60065b | 355 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 356 | mbed_trace_exclude_filters_set((char*)"mygr"); |
| kadonotakashi | 0:8fdf9a60065b | 357 | |
| kadonotakashi | 0:8fdf9a60065b | 358 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygu", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 359 | STRCMP_EQUAL("[DBG ][mygu]: hep", buf); |
| kadonotakashi | 0:8fdf9a60065b | 360 | |
| kadonotakashi | 0:8fdf9a60065b | 361 | mbed_tracef(TRACE_LEVEL_INFO, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 362 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 363 | } |
| kadonotakashi | 0:8fdf9a60065b | 364 | TEST(trace, active_level_all_2) |
| kadonotakashi | 0:8fdf9a60065b | 365 | { |
| kadonotakashi | 0:8fdf9a60065b | 366 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 367 | mbed_trace_exclude_filters_set((char*)"mygr,mygu"); |
| kadonotakashi | 0:8fdf9a60065b | 368 | |
| kadonotakashi | 0:8fdf9a60065b | 369 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygu", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 370 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 371 | |
| kadonotakashi | 0:8fdf9a60065b | 372 | mbed_tracef(TRACE_LEVEL_INFO, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 373 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 374 | } |
| kadonotakashi | 0:8fdf9a60065b | 375 | TEST(trace, active_level_all_3) |
| kadonotakashi | 0:8fdf9a60065b | 376 | { |
| kadonotakashi | 0:8fdf9a60065b | 377 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 378 | mbed_trace_include_filters_set((char*)"mygr"); |
| kadonotakashi | 0:8fdf9a60065b | 379 | |
| kadonotakashi | 0:8fdf9a60065b | 380 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygu", "hep"); |
| kadonotakashi | 0:8fdf9a60065b | 381 | STRCMP_EQUAL("", mbed_trace_last()); |
| kadonotakashi | 0:8fdf9a60065b | 382 | |
| kadonotakashi | 0:8fdf9a60065b | 383 | mbed_tracef(TRACE_LEVEL_INFO, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 384 | STRCMP_EQUAL("[INFO][mygr]: test", buf); |
| kadonotakashi | 0:8fdf9a60065b | 385 | } |
| kadonotakashi | 0:8fdf9a60065b | 386 | |
| kadonotakashi | 0:8fdf9a60065b | 387 | TEST(trace, active_level_all_array) |
| kadonotakashi | 0:8fdf9a60065b | 388 | { |
| kadonotakashi | 0:8fdf9a60065b | 389 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 390 | |
| kadonotakashi | 0:8fdf9a60065b | 391 | uint8_t arr[] = {0x01, 0x02, 0x03}; |
| kadonotakashi | 0:8fdf9a60065b | 392 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "my addr: %s", mbed_trace_array(arr, 3)); |
| kadonotakashi | 0:8fdf9a60065b | 393 | STRCMP_EQUAL("[DBG ][mygr]: my addr: 01:02:03", buf); |
| kadonotakashi | 0:8fdf9a60065b | 394 | } |
| kadonotakashi | 0:8fdf9a60065b | 395 | |
| kadonotakashi | 0:8fdf9a60065b | 396 | |
| kadonotakashi | 0:8fdf9a60065b | 397 | size_t time_length; |
| kadonotakashi | 0:8fdf9a60065b | 398 | char trace_prefix_str[] = "[<TIME>]"; |
| kadonotakashi | 0:8fdf9a60065b | 399 | char* trace_prefix(size_t length){ |
| kadonotakashi | 0:8fdf9a60065b | 400 | time_length = length; |
| kadonotakashi | 0:8fdf9a60065b | 401 | return trace_prefix_str; |
| kadonotakashi | 0:8fdf9a60065b | 402 | } |
| kadonotakashi | 0:8fdf9a60065b | 403 | TEST(trace, prefix) |
| kadonotakashi | 0:8fdf9a60065b | 404 | { |
| kadonotakashi | 0:8fdf9a60065b | 405 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 406 | mbed_trace_prefix_function_set( &trace_prefix ); |
| kadonotakashi | 0:8fdf9a60065b | 407 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "test %d %d", 1, 2); |
| kadonotakashi | 0:8fdf9a60065b | 408 | STRCMP_EQUAL("[<TIME>][DBG ][mygr]: test 1 2", buf); |
| kadonotakashi | 0:8fdf9a60065b | 409 | //TEST_ASSERT_EQUAL_INT(4, time_length); |
| kadonotakashi | 0:8fdf9a60065b | 410 | |
| kadonotakashi | 0:8fdf9a60065b | 411 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL|TRACE_MODE_PLAIN); |
| kadonotakashi | 0:8fdf9a60065b | 412 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 413 | STRCMP_EQUAL("test", buf); |
| kadonotakashi | 0:8fdf9a60065b | 414 | |
| kadonotakashi | 0:8fdf9a60065b | 415 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL|TRACE_MODE_COLOR); |
| kadonotakashi | 0:8fdf9a60065b | 416 | mbed_tracef(TRACE_LEVEL_ERROR, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 417 | STRCMP_EQUAL("\x1b[31m[<TIME>][ERR ][mygr]: test\x1b[0m", buf); |
| kadonotakashi | 0:8fdf9a60065b | 418 | } |
| kadonotakashi | 0:8fdf9a60065b | 419 | char trace_suffix_str[] = "[END]"; |
| kadonotakashi | 0:8fdf9a60065b | 420 | char* trace_suffix() |
| kadonotakashi | 0:8fdf9a60065b | 421 | { |
| kadonotakashi | 0:8fdf9a60065b | 422 | return trace_suffix_str; |
| kadonotakashi | 0:8fdf9a60065b | 423 | } |
| kadonotakashi | 0:8fdf9a60065b | 424 | TEST(trace, suffix) |
| kadonotakashi | 0:8fdf9a60065b | 425 | { |
| kadonotakashi | 0:8fdf9a60065b | 426 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 427 | mbed_trace_prefix_function_set( &trace_prefix ); |
| kadonotakashi | 0:8fdf9a60065b | 428 | mbed_trace_suffix_function_set( &trace_suffix ); |
| kadonotakashi | 0:8fdf9a60065b | 429 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "test"); |
| kadonotakashi | 0:8fdf9a60065b | 430 | STRCMP_EQUAL("[<TIME>][DBG ][mygr]: test[END]", buf); |
| kadonotakashi | 0:8fdf9a60065b | 431 | } |
| kadonotakashi | 0:8fdf9a60065b | 432 | TEST(trace, formatting) |
| kadonotakashi | 0:8fdf9a60065b | 433 | { |
| kadonotakashi | 0:8fdf9a60065b | 434 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hello %d %d %.1f", 12, 13, 5.5); |
| kadonotakashi | 0:8fdf9a60065b | 435 | STRCMP_EQUAL("hello 12 13 5.5", buf); |
| kadonotakashi | 0:8fdf9a60065b | 436 | |
| kadonotakashi | 0:8fdf9a60065b | 437 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hello %d %d %d %d %d %d", 12, 13, 5, 6, 8, 9); |
| kadonotakashi | 0:8fdf9a60065b | 438 | STRCMP_EQUAL("hello 12 13 5 6 8 9", buf); |
| kadonotakashi | 0:8fdf9a60065b | 439 | |
| kadonotakashi | 0:8fdf9a60065b | 440 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "HOH %d HAH %d %d %d %d %d", 12, 13, 5, 6, 8, 9); |
| kadonotakashi | 0:8fdf9a60065b | 441 | STRCMP_EQUAL("HOH 12 HAH 13 5 6 8 9", buf); |
| kadonotakashi | 0:8fdf9a60065b | 442 | } |
| kadonotakashi | 0:8fdf9a60065b | 443 | TEST(trace, filters_control) |
| kadonotakashi | 0:8fdf9a60065b | 444 | { |
| kadonotakashi | 0:8fdf9a60065b | 445 | mbed_trace_include_filters_set((char*)"hello"); |
| kadonotakashi | 0:8fdf9a60065b | 446 | STRCMP_EQUAL("hello", mbed_trace_include_filters_get()); |
| kadonotakashi | 0:8fdf9a60065b | 447 | |
| kadonotakashi | 0:8fdf9a60065b | 448 | mbed_trace_include_filters_set(0); |
| kadonotakashi | 0:8fdf9a60065b | 449 | STRCMP_EQUAL("", mbed_trace_include_filters_get()); |
| kadonotakashi | 0:8fdf9a60065b | 450 | |
| kadonotakashi | 0:8fdf9a60065b | 451 | mbed_trace_exclude_filters_set((char*)"hello"); |
| kadonotakashi | 0:8fdf9a60065b | 452 | STRCMP_EQUAL("hello", mbed_trace_exclude_filters_get()); |
| kadonotakashi | 0:8fdf9a60065b | 453 | |
| kadonotakashi | 0:8fdf9a60065b | 454 | mbed_trace_exclude_filters_set(0); |
| kadonotakashi | 0:8fdf9a60065b | 455 | STRCMP_EQUAL("", mbed_trace_exclude_filters_get()); |
| kadonotakashi | 0:8fdf9a60065b | 456 | } |
| kadonotakashi | 0:8fdf9a60065b | 457 | TEST(trace, cmd_printer) |
| kadonotakashi | 0:8fdf9a60065b | 458 | { |
| kadonotakashi | 0:8fdf9a60065b | 459 | buf[0] = 0; |
| kadonotakashi | 0:8fdf9a60065b | 460 | mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL); |
| kadonotakashi | 0:8fdf9a60065b | 461 | mbed_tracef(TRACE_LEVEL_CMD, "mygr", "default printer"); |
| kadonotakashi | 0:8fdf9a60065b | 462 | STRCMP_EQUAL("default printer", buf); |
| kadonotakashi | 0:8fdf9a60065b | 463 | |
| kadonotakashi | 0:8fdf9a60065b | 464 | mbed_trace_cmdprint_function_set( myprint ); |
| kadonotakashi | 0:8fdf9a60065b | 465 | mbed_tracef(TRACE_LEVEL_CMD, "mygr", "custom printer"); |
| kadonotakashi | 0:8fdf9a60065b | 466 | STRCMP_EQUAL("\n", buf); // because there is two print calls, second one add line feeds |
| kadonotakashi | 0:8fdf9a60065b | 467 | } |
| kadonotakashi | 0:8fdf9a60065b | 468 | TEST(trace, no_printer) |
| kadonotakashi | 0:8fdf9a60065b | 469 | { |
| kadonotakashi | 0:8fdf9a60065b | 470 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hello"); |
| kadonotakashi | 0:8fdf9a60065b | 471 | STRCMP_EQUAL("hello", buf); |
| kadonotakashi | 0:8fdf9a60065b | 472 | |
| kadonotakashi | 0:8fdf9a60065b | 473 | mbed_trace_print_function_set(NULL); |
| kadonotakashi | 0:8fdf9a60065b | 474 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "this shoudnt be printed because printer is missing"); |
| kadonotakashi | 0:8fdf9a60065b | 475 | STRCMP_EQUAL("hello", buf); |
| kadonotakashi | 0:8fdf9a60065b | 476 | } |
| kadonotakashi | 0:8fdf9a60065b | 477 | TEST(trace, uninitialized) |
| kadonotakashi | 0:8fdf9a60065b | 478 | { |
| kadonotakashi | 0:8fdf9a60065b | 479 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hello"); |
| kadonotakashi | 0:8fdf9a60065b | 480 | STRCMP_EQUAL("hello", buf); |
| kadonotakashi | 0:8fdf9a60065b | 481 | |
| kadonotakashi | 0:8fdf9a60065b | 482 | mbed_trace_free(); |
| kadonotakashi | 0:8fdf9a60065b | 483 | |
| kadonotakashi | 0:8fdf9a60065b | 484 | mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "this shoudnt be printed because mtrace is not initialized"); |
| kadonotakashi | 0:8fdf9a60065b | 485 | STRCMP_EQUAL("hello", buf); |
| kadonotakashi | 0:8fdf9a60065b | 486 | } |
| kadonotakashi | 0:8fdf9a60065b | 487 |