device_tc.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * Copyright (c) 2006-2024, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2024-05-20 Shell the first version
  9. */
  10. #include <rtthread.h>
  11. #include <stdlib.h>
  12. #include "utest.h"
  13. static void test_rt_device_find(void)
  14. {
  15. char _device_name[RT_NAME_MAX + 1] = {0};
  16. rt_device_t console;
  17. rt_device_t device1, device2, device3;
  18. console = rt_console_get_device();
  19. uassert_not_null(console);
  20. rt_memcpy(_device_name, console->parent.name, RT_NAME_MAX);
  21. /* Test finding a device */
  22. device1 = rt_device_find(_device_name);
  23. uassert_true(device1 == console);
  24. /* Test finding another device */
  25. device2 = rt_device_find(RT_CONSOLE_DEVICE_NAME);
  26. if (rt_strcmp(RT_CONSOLE_DEVICE_NAME, _device_name) == 0)
  27. {
  28. uassert_true(device2 == device1);
  29. }
  30. else
  31. {
  32. uassert_not_null(device2);
  33. uassert_true(device2 != device1);
  34. }
  35. /* Test finding a device 3 */
  36. device3 = rt_device_find(console->parent.name);
  37. uassert_true(device1 == device3);
  38. }
  39. static rt_err_t utest_tc_init(void)
  40. {
  41. return RT_EOK;
  42. }
  43. static rt_err_t utest_tc_cleanup(void)
  44. {
  45. return RT_EOK;
  46. }
  47. static void testcase(void)
  48. {
  49. UTEST_UNIT_RUN(test_rt_device_find);
  50. }
  51. UTEST_TC_EXPORT(testcase, "testcases.kernel.device.find", utest_tc_init, utest_tc_cleanup, 5);