@@ -14,8 +14,12 @@ set(MBED_ROOT ${CMAKE_CURRENT_LIST_DIR}/../.. CACHE INTERNAL "")
14
14
# TEST_INCLUDE_DIRS - Test suite include directories for the test
15
15
# TEST_SOURCES - Test suite sources
16
16
# TEST_REQUIRED_LIBS - Test suite required libraries
17
+ # TEST_SKIPPED - Reason if suite is skipped
17
18
#
18
19
# calling the macro:
20
+ # if(MBED_TEST_BAREMETAL)
21
+ # set(skip_reason "RTOS required")
22
+ # endif()
19
23
# mbed_greentea_add_test(
20
24
# TEST_NAME
21
25
# mbed-platform-system-reset
@@ -27,11 +31,16 @@ set(MBED_ROOT ${CMAKE_CURRENT_LIST_DIR}/../.. CACHE INTERNAL "")
27
31
# TEST_REQUIRED_LIBS
28
32
# mbed-kvstore
29
33
# mbed-xyz
34
+ # TEST_SKIPPED
35
+ # ${skip_reason}
30
36
# )
31
37
32
38
macro (mbed_greentea_add_test )
33
39
set (options )
34
- set (singleValueArgs TEST_NAME )
40
+ set (singleValueArgs
41
+ TEST_NAME
42
+ TEST_SKIPPED
43
+ )
35
44
set (multipleValueArgs
36
45
TEST_INCLUDE_DIRS
37
46
TEST_SOURCES
@@ -43,42 +52,53 @@ macro(mbed_greentea_add_test)
43
52
"${multipleValueArgs} "
44
53
${ARGN}
45
54
)
46
- add_subdirectory (${MBED_ROOT} build )
55
+ if (NOT "${MBED_GREENTEA_TEST_SKIPPED} " STREQUAL "" )
56
+ set (msg "Skipping ${MBED_GREENTEA_TEST_NAME} : ${MBED_GREENTEA_TEST_SKIPPED} " )
57
+ message ("${msg} " )
58
+ add_custom_target (${MBED_GREENTEA_TEST_NAME}
59
+ ALL
60
+ COMMAND ${CMAKE_COMMAND} -E echo ${msg}
61
+ )
62
+ else ()
47
63
48
- add_executable (${MBED_GREENTEA_TEST_NAME} )
64
+ add_subdirectory (${MBED_ROOT} build )
49
65
50
- # Explicitly enable BUILD_TESTING until CTest is added to the Greentea client
51
- set (BUILD_TESTING ON )
66
+ add_executable (${MBED_GREENTEA_TEST_NAME} )
52
67
53
- target_include_directories (${MBED_GREENTEA_TEST_NAME}
54
- PRIVATE
55
- .
56
- ${MBED_GREENTEA_TEST_INCLUDE_DIRS}
57
- )
68
+ # Explicitly enable BUILD_TESTING until CTest is added to the Greentea client
69
+ set (BUILD_TESTING ON )
58
70
59
- target_sources (${MBED_GREENTEA_TEST_NAME}
60
- PRIVATE
61
- ${MBED_GREENTEA_TEST_SOURCES}
62
- )
71
+ target_include_directories (${MBED_GREENTEA_TEST_NAME}
72
+ PRIVATE
73
+ .
74
+ ${MBED_GREENTEA_TEST_INCLUDE_DIRS}
75
+ )
63
76
64
- if (MBED_TEST_BAREMETAL )
65
- list (APPEND MBED_GREENTEA_TEST_REQUIRED_LIBS mbed-baremetal )
66
- else ()
67
- list (APPEND MBED_GREENTEA_TEST_REQUIRED_LIBS mbed-os )
68
- endif ()
77
+ target_sources (${MBED_GREENTEA_TEST_NAME}
78
+ PRIVATE
79
+ ${MBED_GREENTEA_TEST_SOURCES}
80
+ )
69
81
70
- list (APPEND MBED_GREENTEA_TEST_REQUIRED_LIBS greentea::client mbed-unity mbed-utest )
82
+ if (MBED_TEST_BAREMETAL )
83
+ list (APPEND MBED_GREENTEA_TEST_REQUIRED_LIBS mbed-baremetal )
84
+ else ()
85
+ list (APPEND MBED_GREENTEA_TEST_REQUIRED_LIBS mbed-os )
86
+ endif ()
71
87
72
- target_link_libraries (${MBED_GREENTEA_TEST_NAME}
73
- PRIVATE
74
- ${MBED_GREENTEA_TEST_REQUIRED_LIBS}
75
- )
88
+ list (APPEND MBED_GREENTEA_TEST_REQUIRED_LIBS greentea::client mbed-unity mbed-utest )
89
+
90
+ target_link_libraries (${MBED_GREENTEA_TEST_NAME}
91
+ PRIVATE
92
+ ${MBED_GREENTEA_TEST_REQUIRED_LIBS}
93
+ )
94
+
95
+ mbed_set_post_build (${MBED_GREENTEA_TEST_NAME} )
76
96
77
- mbed_set_post_build (${MBED_GREENTEA_TEST_NAME} )
97
+ option (VERBOSE_BUILD "Have a verbose build process" )
98
+ if (VERBOSE_BUILD )
99
+ set (CMAKE_VERBOSE_MAKEFILE ON )
100
+ endif ()
78
101
79
- option (VERBOSE_BUILD "Have a verbose build process" )
80
- if (VERBOSE_BUILD )
81
- set (CMAKE_VERBOSE_MAKEFILE ON )
82
- endif ()
102
+ endif () # NOT MBED_GREENTEA_TEST_SKIPPED
83
103
84
104
endmacro ()
0 commit comments