Files
STM32F4-Base/test/README.md
T
wandering1 39bd06adea 为自建代码目录补齐 README,建立目录级导航体系
- 新增 26 份目录 README:App/(+log,task,util,protocol)、Drivers/BSP/(+8子系统)、
  Src/、Inc/、scripts/、tools/(+6子工具)、test/、MDK-ARM/、simulator/(+sim,tests)
- 每份含:定位、文件清单表、关键约束/陷阱、指向 docs 权威文档
- 第三方库与生成代码目录排除(CMSIS/HAL/Middlewares/Lib/SDL2)
- docs/文档规范.md 新增 §1.1b 代码目录 README 约定;根 README 目录结构加入说明
2026-09-26 12:25:36 +08:00

55 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# test/ — 测试代码与主机端脚本
> 测试分两部分:**板端测试套件**(`.c/.h`,编入固件由 testTask 执行)与
> **主机端脚本**(`.py`,PC 侧驱动板子并判读结果)。
## 板端测试套件(编入固件)
| 文件 | 测试对象 |
|---|---|
| `test_config.c/h` | 测试任务配置(启用哪些套件) |
| `ch395f_test_task.c/h` + `ch395f_test.h` | CH395F 以太网(硬件层 + NET 层) |
| `gd5f_test_task.c/h` + `gd5f_test.h` | GD5F2GQ5UE SPI NAND 存储 |
| `sd2506_test_task.c/h` + `sd2506_test.h` | SD2506 RTC |
| `storage_test_task.c/h` + `storage_test.h` | 存储性能 |
| `net_test_task.c/h` + `net_latency_test.c/h` | 网络层 / 链路时延 |
| `nand_ftl_test.c`(如有) | FTL 层 |
## 主机端脚本(PC 侧)
| 脚本 | 作用 |
|---|---|
| `run_boot_test.py` | **`@test` 一键闭环**:开串口+清日志 → 烧录 → wait-idle → 校验(退出码 0=PASS) |
| `verify_log.py` | 日志标记校验(Required/Forbidden 标记) |
| `ch395f_socket_test.py` | Socket 通信测试 |
| `ftp_test.py` / `ftp_up_dl_test.py` / `ftp_speed_test.py` | FTP 功能 / 上传下载 / 速度 |
| `ftp_capture.py` / `ftp_regression.py` | FTP 抓包 / 回归 |
| `e02_probe.py` | E-02 专项探针 |
| `latency_peer.py` | 链路时延对端(PC peer) |
| `time_sync_server.py` | 时间同步推送服务 |
## 运行方式
```bash
# @test 一键闭环(推荐)
& '.venv\Scripts\python.exe' test/run_boot_test.py
# 单独校验日志
& '.venv\Scripts\python.exe' test/verify_log.py <日志文件>
```
退出码约定:`0`=PASS / `1`=FAIL / `2`=采集或烧录错误 / `3`=用法或预检错误。
## ⚠️ 注意
- 本目录**被 pre-commit 门禁排除**(测试代码不受 C 规范约束)
- 板端套件占用 RAM,启用前先核算预算(见 `docs/内存管理/`)
- 测试缓冲用**分 Phase 复用静态缓冲**(避免 `L6406E` 溢出)
## 相关文档
- `docs/测试说明/测试开发标准流程.md` — L0~L3 分层与门禁决策表
- `docs/测试说明/自动化测试流程.md` — `@test` 细节与失败模式
- 各模块测试指南:`docs/测试说明/*_Test_Guide.md`
- `docs/测试说明/链路延迟测试说明.md`