From d430fa4e4fcad28e4ff9952f9d8139e683ddf278 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sun, 10 Dec 2017 14:16:32 +0000 Subject: Improved tests. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11138 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- ...F746G-DISCOVERY (OpenOCD, Flash and Run).launch | 2 +- doc/rt/reports/STM32F746-216-GCC.txt | 120 +++++++++------- test/rt/configuration.xml | 157 ++++++++++++--------- test/rt/source/test/rt_test_root.c | 18 --- test/rt/source/test/rt_test_root.h | 2 - test/rt/source/test/rt_test_sequence_001.c | 130 +++++++++++------ 6 files changed, 239 insertions(+), 190 deletions(-) diff --git a/demos/STM32/NIL-STM32F746G-DISCOVERY/debug/NIL-STM32F746G-DISCOVERY (OpenOCD, Flash and Run).launch b/demos/STM32/NIL-STM32F746G-DISCOVERY/debug/NIL-STM32F746G-DISCOVERY (OpenOCD, Flash and Run).launch index 15b43d869..64205f0f0 100644 --- a/demos/STM32/NIL-STM32F746G-DISCOVERY/debug/NIL-STM32F746G-DISCOVERY (OpenOCD, Flash and Run).launch +++ b/demos/STM32/NIL-STM32F746G-DISCOVERY/debug/NIL-STM32F746G-DISCOVERY (OpenOCD, Flash and Run).launch @@ -33,7 +33,7 @@ - + diff --git a/doc/rt/reports/STM32F746-216-GCC.txt b/doc/rt/reports/STM32F746-216-GCC.txt index 064585432..568723b29 100644 --- a/doc/rt/reports/STM32F746-216-GCC.txt +++ b/doc/rt/reports/STM32F746-216-GCC.txt @@ -1,7 +1,7 @@ *** 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 *** Test Board: STMicroelectronics STM32F746G-Discovery @@ -9,57 +9,69 @@ === Test Sequence 1 (Information) ---------------------------------------------------------------------------- --- Test Case 1.1 (Port Info) ---- Architecture: ARMv7E-M ---- Compiler: GCC 5.4.1 20160609 (release) [ARM/embedded-5-branch revision 237715] ---- Natural alignment: 4 ---- Stack alignment: 8 ---- Working area alignment: 8 +--- Architecture: ARMv7E-M +--- 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 +--- Stack alignment: 8 +--- Working area alignment: 8 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 1.2 (Kernel Info) ---- Product: ChibiOS/RT ---- Stable Flag: 0 ---- Version String: 5.0.0 ---- Major Number: 5 ---- Minor Number: 0 ---- Patch Number: 0 +--- Product: ChibiOS/RT +--- Stable Flag: 0 +--- Version String: 5.0.0 +--- Major Number: 5 +--- Minor Number: 0 +--- Patch Number: 0 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 1.3 (Kernel Settings) ---- CH_CFG_ST_RESOLUTION: 32 ---- CH_CFG_ST_FREQUENCY: 10000 ---- CH_CFG_ST_TIMEDELTA: 2 ---- CH_CFG_TIME_QUANTUM: 0 ---- CH_CFG_MEMCORE_SIZE: 0 ---- CH_CFG_NO_IDLE_THREAD: 0 ---- CH_CFG_OPTIMIZE_SPEED: 1 ---- CH_CFG_USE_TM: 1 ---- CH_CFG_USE_REGISTRY: 1 ---- CH_CFG_USE_WAITEXIT: 1 ---- CH_CFG_USE_SEMAPHORES: 1 ---- CH_CFG_USE_SEMAPHORES_PRI: 0 ---- CH_CFG_USE_MUTEXES: 1 ---- CH_CFG_USE_MUTEXES_RECURS: 0 ---- CH_CFG_USE_CONDVARS: 1 ---- CH_CFG_USE_CONDVARS_TIMEO: 1 ---- CH_CFG_USE_EVENTS: 1 ---- CH_CFG_USE_EVENTS_TIMEOUT: 1 ---- CH_CFG_USE_MESSAGES: 1 ---- CH_CFG_USE_MESSAGES_PRI: 0 ---- CH_CFG_USE_MAILBOXES: 1 ---- CH_CFG_USE_MEMCORE: 1 ---- CH_CFG_USE_HEAP: 1 ---- CH_CFG_USE_MEMPOOLS: 1 ---- CH_CFG_USE_DYNAMIC: 1 ---- CH_DBG_STATISTICS: 0 ---- CH_DBG_SYSTEM_STATE_CHECK: 0 ---- CH_DBG_ENABLE_CHECKS: 0 ---- CH_DBG_ENABLE_ASSERTS: 0 ---- CH_DBG_TRACE_MASK: 0 ---- CH_DBG_TRACE_BUFFER_SIZE: 128 ---- CH_DBG_ENABLE_STACK_CHECK: 0 ---- CH_DBG_FILL_THREADS: 0 ---- CH_DBG_THREADS_PROFILING: 0 +--- CH_CFG_ST_RESOLUTION: 32 +--- CH_CFG_ST_FREQUENCY: 10000 +--- CH_CFG_INTERVALS_SIZE: 32 +--- CH_CFG_TIME_TYPES_SIZE: 32 +--- CH_CFG_ST_TIMEDELTA: 2 +--- CH_CFG_TIME_QUANTUM: 0 +--- CH_CFG_MEMCORE_SIZE: 0 +--- CH_CFG_NO_IDLE_THREAD: 0 +--- CH_CFG_OPTIMIZE_SPEED: 1 +--- CH_CFG_USE_TM: 1 +--- CH_CFG_USE_REGISTRY: 1 +--- CH_CFG_USE_WAITEXIT: 1 +--- CH_CFG_USE_SEMAPHORES: 1 +--- CH_CFG_USE_SEMAPHORES_PRI: 0 +--- CH_CFG_USE_MUTEXES: 1 +--- CH_CFG_USE_MUTEXES_RECURS: 0 +--- CH_CFG_USE_CONDVARS: 1 +--- CH_CFG_USE_CONDVARS_TIMEO: 1 +--- CH_CFG_USE_EVENTS: 1 +--- CH_CFG_USE_EVENTS_TIMEOUT: 1 +--- CH_CFG_USE_MESSAGES: 1 +--- CH_CFG_USE_MESSAGES_PRI: 0 +--- CH_CFG_USE_MAILBOXES: 1 +--- CH_CFG_USE_MEMCORE: 1 +--- CH_CFG_USE_HEAP: 1 +--- CH_CFG_USE_MEMPOOLS: 1 +--- CH_CFG_USE_OBJ_FIFOS: 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_SYSTEM_STATE_CHECK: 0 +--- CH_DBG_ENABLE_CHECKS: 0 +--- CH_DBG_ENABLE_ASSERTS: 0 +--- CH_DBG_TRACE_MASK: 0 +--- CH_DBG_TRACE_BUFFER_SIZE: 128 +--- CH_DBG_ENABLE_STACK_CHECK: 0 +--- CH_DBG_FILL_THREADS: 0 +--- CH_DBG_THREADS_PROFILING: 0 --- Result: SUCCESS ============================================================================ === Test Sequence 2 (System layer and port interface) @@ -174,7 +186,7 @@ === Test Sequence 10 (Benchmarks) ---------------------------------------------------------------------------- --- Test Case 10.1 (Messages performance #1) ---- Score : 931025 msgs/S, 1862050 ctxswc/S +--- Score : 931026 msgs/S, 1862052 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 10.2 (Messages performance #2) @@ -182,7 +194,7 @@ --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 10.3 (Messages performance #3) ---- Score : 818173 msgs/S, 1636346 ctxswc/S +--- Score : 818174 msgs/S, 1636348 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 10.4 (Context Switch performance) @@ -198,23 +210,23 @@ --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 10.7 (Mass reschedule performance) ---- Score : 291889 reschedules/S, 1751334 ctxswc/S +--- Score : 293476 reschedules/S, 1760856 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 10.8 (Round-Robin voluntary reschedule) ---- Score : 2102168 ctxswc/S +--- Score : 2303980 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 10.9 (Virtual Timers set/reset performance) ---- Score : 1928652 timers/S +--- Score : 1928654 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 10.10 (Semaphores wait/signal performance) ---- Score : 2918896 wait+signal/S +--- Score : 2918900 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 10.11 (Mutexes lock/unlock performance) ---- Score : 2399976 lock+unlock/S +--- Score : 2399984 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 10.12 (RAM Footprint) @@ -234,7 +246,7 @@ Final result: SUCCESS *** 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 *** Test Board: STMicroelectronics STM32F746G-Discovery diff --git a/test/rt/configuration.xml b/test/rt/configuration.xml index 20fc7ea0b..2b789cc14 100644 --- a/test/rt/configuration.xml +++ b/test/rt/configuration.xml @@ -67,8 +67,6 @@ #define WA_SIZE MEM_ALIGN_NEXT(THD_WORKING_AREA_SIZE(THREADS_STACK_SIZE), \ PORT_WORKING_AREA_ALIGN) -#define TEST_REPORT_HOOK_HEADER test_print_port_info(); - extern uint8_t test_buffer[WA_SIZE * 5]; extern thread_t *threads[MAX_THREADS]; extern void * ROMCONST wa[5]; @@ -79,25 +77,7 @@ void test_wait_threads(void); systime_t test_wait_tick(void);]]> - @@ -255,19 +243,20 @@ test_println(""); - @@ -304,106 +293,136 @@ test_println("");]]> - diff --git a/test/rt/source/test/rt_test_root.c b/test/rt/source/test/rt_test_root.c index 5de8d38aa..b65c2b9d9 100644 --- a/test/rt/source/test/rt_test_root.c +++ b/test/rt/source/test/rt_test_root.c @@ -87,24 +87,6 @@ const testsuite_t rt_test_suite = { /* 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. */ diff --git a/test/rt/source/test/rt_test_root.h b/test/rt/source/test/rt_test_root.h index 4bdacf5eb..c1450779f 100644 --- a/test/rt/source/test/rt_test_root.h +++ b/test/rt/source/test/rt_test_root.h @@ -83,8 +83,6 @@ extern "C" { #define WA_SIZE MEM_ALIGN_NEXT(THD_WORKING_AREA_SIZE(THREADS_STACK_SIZE), \ PORT_WORKING_AREA_ALIGN) -#define TEST_REPORT_HOOK_HEADER test_print_port_info(); - extern uint8_t test_buffer[WA_SIZE * 5]; extern thread_t *threads[MAX_THREADS]; extern void * ROMCONST wa[5]; diff --git a/test/rt/source/test/rt_test_sequence_001.c b/test/rt/source/test/rt_test_sequence_001.c index 3e07198a4..31e297938 100644 --- a/test/rt/source/test/rt_test_sequence_001.c +++ b/test/rt/source/test/rt_test_sequence_001.c @@ -63,25 +63,33 @@ static void rt_test_001_001_execute(void) { test_set_step(1); { #if defined(PORT_ARCHITECTURE_NAME) - test_print("--- Architecture: "); + test_print("--- Architecture: "); test_println(PORT_ARCHITECTURE_NAME); #endif +#if defined(PORT_CORE_VARIANT_NAME) + test_print("--- Core Variant: "); + test_println(PORT_CORE_VARIANT_NAME); +#endif #if defined(PORT_COMPILER_NAME) - test_print("--- Compiler: "); + test_print("--- Compiler: "); test_println(PORT_COMPILER_NAME); #endif +#if defined(PORT_INFO) + test_print("--- Port Info: "); + test_println(PORT_INFO); +#endif #if defined(PORT_NATURAL_ALIGN) - test_print("--- Natural alignment: "); + test_print("--- Natural alignment: "); test_printn(PORT_NATURAL_ALIGN); test_println(""); #endif #if defined(PORT_STACK_ALIGN) - test_print("--- Stack alignment: "); + test_print("--- Stack alignment: "); test_printn(PORT_STACK_ALIGN); test_println(""); #endif #if defined(PORT_WORKING_AREA_ALIGN) - test_print("--- Working area alignment: "); + test_print("--- Working area alignment: "); test_printn(PORT_WORKING_AREA_ALIGN); test_println(""); #endif @@ -111,19 +119,19 @@ static void rt_test_001_002_execute(void) { /* [1.2.1] Prints the version string.*/ test_set_step(1); { - test_println("--- Product: ChibiOS/RT"); - test_print("--- Stable Flag: "); + test_println("--- Product: ChibiOS/RT"); + test_print("--- Stable Flag: "); test_printn(CH_KERNEL_STABLE); test_println(""); - test_print("--- Version String: "); + test_print("--- Version String: "); test_println(CH_KERNEL_VERSION); - test_print("--- Major Number: "); + test_print("--- Major Number: "); test_printn(CH_KERNEL_MAJOR); test_println(""); - test_print("--- Minor Number: "); + test_print("--- Minor Number: "); test_printn(CH_KERNEL_MINOR); test_println(""); - test_print("--- Patch Number: "); + test_print("--- Patch Number: "); test_printn(CH_KERNEL_PATCH); test_println(""); } @@ -152,106 +160,136 @@ static void rt_test_001_003_execute(void) { /* [1.3.1] Prints the configuration options settings.*/ test_set_step(1); { - test_print("--- CH_CFG_ST_RESOLUTION: "); + test_print("--- CH_CFG_ST_RESOLUTION: "); test_printn(CH_CFG_ST_RESOLUTION); test_println(""); - test_print("--- CH_CFG_ST_FREQUENCY: "); + test_print("--- CH_CFG_ST_FREQUENCY: "); test_printn(CH_CFG_ST_FREQUENCY); test_println(""); - test_print("--- CH_CFG_ST_TIMEDELTA: "); + 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_printn(CH_CFG_ST_TIMEDELTA); test_println(""); - test_print("--- CH_CFG_TIME_QUANTUM: "); + test_print("--- CH_CFG_TIME_QUANTUM: "); test_printn(CH_CFG_TIME_QUANTUM); test_println(""); - test_print("--- CH_CFG_MEMCORE_SIZE: "); + test_print("--- CH_CFG_MEMCORE_SIZE: "); test_printn(CH_CFG_MEMCORE_SIZE); test_println(""); - test_print("--- CH_CFG_NO_IDLE_THREAD: "); + test_print("--- CH_CFG_NO_IDLE_THREAD: "); test_printn(CH_CFG_NO_IDLE_THREAD); test_println(""); - test_print("--- CH_CFG_OPTIMIZE_SPEED: "); + test_print("--- CH_CFG_OPTIMIZE_SPEED: "); test_printn(CH_CFG_OPTIMIZE_SPEED); test_println(""); - test_print("--- CH_CFG_USE_TM: "); + test_print("--- CH_CFG_USE_TM: "); test_printn(CH_CFG_USE_TM); test_println(""); - test_print("--- CH_CFG_USE_REGISTRY: "); + test_print("--- CH_CFG_USE_REGISTRY: "); test_printn(CH_CFG_USE_REGISTRY); test_println(""); - test_print("--- CH_CFG_USE_WAITEXIT: "); + test_print("--- CH_CFG_USE_WAITEXIT: "); test_printn(CH_CFG_USE_WAITEXIT); test_println(""); - test_print("--- CH_CFG_USE_SEMAPHORES: "); + test_print("--- CH_CFG_USE_SEMAPHORES: "); test_printn(CH_CFG_USE_SEMAPHORES); test_println(""); - test_print("--- CH_CFG_USE_SEMAPHORES_PRI: "); + test_print("--- CH_CFG_USE_SEMAPHORES_PRI: "); test_printn(CH_CFG_USE_SEMAPHORES_PRIORITY); test_println(""); - test_print("--- CH_CFG_USE_MUTEXES: "); + test_print("--- CH_CFG_USE_MUTEXES: "); test_printn(CH_CFG_USE_MUTEXES); test_println(""); - test_print("--- CH_CFG_USE_MUTEXES_RECURS: "); + test_print("--- CH_CFG_USE_MUTEXES_RECURS: "); test_printn(CH_CFG_USE_MUTEXES_RECURSIVE); - test_println(""); - test_print("--- CH_CFG_USE_CONDVARS: "); + test_println(""); + test_print("--- CH_CFG_USE_CONDVARS: "); test_printn(CH_CFG_USE_CONDVARS); test_println(""); - test_print("--- CH_CFG_USE_CONDVARS_TIMEO: "); + test_print("--- CH_CFG_USE_CONDVARS_TIMEO: "); test_printn(CH_CFG_USE_CONDVARS_TIMEOUT); test_println(""); - test_print("--- CH_CFG_USE_EVENTS: "); + test_print("--- CH_CFG_USE_EVENTS: "); test_printn(CH_CFG_USE_EVENTS); test_println(""); - test_print("--- CH_CFG_USE_EVENTS_TIMEOUT: "); + test_print("--- CH_CFG_USE_EVENTS_TIMEOUT: "); test_printn(CH_CFG_USE_EVENTS_TIMEOUT); test_println(""); - test_print("--- CH_CFG_USE_MESSAGES: "); + test_print("--- CH_CFG_USE_MESSAGES: "); test_printn(CH_CFG_USE_MESSAGES); test_println(""); - test_print("--- CH_CFG_USE_MESSAGES_PRI: "); + test_print("--- CH_CFG_USE_MESSAGES_PRI: "); test_printn(CH_CFG_USE_MESSAGES_PRIORITY); test_println(""); - test_print("--- CH_CFG_USE_MAILBOXES: "); + test_print("--- CH_CFG_USE_MAILBOXES: "); test_printn(CH_CFG_USE_MAILBOXES); test_println(""); - test_print("--- CH_CFG_USE_MEMCORE: "); + test_print("--- CH_CFG_USE_MEMCORE: "); test_printn(CH_CFG_USE_MEMCORE); test_println(""); - test_print("--- CH_CFG_USE_HEAP: "); + test_print("--- CH_CFG_USE_HEAP: "); test_printn(CH_CFG_USE_HEAP); test_println(""); - test_print("--- CH_CFG_USE_MEMPOOLS: "); + test_print("--- CH_CFG_USE_MEMPOOLS: "); test_printn(CH_CFG_USE_MEMPOOLS); test_println(""); - test_print("--- CH_CFG_USE_DYNAMIC: "); + test_print("--- CH_CFG_USE_OBJ_FIFOS: "); + test_printn(CH_CFG_USE_OBJ_FIFOS); + test_println(""); + test_print("--- CH_CFG_USE_DYNAMIC: "); test_printn(CH_CFG_USE_DYNAMIC); test_println(""); - test_print("--- CH_DBG_STATISTICS: "); + 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_printn(CH_DBG_STATISTICS); test_println(""); - test_print("--- CH_DBG_SYSTEM_STATE_CHECK: "); + test_print("--- CH_DBG_SYSTEM_STATE_CHECK: "); test_printn(CH_DBG_SYSTEM_STATE_CHECK); test_println(""); - test_print("--- CH_DBG_ENABLE_CHECKS: "); + test_print("--- CH_DBG_ENABLE_CHECKS: "); test_printn(CH_DBG_ENABLE_CHECKS); test_println(""); - test_print("--- CH_DBG_ENABLE_ASSERTS: "); + test_print("--- CH_DBG_ENABLE_ASSERTS: "); test_printn(CH_DBG_ENABLE_ASSERTS); test_println(""); - test_print("--- CH_DBG_TRACE_MASK: "); + test_print("--- CH_DBG_TRACE_MASK: "); test_printn(CH_DBG_TRACE_MASK); test_println(""); - test_print("--- CH_DBG_TRACE_BUFFER_SIZE: "); + test_print("--- CH_DBG_TRACE_BUFFER_SIZE: "); test_printn(CH_DBG_TRACE_BUFFER_SIZE); test_println(""); - test_print("--- CH_DBG_ENABLE_STACK_CHECK: "); + test_print("--- CH_DBG_ENABLE_STACK_CHECK: "); test_printn(CH_DBG_ENABLE_STACK_CHECK); test_println(""); - test_print("--- CH_DBG_FILL_THREADS: "); + test_print("--- CH_DBG_FILL_THREADS: "); test_printn(CH_DBG_FILL_THREADS); test_println(""); - test_print("--- CH_DBG_THREADS_PROFILING: "); + test_print("--- CH_DBG_THREADS_PROFILING: "); test_printn(CH_DBG_THREADS_PROFILING); test_println(""); } -- cgit v1.2.3