# 独立测试目录与许可证边界 ## 决策 所有 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 已经能直接枚举并加载测试文件,新增 包装层没有净收益。