29 lines
1.4 KiB
Markdown
29 lines
1.4 KiB
Markdown
# 独立测试目录与许可证边界
|
||
|
||
## 决策
|
||
|
||
所有 ERT 套件、README doctest 与乱序测试运行器统一放在 `tests/`。基准脚本仍在
|
||
仓库根目录,因为它是独立的性能工具,不属于测试入口。Makefile 同时把源码根目录
|
||
和 `tests/` 加入加载路径,继续提供原有的 `test`、`test-shuffled`、`doctest` 与
|
||
`compile-all` 命令。
|
||
|
||
项目继续采用 `GPL-3.0-or-later`。仓库根目录保留完整、未经修改的 GPLv3 正文,
|
||
README 明确标注 SPDX 许可证表达式并链接到该正文。
|
||
|
||
## 原因
|
||
|
||
测试文件与可发布模块混放会模糊安装边界,也让根目录的模块清单难以快速阅读。
|
||
按职责集中测试后,发布源码、测试支持代码和性能工具各有明确位置,同时无需新增
|
||
测试框架或包装脚本。
|
||
|
||
许可证不能只依赖源码头部的简写声明;分发仓库需要同时提供完整条款。保留标准
|
||
GPLv3 正文并在用户文档中明确 `GPL-3.0-or-later`,可以让机器识别信息与法律文本
|
||
保持一致。
|
||
|
||
## 被放弃的方案
|
||
|
||
- 只移动 `*-tests.el`、把 doctest 和乱序运行器留在根目录:测试边界仍然分散。
|
||
- 把基准脚本也移入 `tests/`:会把性能测量与正确性测试混为一谈。
|
||
- 为新目录增加额外 Elisp 加载器:Makefile 已经能直接枚举并加载测试文件,新增
|
||
包装层没有净收益。
|