初始化奇妙小屏幕控制器项目

This commit is contained in:
2026-09-08 22:56:52 +08:00
commit 8d368de3b5
491 changed files with 67678 additions and 0 deletions
@@ -0,0 +1,45 @@
# 本机持久测试环境
本目录保存奇妙小屏幕控制器的本机测试工具、可复用虚拟环境和人工保留的 mock 数据。命令从工作区根目录执行,脚本会自行定位中文路径下的源码目录。
## 常用命令
```powershell
python ".\测试相关资料\如何测试\本机测试环境\local_test.py" setup
python ".\测试相关资料\如何测试\本机测试环境\local_test.py" test --suite all
python ".\测试相关资料\如何测试\本机测试环境\local_test.py" serve --port 8765
python ".\测试相关资料\如何测试\本机测试环境\local_test.py" clean
```
测试套件:
- `config`:配置/模板 schema、耐久写入、路径解析和旧数据根迁移 pytest。
- `display`:显示服务、渲染和帧变换 pytest。
- `api`:REST、WebSocket 和静态资源 pytest。
- `python`:全部 pytest。
- `frontend`:颜色/场景 Node 测试及全部静态 JavaScript 语法检查。
- `all`:`python` 与 `frontend`。
`test` 和 `serve` 会自动调用 `setup`。首次运行或两个 requirements 文件变化时才从官方 PyPI 安装/更新依赖;未变化时只运行快速的 `pip check`。
## 保留与清理边界
`serve` 显式使用:
- 持久数据根:`data/`
- 运行期数据根:`data/runtime/`
这两个目录用于本机隔离,不替代生产环境的 `/var/lib/matrix-screen-controller` 和 `/run/matrix-screen-controller`。自动化用例必须使用 `work/` 下或 pytest 提供的隔离临时目录,不得修改人工保留的数据。
长期保留:
- `.venv/` 及其中的 `.requirements.sha256`
- `data/config.json`
- `data/templates/` 中人工保存的模板及有效缩略图
- `data/animations/` 中人工保存的动图、帧及有效缩略图
- `data/` 中以后按 `CONFIG-DATA-LIFECYCLE` 登记的其他持久测试数据
- 本目录的脚本、README 和 `.gitignore`
`clean` 只删除可再生产物:`work/`、整个 `data/runtime/`、源码缓存、覆盖率文件和已知浏览器测试产物。它不会清空 `data/`、扫描 `%TEMP%` 或整盘,也不会自动删除损坏的 `.venv`。测试产生的配置/模板反例必须留在隔离临时目录并由测试框架回收,不能把损坏样例或多代备份积累在本目录。
完整的分层测试选择、远端冒烟和实屏档位见上一级的《核桃派点阵屏控制服务测试流程.md》。