diff options
| author | Shell <[email protected]> | 2024-05-21 08:56:35 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-05-21 08:56:35 +0800 |
| commit | e82c53559b6e16acb5bdc9c9c9d51c8ddf84a86d (patch) | |
| tree | 600671847e6af19422e22ec407e8cab46f138699 /examples | |
| parent | 2f559906d6202c27142237ab4b1d893034a5b7c3 (diff) | |
[utest] add device find (#8959)
* [utest] add device find
Signed-off-by: Shell <[email protected]>
* fixup: add test
* fixup: ptr aliasing
* quality: meaning parameter
---------
Signed-off-by: Shell <[email protected]>
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/utest/configs/kernel/device.conf | 4 | ||||
| -rw-r--r-- | examples/utest/testcases/kernel/Kconfig | 4 | ||||
| -rw-r--r-- | examples/utest/testcases/kernel/SConscript | 3 | ||||
| -rw-r--r-- | examples/utest/testcases/kernel/device_tc.c | 59 |
4 files changed, 70 insertions, 0 deletions
diff --git a/examples/utest/configs/kernel/device.conf b/examples/utest/configs/kernel/device.conf new file mode 100644 index 0000000000..1b0bf5a59f --- /dev/null +++ b/examples/utest/configs/kernel/device.conf @@ -0,0 +1,4 @@ +CONFIG_UTEST_DEVICE_TC=y +# dependencies +CONFIG_RT_USING_TIMER_SOFT=y +CONFIG_RT_USING_THREAD=y diff --git a/examples/utest/testcases/kernel/Kconfig b/examples/utest/testcases/kernel/Kconfig index 072e1876a3..cc03ca0a4d 100644 --- a/examples/utest/testcases/kernel/Kconfig +++ b/examples/utest/testcases/kernel/Kconfig @@ -56,6 +56,10 @@ config UTEST_THREAD_TC select RT_USING_TIMER_SOFT select RT_USING_THREAD +config UTEST_DEVICE_TC + bool "device test" + default n + config UTEST_ATOMIC_TC bool "atomic test" default n diff --git a/examples/utest/testcases/kernel/SConscript b/examples/utest/testcases/kernel/SConscript index 67ad659d1c..1ec8beedd2 100644 --- a/examples/utest/testcases/kernel/SConscript +++ b/examples/utest/testcases/kernel/SConscript @@ -41,6 +41,9 @@ if GetDepend(['UTEST_MAILBOX_TC']): if GetDepend(['UTEST_THREAD_TC']): src += ['thread_tc.c'] +if GetDepend(['UTEST_DEVICE_TC']): + src += ['device_tc.c'] + if GetDepend(['UTEST_ATOMIC_TC']): src += ['atomic_tc.c'] diff --git a/examples/utest/testcases/kernel/device_tc.c b/examples/utest/testcases/kernel/device_tc.c new file mode 100644 index 0000000000..6b5a8dfd86 --- /dev/null +++ b/examples/utest/testcases/kernel/device_tc.c @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2006-2024, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2024-05-20 Shell the first version + */ +#include <rtthread.h> +#include <stdlib.h> +#include "utest.h" + +static void test_rt_device_find(void) +{ + char _device_name[RT_NAME_MAX + 1] = {0}; + rt_device_t console; + rt_device_t device1, device2, device3; + + console = rt_console_get_device(); + uassert_not_null(console); + rt_memcpy(_device_name, console->parent.name, RT_NAME_MAX); + + /* Test finding a device */ + device1 = rt_device_find(_device_name); + uassert_true(device1 == console); + + /* Test finding another device */ + device2 = rt_device_find(RT_CONSOLE_DEVICE_NAME); + if (rt_strcmp(RT_CONSOLE_DEVICE_NAME, _device_name) == 0) + { + uassert_true(device2 == device1); + } + else + { + uassert_not_null(device2); + uassert_true(device2 != device1); + } + + /* Test finding a device 3 */ + device3 = rt_device_find(console->parent.name); + uassert_true(device1 == device3); +} + +static rt_err_t utest_tc_init(void) +{ + return RT_EOK; +} + +static rt_err_t utest_tc_cleanup(void) +{ + return RT_EOK; +} + +static void testcase(void) +{ + UTEST_UNIT_RUN(test_rt_device_find); +} +UTEST_TC_EXPORT(testcase, "testcases.kernel.device.find", utest_tc_init, utest_tc_cleanup, 5); |
