Improved tests.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11138 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
Giovanni Di Sirio 2017-12-10 14:16:32 +00:00
parent 16201b81af
commit d430fa4e4f
6 changed files with 239 additions and 190 deletions

View File

@ -33,7 +33,7 @@
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/> <intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/> <stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/> <stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList&gt;&lt;content id=&quot;r0-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r1-(format)&quot; val=&quot;4&quot;/&gt;&lt;/contentList&gt;"/> <stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList&gt;&lt;content id=&quot;r1-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r0-(format)&quot; val=&quot;4&quot;/&gt;&lt;/contentList&gt;"/>
<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;globalVariableList/&gt;&#10;"/> <stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;globalVariableList/&gt;&#10;"/>
<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;memoryBlockExpressionList/&gt;&#10;"/> <stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;memoryBlockExpressionList/&gt;&#10;"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/> <stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>

View File

@ -1,7 +1,7 @@
*** ChibiOS/RT Test Suite *** ChibiOS/RT Test Suite
*** ***
*** Compiled: Dec 7 2017 - 09:22:24 *** Compiled: Dec 10 2017 - 13:15:45
*** Platform: STM32F746 Very High Performance with DSP and FPU *** Platform: STM32F746 Very High Performance with DSP and FPU
*** Test Board: STMicroelectronics STM32F746G-Discovery *** Test Board: STMicroelectronics STM32F746G-Discovery
@ -10,7 +10,9 @@
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 1.1 (Port Info) --- Test Case 1.1 (Port Info)
--- Architecture: ARMv7E-M --- Architecture: ARMv7E-M
--- Compiler: GCC 5.4.1 20160609 (release) [ARM/embedded-5-branch revision 237715] --- Core Variant: Cortex-M7
--- Compiler: GCC 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496]
--- Port Info: Advanced kernel mode
--- Natural alignment: 4 --- Natural alignment: 4
--- Stack alignment: 8 --- Stack alignment: 8
--- Working area alignment: 8 --- Working area alignment: 8
@ -28,6 +30,8 @@
--- Test Case 1.3 (Kernel Settings) --- Test Case 1.3 (Kernel Settings)
--- CH_CFG_ST_RESOLUTION: 32 --- CH_CFG_ST_RESOLUTION: 32
--- CH_CFG_ST_FREQUENCY: 10000 --- CH_CFG_ST_FREQUENCY: 10000
--- CH_CFG_INTERVALS_SIZE: 32
--- CH_CFG_TIME_TYPES_SIZE: 32
--- CH_CFG_ST_TIMEDELTA: 2 --- CH_CFG_ST_TIMEDELTA: 2
--- CH_CFG_TIME_QUANTUM: 0 --- CH_CFG_TIME_QUANTUM: 0
--- CH_CFG_MEMCORE_SIZE: 0 --- CH_CFG_MEMCORE_SIZE: 0
@ -50,7 +54,15 @@
--- CH_CFG_USE_MEMCORE: 1 --- CH_CFG_USE_MEMCORE: 1
--- CH_CFG_USE_HEAP: 1 --- CH_CFG_USE_HEAP: 1
--- CH_CFG_USE_MEMPOOLS: 1 --- CH_CFG_USE_MEMPOOLS: 1
--- CH_CFG_USE_OBJ_FIFOS: 1
--- CH_CFG_USE_DYNAMIC: 1 --- CH_CFG_USE_DYNAMIC: 1
--- CH_CFG_USE_FACTORY: 1
--- CH_CFG_FACTORY_MAX_NAMES_LENGTH: 8
--- CH_CFG_FACTORY_OBJECTS_REGISTRY: 1
--- CH_CFG_FACTORY_GENERIC_BUFFERS: 1
--- CH_CFG_FACTORY_SEMAPHORES: 1
--- CH_CFG_FACTORY_MAILBOXES: 1
--- CH_CFG_FACTORY_OBJ_FIFOS: 1
--- CH_DBG_STATISTICS: 0 --- CH_DBG_STATISTICS: 0
--- CH_DBG_SYSTEM_STATE_CHECK: 0 --- CH_DBG_SYSTEM_STATE_CHECK: 0
--- CH_DBG_ENABLE_CHECKS: 0 --- CH_DBG_ENABLE_CHECKS: 0
@ -174,7 +186,7 @@
=== Test Sequence 10 (Benchmarks) === Test Sequence 10 (Benchmarks)
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 10.1 (Messages performance #1) --- Test Case 10.1 (Messages performance #1)
--- Score : 931025 msgs/S, 1862050 ctxswc/S --- Score : 931026 msgs/S, 1862052 ctxswc/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 10.2 (Messages performance #2) --- Test Case 10.2 (Messages performance #2)
@ -182,7 +194,7 @@
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 10.3 (Messages performance #3) --- Test Case 10.3 (Messages performance #3)
--- Score : 818173 msgs/S, 1636346 ctxswc/S --- Score : 818174 msgs/S, 1636348 ctxswc/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 10.4 (Context Switch performance) --- Test Case 10.4 (Context Switch performance)
@ -198,23 +210,23 @@
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 10.7 (Mass reschedule performance) --- Test Case 10.7 (Mass reschedule performance)
--- Score : 291889 reschedules/S, 1751334 ctxswc/S --- Score : 293476 reschedules/S, 1760856 ctxswc/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 10.8 (Round-Robin voluntary reschedule) --- Test Case 10.8 (Round-Robin voluntary reschedule)
--- Score : 2102168 ctxswc/S --- Score : 2303980 ctxswc/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 10.9 (Virtual Timers set/reset performance) --- Test Case 10.9 (Virtual Timers set/reset performance)
--- Score : 1928652 timers/S --- Score : 1928654 timers/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 10.10 (Semaphores wait/signal performance) --- Test Case 10.10 (Semaphores wait/signal performance)
--- Score : 2918896 wait+signal/S --- Score : 2918900 wait+signal/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 10.11 (Mutexes lock/unlock performance) --- Test Case 10.11 (Mutexes lock/unlock performance)
--- Score : 2399976 lock+unlock/S --- Score : 2399984 lock+unlock/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 10.12 (RAM Footprint) --- Test Case 10.12 (RAM Footprint)
@ -234,7 +246,7 @@ Final result: SUCCESS
*** ChibiOS OS Library Test Suite *** ChibiOS OS Library Test Suite
*** ***
*** Compiled: Dec 7 2017 - 09:22:24 *** Compiled: Dec 10 2017 - 13:15:45
*** Platform: STM32F746 Very High Performance with DSP and FPU *** Platform: STM32F746 Very High Performance with DSP and FPU
*** Test Board: STMicroelectronics STM32F746G-Discovery *** Test Board: STMicroelectronics STM32F746G-Discovery

View File

@ -67,8 +67,6 @@
#define WA_SIZE MEM_ALIGN_NEXT(THD_WORKING_AREA_SIZE(THREADS_STACK_SIZE), \ #define WA_SIZE MEM_ALIGN_NEXT(THD_WORKING_AREA_SIZE(THREADS_STACK_SIZE), \
PORT_WORKING_AREA_ALIGN) PORT_WORKING_AREA_ALIGN)
#define TEST_REPORT_HOOK_HEADER test_print_port_info();
extern uint8_t test_buffer[WA_SIZE * 5]; extern uint8_t test_buffer[WA_SIZE * 5];
extern thread_t *threads[MAX_THREADS]; extern thread_t *threads[MAX_THREADS];
extern void * ROMCONST wa[5]; extern void * ROMCONST wa[5];
@ -79,25 +77,7 @@ void test_wait_threads(void);
systime_t test_wait_tick(void);]]></value> systime_t test_wait_tick(void);]]></value>
</global_definitions> </global_definitions>
<global_code> <global_code>
<value><![CDATA[void test_print_port_info(void) { <value><![CDATA[/*
#ifdef PORT_COMPILER_NAME
test_print("*** Compiler: ");
test_println(PORT_COMPILER_NAME);
#endif
test_print("*** Architecture: ");
test_println(PORT_ARCHITECTURE_NAME);
#ifdef PORT_CORE_VARIANT_NAME
test_print("*** Core Variant: ");
test_println(PORT_CORE_VARIANT_NAME);
#endif
#ifdef PORT_INFO
test_print("*** Port Info: ");
test_println(PORT_INFO);
#endif
}
/*
* Global test buffer holding 5 working areas. * Global test buffer holding 5 working areas.
*/ */
ALIGNED_VAR(PORT_WORKING_AREA_ALIGN) uint8_t test_buffer[WA_SIZE * 5]; ALIGNED_VAR(PORT_WORKING_AREA_ALIGN) uint8_t test_buffer[WA_SIZE * 5];
@ -202,10 +182,18 @@ systime_t test_wait_tick(void) {
test_print("--- Architecture: "); test_print("--- Architecture: ");
test_println(PORT_ARCHITECTURE_NAME); test_println(PORT_ARCHITECTURE_NAME);
#endif #endif
#if defined(PORT_CORE_VARIANT_NAME)
test_print("--- Core Variant: ");
test_println(PORT_CORE_VARIANT_NAME);
#endif
#if defined(PORT_COMPILER_NAME) #if defined(PORT_COMPILER_NAME)
test_print("--- Compiler: "); test_print("--- Compiler: ");
test_println(PORT_COMPILER_NAME); test_println(PORT_COMPILER_NAME);
#endif #endif
#if defined(PORT_INFO)
test_print("--- Port Info: ");
test_println(PORT_INFO);
#endif
#if defined(PORT_NATURAL_ALIGN) #if defined(PORT_NATURAL_ALIGN)
test_print("--- Natural alignment: "); test_print("--- Natural alignment: ");
test_printn(PORT_NATURAL_ALIGN); test_printn(PORT_NATURAL_ALIGN);
@ -255,7 +243,8 @@ test_println("");
<value /> <value />
</tags> </tags>
<code> <code>
<value><![CDATA[test_println("--- Product: ChibiOS/RT"); <value><![CDATA[
test_println("--- Product: ChibiOS/RT");
test_print("--- Stable Flag: "); test_print("--- Stable Flag: ");
test_printn(CH_KERNEL_STABLE); test_printn(CH_KERNEL_STABLE);
test_println(""); test_println("");
@ -310,6 +299,12 @@ test_println("");
test_print("--- CH_CFG_ST_FREQUENCY: "); test_print("--- CH_CFG_ST_FREQUENCY: ");
test_printn(CH_CFG_ST_FREQUENCY); test_printn(CH_CFG_ST_FREQUENCY);
test_println(""); test_println("");
test_print("--- CH_CFG_INTERVALS_SIZE: ");
test_printn(CH_CFG_INTERVALS_SIZE);
test_println("");
test_print("--- CH_CFG_TIME_TYPES_SIZE: ");
test_printn(CH_CFG_TIME_TYPES_SIZE);
test_println("");
test_print("--- CH_CFG_ST_TIMEDELTA: "); test_print("--- CH_CFG_ST_TIMEDELTA: ");
test_printn(CH_CFG_ST_TIMEDELTA); test_printn(CH_CFG_ST_TIMEDELTA);
test_println(""); test_println("");
@ -376,9 +371,33 @@ test_println("");
test_print("--- CH_CFG_USE_MEMPOOLS: "); test_print("--- CH_CFG_USE_MEMPOOLS: ");
test_printn(CH_CFG_USE_MEMPOOLS); test_printn(CH_CFG_USE_MEMPOOLS);
test_println(""); test_println("");
test_print("--- CH_CFG_USE_OBJ_FIFOS: ");
test_printn(CH_CFG_USE_OBJ_FIFOS);
test_println("");
test_print("--- CH_CFG_USE_DYNAMIC: "); test_print("--- CH_CFG_USE_DYNAMIC: ");
test_printn(CH_CFG_USE_DYNAMIC); test_printn(CH_CFG_USE_DYNAMIC);
test_println(""); test_println("");
test_print("--- CH_CFG_USE_FACTORY: ");
test_printn(CH_CFG_USE_FACTORY);
test_println("");
test_print("--- CH_CFG_FACTORY_MAX_NAMES_LENGTH: ");
test_printn(CH_CFG_FACTORY_MAX_NAMES_LENGTH);
test_println("");
test_print("--- CH_CFG_FACTORY_OBJECTS_REGISTRY: ");
test_printn(CH_CFG_FACTORY_OBJECTS_REGISTRY);
test_println("");
test_print("--- CH_CFG_FACTORY_GENERIC_BUFFERS: ");
test_printn(CH_CFG_FACTORY_GENERIC_BUFFERS);
test_println("");
test_print("--- CH_CFG_FACTORY_SEMAPHORES: ");
test_printn(CH_CFG_FACTORY_SEMAPHORES);
test_println("");
test_print("--- CH_CFG_FACTORY_MAILBOXES: ");
test_printn(CH_CFG_FACTORY_MAILBOXES);
test_println("");
test_print("--- CH_CFG_FACTORY_OBJ_FIFOS: ");
test_printn(CH_CFG_FACTORY_OBJ_FIFOS);
test_println("");
test_print("--- CH_DBG_STATISTICS: "); test_print("--- CH_DBG_STATISTICS: ");
test_printn(CH_DBG_STATISTICS); test_printn(CH_DBG_STATISTICS);
test_println(""); test_println("");

View File

@ -87,24 +87,6 @@ const testsuite_t rt_test_suite = {
/* Shared code. */ /* Shared code. */
/*===========================================================================*/ /*===========================================================================*/
void test_print_port_info(void) {
#ifdef PORT_COMPILER_NAME
test_print("*** Compiler: ");
test_println(PORT_COMPILER_NAME);
#endif
test_print("*** Architecture: ");
test_println(PORT_ARCHITECTURE_NAME);
#ifdef PORT_CORE_VARIANT_NAME
test_print("*** Core Variant: ");
test_println(PORT_CORE_VARIANT_NAME);
#endif
#ifdef PORT_INFO
test_print("*** Port Info: ");
test_println(PORT_INFO);
#endif
}
/* /*
* Global test buffer holding 5 working areas. * Global test buffer holding 5 working areas.
*/ */

View File

@ -83,8 +83,6 @@ extern "C" {
#define WA_SIZE MEM_ALIGN_NEXT(THD_WORKING_AREA_SIZE(THREADS_STACK_SIZE), \ #define WA_SIZE MEM_ALIGN_NEXT(THD_WORKING_AREA_SIZE(THREADS_STACK_SIZE), \
PORT_WORKING_AREA_ALIGN) PORT_WORKING_AREA_ALIGN)
#define TEST_REPORT_HOOK_HEADER test_print_port_info();
extern uint8_t test_buffer[WA_SIZE * 5]; extern uint8_t test_buffer[WA_SIZE * 5];
extern thread_t *threads[MAX_THREADS]; extern thread_t *threads[MAX_THREADS];
extern void * ROMCONST wa[5]; extern void * ROMCONST wa[5];

View File

@ -66,10 +66,18 @@ static void rt_test_001_001_execute(void) {
test_print("--- Architecture: "); test_print("--- Architecture: ");
test_println(PORT_ARCHITECTURE_NAME); test_println(PORT_ARCHITECTURE_NAME);
#endif #endif
#if defined(PORT_CORE_VARIANT_NAME)
test_print("--- Core Variant: ");
test_println(PORT_CORE_VARIANT_NAME);
#endif
#if defined(PORT_COMPILER_NAME) #if defined(PORT_COMPILER_NAME)
test_print("--- Compiler: "); test_print("--- Compiler: ");
test_println(PORT_COMPILER_NAME); test_println(PORT_COMPILER_NAME);
#endif #endif
#if defined(PORT_INFO)
test_print("--- Port Info: ");
test_println(PORT_INFO);
#endif
#if defined(PORT_NATURAL_ALIGN) #if defined(PORT_NATURAL_ALIGN)
test_print("--- Natural alignment: "); test_print("--- Natural alignment: ");
test_printn(PORT_NATURAL_ALIGN); test_printn(PORT_NATURAL_ALIGN);
@ -158,6 +166,12 @@ static void rt_test_001_003_execute(void) {
test_print("--- CH_CFG_ST_FREQUENCY: "); test_print("--- CH_CFG_ST_FREQUENCY: ");
test_printn(CH_CFG_ST_FREQUENCY); test_printn(CH_CFG_ST_FREQUENCY);
test_println(""); test_println("");
test_print("--- CH_CFG_INTERVALS_SIZE: ");
test_printn(CH_CFG_INTERVALS_SIZE);
test_println("");
test_print("--- CH_CFG_TIME_TYPES_SIZE: ");
test_printn(CH_CFG_TIME_TYPES_SIZE);
test_println("");
test_print("--- CH_CFG_ST_TIMEDELTA: "); test_print("--- CH_CFG_ST_TIMEDELTA: ");
test_printn(CH_CFG_ST_TIMEDELTA); test_printn(CH_CFG_ST_TIMEDELTA);
test_println(""); test_println("");
@ -224,9 +238,33 @@ static void rt_test_001_003_execute(void) {
test_print("--- CH_CFG_USE_MEMPOOLS: "); test_print("--- CH_CFG_USE_MEMPOOLS: ");
test_printn(CH_CFG_USE_MEMPOOLS); test_printn(CH_CFG_USE_MEMPOOLS);
test_println(""); test_println("");
test_print("--- CH_CFG_USE_OBJ_FIFOS: ");
test_printn(CH_CFG_USE_OBJ_FIFOS);
test_println("");
test_print("--- CH_CFG_USE_DYNAMIC: "); test_print("--- CH_CFG_USE_DYNAMIC: ");
test_printn(CH_CFG_USE_DYNAMIC); test_printn(CH_CFG_USE_DYNAMIC);
test_println(""); test_println("");
test_print("--- CH_CFG_USE_FACTORY: ");
test_printn(CH_CFG_USE_FACTORY);
test_println("");
test_print("--- CH_CFG_FACTORY_MAX_NAMES_LENGTH: ");
test_printn(CH_CFG_FACTORY_MAX_NAMES_LENGTH);
test_println("");
test_print("--- CH_CFG_FACTORY_OBJECTS_REGISTRY: ");
test_printn(CH_CFG_FACTORY_OBJECTS_REGISTRY);
test_println("");
test_print("--- CH_CFG_FACTORY_GENERIC_BUFFERS: ");
test_printn(CH_CFG_FACTORY_GENERIC_BUFFERS);
test_println("");
test_print("--- CH_CFG_FACTORY_SEMAPHORES: ");
test_printn(CH_CFG_FACTORY_SEMAPHORES);
test_println("");
test_print("--- CH_CFG_FACTORY_MAILBOXES: ");
test_printn(CH_CFG_FACTORY_MAILBOXES);
test_println("");
test_print("--- CH_CFG_FACTORY_OBJ_FIFOS: ");
test_printn(CH_CFG_FACTORY_OBJ_FIFOS);
test_println("");
test_print("--- CH_DBG_STATISTICS: "); test_print("--- CH_DBG_STATISTICS: ");
test_printn(CH_DBG_STATISTICS); test_printn(CH_DBG_STATISTICS);
test_println(""); test_println("");