RT-Thread / RT-Thread/rt-thread

[Feature] 完善外设驱动 utest 覆盖清单

Open
#11,446 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
12.2k
Forks
5.4k
Avg merge
4d 12h
Merged PRs (30d)
40

Description

背景

目前 RT-Thread 外设驱动 utest 覆盖还不完整,需要先统计当前哪些外设已有 utest,哪些外设还没有,再按清单逐步补齐。

外设 utest 覆盖清单

说明:

  • [x] 表示当前已有对应 utest。
  • [ ] 表示当前暂未发现对应 utest,需要后续补齐。
  • serial_v2 已有较完整的 loopback/QEMU/POSIX 测试。

已覆盖 / 待补齐

  • adc
  • dac
  • i2c
  • spi (PR #11549)
  • can (PR #11752)
  • pwm (PR #11754)
  • rtc (PR #11755)
  • watchdog
  • timer
  • sensor
  • touch
  • audio
  • usb
  • sdio (PR #11758)
  • mtd
  • flash
  • ethernet
  • wlan
  • pin (PR #11445)
  • serial_v2
  • serial_bypass
  • device_core
  • ipc_completion
  • ipc_workqueue
  • smp_call

后续待办

  • 确认 checklist 中每个外设在 components/drivers 下对应的实际目录和 Kconfig 名称。
  • 为已有 utest 的外设补充测试说明:依赖配置、测试命令、是否需要硬件连接。
  • 为缺失 utest 的外设补充基础 smoke test。
  • 对支持 loopback 的外设补充回环测试,例如 UART、CAN、GPIO、SPI。
  • 对可模拟的外设补充 mock/QEMU/POSIX 自动化测试。
  • 对只能依赖真实硬件的外设补充 BSP、config 和接线说明。
  • 统一外设 utest 的 Kconfig/SConscript 接入方式。
  • 统一 testcase 命名,例如 components.drivers.<peripheral>.<scenario>
  • 梳理哪些外设 utest 可以进入 CI,哪些保留为手动板级验证。

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names components/drivers and a peripheral checklist; start by mapping each item to its actual directory and Kconfig name, then inspect existing utest coverage. Review the listed requirements for test instructions, smoke and loopback coverage, mock/QEMU/POSIX automation, hardware setup, naming, integration, and CI status. Done requires defining the scope and completing the agreed checklist items.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
embedded-iot, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.