Browse Source

utest: core: move perf testcase from example to src

Also:

- Add "RT_" prefix for the UTEST config options.
- Follow the naming rules to update the case name.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Chen Wang 3 tháng trước cách đây
mục cha
commit
7499790140

+ 0 - 1
Kconfig.utestcases

@@ -14,7 +14,6 @@ rsource "examples/utest/testcases/drivers/ipc/Kconfig"
 rsource "examples/utest/testcases/posix/Kconfig"
 rsource "examples/utest/testcases/mm/Kconfig"
 rsource "examples/utest/testcases/tmpfs/Kconfig"
-rsource "examples/utest/testcases/perf/Kconfig"
 
 rsource "src/klibc/utest/Kconfig"
 

+ 0 - 24
examples/utest/testcases/perf/Kconfig

@@ -1,24 +0,0 @@
-menu "SyStem Performance Testcase"
-
-config UTEST_SYS_PERF_TC
-    bool "SyStem Performance test"
-    default n
-
-config UTEST_SYS_PERF_TC_COUNT
-    int "Test the number of cycles"
-    default 1000
-    depends on UTEST_SYS_PERF_TC
-
-config UTEST_HWTIMER_DEV_NAME
-    string "Hardware timer device name"
-    default "timer0"
-    depends on RT_USING_HWTIMER && UTEST_SYS_PERF_TC
-    help
-        Specify the hardware timer device name used for context switch testing (e.g., timer0).
-
-config UTEST_SYS_IRQ_LATENCY
-    bool "SyStem IRQ LATENCY test"
-    default n
-    depends on RT_USING_HWTIMER && UTEST_SYS_PERF_TC
-
-endmenu

+ 2 - 0
src/utest/Kconfig

@@ -84,6 +84,8 @@ config UTEST_MEMPOOL_TC
     default n
     depends on RT_USING_MEMPOOL
 
+rsource "perf/Kconfig"
+
 if RT_USING_SMP
 rsource "smp/Kconfig"
 endif

+ 15 - 0
src/utest/perf/Kconfig

@@ -0,0 +1,15 @@
+config RT_UTEST_SYS_PERF
+    bool "Performance Test"
+    default n
+
+config RT_UTEST_SYS_PERF_TC_COUNT
+    int "PerfTest: Number of cycles"
+    default 1000
+    depends on RT_UTEST_SYS_PERF
+
+config RT_UTEST_HWTIMER_DEV_NAME
+    string "PerfTest: Hardware timer device name"
+    default "timer0"
+    depends on RT_USING_HWTIMER && RT_UTEST_SYS_PERF
+    help
+        Specify the hardware timer device name used for context switch testing (e.g., timer0).

+ 0 - 0
examples/utest/testcases/perf/README.md → src/utest/perf/README.md


+ 1 - 1
examples/utest/testcases/perf/SConscript → src/utest/perf/SConscript

@@ -5,6 +5,6 @@ cwd     = GetCurrentDir()
 src     = Glob('*.c')
 CPPPATH = [cwd]
 
-group = DefineGroup('utestcases', src, depend = ['UTEST_SYS_PERF_TC'], CPPPATH = CPPPATH)
+group = DefineGroup('utestcases', src, depend = ['RT_UTEST_SYS_PERF'], CPPPATH = CPPPATH)
 
 Return('group')

+ 1 - 1
examples/utest/testcases/perf/context_switch_tc.c → src/utest/perf/context_switch_tc.c

@@ -37,7 +37,7 @@ static void perf_thread_event2(void *parameter)
 {
     rt_perf_t *perf = (rt_perf_t *)parameter;
 
-    for (rt_uint32_t i = 0; i < UTEST_SYS_PERF_TC_COUNT; i++)
+    for (rt_uint32_t i = 0; i < RT_UTEST_SYS_PERF_TC_COUNT; i++)
     {
         perf->tmp_time = 0;
         rt_perf_start(perf);

+ 3 - 3
examples/utest/testcases/perf/irq_latency_tc.c → src/utest/perf/irq_latency_tc.c

@@ -28,7 +28,7 @@ static void modify_time(rt_perf_t *perf)
 static rt_err_t timer_callback(rt_device_t dev, rt_size_t size)
 {
     rt_perf_stop(perf_local);
-    if (perf_local->count >= UTEST_SYS_PERF_TC_COUNT)
+    if (perf_local->count >= RT_UTEST_SYS_PERF_TC_COUNT)
     {
         rt_sem_release(complete_sem);
         return RT_EOK;
@@ -48,11 +48,11 @@ rt_err_t rt_perf_irq_latency(rt_perf_t *perf)
     rt_hwtimer_mode_t mode = HWTIMER_MODE_PERIOD;
 
     perf_local = perf;
-    hw_dev = rt_device_find(UTEST_HWTIMER_DEV_NAME);
+    hw_dev = rt_device_find(RT_UTEST_HWTIMER_DEV_NAME);
     if (hw_dev == RT_NULL)
     {
         ret = RT_ERROR;
-        LOG_E("hwtimer sample run failed! can't find %s device!", UTEST_HWTIMER_DEV_NAME);
+        LOG_E("hwtimer sample run failed! can't find %s device!", RT_UTEST_HWTIMER_DEV_NAME);
         return ret;
     }
 

+ 4 - 4
examples/utest/testcases/perf/perf_tc.c → src/utest/perf/perf_tc.c

@@ -167,17 +167,17 @@ static rt_err_t utest_tc_init(void)
 {
     int ret = RT_EOK;
 
-    hw_dev = rt_device_find(UTEST_HWTIMER_DEV_NAME);
+    hw_dev = rt_device_find(RT_UTEST_HWTIMER_DEV_NAME);
     if (hw_dev == RT_NULL)
     {
         ret = RT_ERROR;
-        LOG_E("hwtimer sample run failed! can't find %s device!", UTEST_HWTIMER_DEV_NAME);
+        LOG_E("hwtimer sample run failed! can't find %s device!", RT_UTEST_HWTIMER_DEV_NAME);
         return ret;
     }
     ret = rt_device_open(hw_dev, RT_DEVICE_OFLAG_RDWR);
     if (ret != RT_EOK)
     {
-        LOG_E("open %s device failed!", UTEST_HWTIMER_DEV_NAME);
+        LOG_E("open %s device failed!", RT_UTEST_HWTIMER_DEV_NAME);
         return ret;
     }
 
@@ -198,5 +198,5 @@ static void testcase(void)
     UTEST_UNIT_RUN(rt_perf_all_test);
 }
 
-UTEST_TC_EXPORT(testcase, "testcase.pref.all", utest_tc_init, utest_tc_cleanup, 10);
+UTEST_TC_EXPORT(testcase, "core.pref_test", utest_tc_init, utest_tc_cleanup, 10);
 

+ 0 - 0
examples/utest/testcases/perf/perf_tc.h → src/utest/perf/perf_tc.h


+ 2 - 2
examples/utest/testcases/perf/thread_event_tc.c → src/utest/perf/thread_event_tc.c

@@ -38,7 +38,7 @@ static void perf_thread_event1(void *parameter)
             return;
         }
 
-        if (perf->count >= UTEST_SYS_PERF_TC_COUNT)
+        if (perf->count >= RT_UTEST_SYS_PERF_TC_COUNT)
         {
             rt_event_delete(perf_thread_event);
             rt_sem_delete(sem1);
@@ -53,7 +53,7 @@ static void perf_thread_event2(void *parameter)
     rt_perf_t *perf = (rt_perf_t *)parameter;
     while (1)
     {
-        if (perf->count >= UTEST_SYS_PERF_TC_COUNT)
+        if (perf->count >= RT_UTEST_SYS_PERF_TC_COUNT)
         {
             rt_sem_release(complete_sem);
             return;

+ 2 - 2
examples/utest/testcases/perf/thread_mbox_tc.c → src/utest/perf/thread_mbox_tc.c

@@ -35,7 +35,7 @@ static void perf_thread_mbox1(void *parameter)
             return;
         }
 
-        if (perf->count >= UTEST_SYS_PERF_TC_COUNT)
+        if (perf->count >= RT_UTEST_SYS_PERF_TC_COUNT)
         {
             rt_mb_delete(perf_thread_mbox);
             rt_sem_delete(sem1);
@@ -51,7 +51,7 @@ static void perf_thread_mbox2(void *parameter)
     rt_err_t ret = RT_EOK;
     while (1)
     {
-        if (perf->count >= UTEST_SYS_PERF_TC_COUNT)
+        if (perf->count >= RT_UTEST_SYS_PERF_TC_COUNT)
         {
             rt_sem_release(complete_sem);
             return;

+ 2 - 2
examples/utest/testcases/perf/thread_mq_tc.c → src/utest/perf/thread_mq_tc.c

@@ -34,7 +34,7 @@ static void perf_thread_mq1(void *parameter)
             return;
         }
 
-        if (perf->count >= UTEST_SYS_PERF_TC_COUNT)
+        if (perf->count >= RT_UTEST_SYS_PERF_TC_COUNT)
         {
             rt_mq_delete(perf_thread_mq);
             rt_sem_delete(sem1);
@@ -50,7 +50,7 @@ static void perf_thread_mq2(void *parameter)
     char send = 'A';
     while (1)
     {
-        if (perf->count >= UTEST_SYS_PERF_TC_COUNT)
+        if (perf->count >= RT_UTEST_SYS_PERF_TC_COUNT)
         {
             rt_sem_release(complete_sem);
             return;

+ 2 - 2
examples/utest/testcases/perf/thread_sem_tc.c → src/utest/perf/thread_sem_tc.c

@@ -36,7 +36,7 @@ static void perf_thread_sem1(void *parameter)
             return;
         }
 
-        if (perf->count >= UTEST_SYS_PERF_TC_COUNT)
+        if (perf->count >= RT_UTEST_SYS_PERF_TC_COUNT)
         {
             rt_event_delete(perf_thread_event);
             rt_sem_delete(perf_thread_sem);
@@ -53,7 +53,7 @@ static void perf_thread_sem2(void *parameter)
     rt_uint32_t recv = 0;
     while (1)
     {
-        if (perf->count >= UTEST_SYS_PERF_TC_COUNT)
+        if (perf->count >= RT_UTEST_SYS_PERF_TC_COUNT)
         {
             rt_sem_release(complete_sem);
             return;