mirror of https://github.com/ARMmbed/mbed-os.git
CMake: greentea: Add skip reason
Add parser to retrieve MBED_RAM_SIZE, MBED_CONF_TARGET_BOOT_STACK_SIZE, MBED_CONF_RTOS_MAIN_THREAD_STACK_SIZE values from mbed_config.cmake to calculate available stack which is used for if condition check for skip this test.pull/15058/head
parent
101c8d6582
commit
2291daae91
|
@ -3,9 +3,40 @@
|
||||||
|
|
||||||
include(mbed_greentea)
|
include(mbed_greentea)
|
||||||
|
|
||||||
|
if("TARGET_CORTEX_A" IN_LIST MBED_TARGET_DEFINITIONS)
|
||||||
|
set(TEST_SKIPPED "Cortex-A target not supported for this test")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
macro(GetMemSize resultVar memRegion)
|
||||||
|
# ARGN holds all arguments to function after last named one
|
||||||
|
foreach(ITR ${ARGN})
|
||||||
|
if(ITR MATCHES "${memRegion}*")
|
||||||
|
string(FIND ${ITR} "=" index)
|
||||||
|
MATH(EXPR index "${index}+1")
|
||||||
|
string(SUBSTRING ${ITR} ${index} -1 value)
|
||||||
|
set(${resultVar} ${value} PARENT_SCOPE)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
GetMemSize(ram_size "MBED_CONF_TARGET_RAM_SIZE" ${MBED_CONFIG_DEFINITIONS})
|
||||||
|
GetMemSize(boot_stack_size "MBED_CONF_TARGET_BOOT_STACK_SIZE" ${MBED_CONFIG_DEFINITIONS})
|
||||||
|
GetMemSize(thread_stack_size "MBED_CONF_RTOS_MAIN_THREAD_STACK_SIZE" ${MBED_CONFIG_DEFINITIONS})
|
||||||
|
MATH(EXPR total_ram_boot_stack_size "${ram_size}-${boot_stack_size}" OUTPUT_FORMAT HEXADECIMAL)
|
||||||
|
MATH(EXPR total_boot_thread_stack_size "${boot_stack_size}+${thread_stack_size}" OUTPUT_FORMAT HEXADECIMAL)
|
||||||
|
|
||||||
|
if(${total_ram_boot_stack_size} LESS_EQUAL ${total_boot_thread_stack_size})
|
||||||
|
set(TEST_SKIPPED "Insufficient stack for stack_size_unification tests")
|
||||||
|
endif()
|
||||||
|
|
||||||
mbed_greentea_add_test(
|
mbed_greentea_add_test(
|
||||||
TEST_NAME
|
TEST_NAME
|
||||||
mbed-hal-stack-size-unification
|
mbed-hal-stack-size-unification
|
||||||
|
TEST_INCLUDE_DIRS
|
||||||
|
.
|
||||||
TEST_SOURCES
|
TEST_SOURCES
|
||||||
main.cpp
|
main.cpp
|
||||||
|
TEST_SKIPPED
|
||||||
|
${TEST_SKIPPED}
|
||||||
)
|
)
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
|
|
||||||
#ifdef TARGET_RENESAS
|
#ifdef TARGET_CORTEX_A
|
||||||
#error [NOT_SUPPORTED] Cortex-A target not supported for this test
|
#error [NOT_SUPPORTED] Cortex-A target not supported for this test
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue