mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-10-13 18:39:38 +08:00
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>
This commit is contained in:
@@ -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"
|
||||
|
||||
|
@@ -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
|
@@ -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
src/utest/perf/Kconfig
Normal file
15
src/utest/perf/Kconfig
Normal file
@@ -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).
|
@@ -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')
|
@@ -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);
|
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
@@ -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;
|
@@ -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;
|
@@ -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;
|
Reference in New Issue
Block a user