diff --git a/features/frameworks/mbed-trace/README.md b/features/frameworks/mbed-trace/README.md index 60c0601e1f..dd322e5398 100644 --- a/features/frameworks/mbed-trace/README.md +++ b/features/frameworks/mbed-trace/README.md @@ -169,6 +169,13 @@ yotta target x86-linux-native yotta test mbed_trace_test ``` +* In Mac + +``` +yotta target x86-osx-native +yotta test mbed_trace_test +``` + * In Windows ``` diff --git a/features/frameworks/mbed-trace/module.json b/features/frameworks/mbed-trace/module.json index 742ecbff8a..9c3be8dee9 100644 --- a/features/frameworks/mbed-trace/module.json +++ b/features/frameworks/mbed-trace/module.json @@ -27,6 +27,10 @@ "cpputest": "ARMmbed/cpputest", "nanostack-libservice": "^3.6.0" }, + "x86-osx-native": { + "cpputest": "ARMmbed/cpputest", + "nanostack-libservice": "^3.6.0" + }, "x86-windows-native": { "cpputest": "ARMmbed/cpputest", "nanostack-libservice": "^3.6.0" diff --git a/features/frameworks/mbed-trace/source/CMakeLists.txt b/features/frameworks/mbed-trace/source/CMakeLists.txt index 300e6cec12..7e7a0a08f4 100644 --- a/features/frameworks/mbed-trace/source/CMakeLists.txt +++ b/features/frameworks/mbed-trace/source/CMakeLists.txt @@ -4,6 +4,12 @@ if(DEFINED TARGET_LIKE_X86_LINUX_NATIVE) ) add_definitions("-g -O0 -fprofile-arcs -ftest-coverage") target_link_libraries(mbed-trace gcov nanostack-libservice) +elseif(DEFINED TARGET_LIKE_X86_OSX_NATIVE) + add_library( mbed-trace + mbed_trace.c + ) + add_definitions("-g -O0") + target_link_libraries(mbed-trace nanostack-libservice) else() add_library( mbed-trace mbed_trace.c diff --git a/features/frameworks/mbed-trace/test/CMakeLists.txt b/features/frameworks/mbed-trace/test/CMakeLists.txt index d67c574b26..efdd53b9cf 100644 --- a/features/frameworks/mbed-trace/test/CMakeLists.txt +++ b/features/frameworks/mbed-trace/test/CMakeLists.txt @@ -1,5 +1,5 @@ # only build tests on targets that declare they are like posix -if(DEFINED TARGET_LIKE_X86_WINDOWS_NATIVE OR DEFINED TARGET_LIKE_X86_LINUX_NATIVE) +if(DEFINED TARGET_LIKE_X86_WINDOWS_NATIVE OR DEFINED TARGET_LIKE_X86_LINUX_NATIVE OR DEFINED TARGET_LIKE_X86_OSX_NATIVE) # describe the test executable add_executable(mbed_trace_test EXCLUDE_FROM_ALL Test.cpp stubs/ip6tos_stub.c) @@ -13,10 +13,13 @@ if(DEFINED TARGET_LIKE_X86_WINDOWS_NATIVE OR DEFINED TARGET_LIKE_X86_LINUX_NATIV if(DEFINED TARGET_LIKE_X86_WINDOWS_NATIVE) add_test(mbed_trace_test "build/x86-windows-native/test/mbed_trace_test") add_dependencies(all_tests mbed_trace_test) - endif() - if(DEFINED TARGET_LIKE_X86_LINUX_NATIVE) + elseif(DEFINED TARGET_LIKE_X86_LINUX_NATIVE) SET(TEST_EXECUTABLE "../../../build/x86-linux-native/test/mbed_trace_test") add_test(mbed_trace_test ${TEST_EXECUTABLE}) add_dependencies(all_tests mbed_trace_test) + elseif(DEFINED TARGET_LIKE_X86_OSX_NATIVE) + SET(TEST_EXECUTABLE "../../../build/x86-osx-native/test/mbed_trace_test") + add_test(mbed_trace_test ${TEST_EXECUTABLE}) + add_dependencies(all_tests mbed_trace_test) endif() endif() diff --git a/features/frameworks/mbed-trace/test/Test.cpp b/features/frameworks/mbed-trace/test/Test.cpp index 52b5934d36..bd0426130e 100644 --- a/features/frameworks/mbed-trace/test/Test.cpp +++ b/features/frameworks/mbed-trace/test/Test.cpp @@ -454,6 +454,17 @@ TEST(trace, filters_control) mbed_trace_exclude_filters_set(0); STRCMP_EQUAL("", mbed_trace_exclude_filters_get()); } +TEST(trace, cmd_printer) +{ + buf[0] = 0; + mbed_trace_config_set(TRACE_ACTIVE_LEVEL_ALL); + mbed_tracef(TRACE_LEVEL_CMD, "mygr", "default printer"); + STRCMP_EQUAL("default printer", buf); + + mbed_trace_cmdprint_function_set( myprint ); + mbed_tracef(TRACE_LEVEL_CMD, "mygr", "custom printer"); + STRCMP_EQUAL("\n", buf); // because there is two print calls, second one add line feeds +} TEST(trace, no_printer) { mbed_tracef(TRACE_LEVEL_DEBUG, "mygr", "hello");