Skip to content

重构测试套件并优化 CI 配置#41

Merged
F18-Maverick merged 12 commits into
ServSpy-Lab:mainfrom
sparklelcm333:main
May 29, 2026
Merged

重构测试套件并优化 CI 配置#41
F18-Maverick merged 12 commits into
ServSpy-Lab:mainfrom
sparklelcm333:main

Conversation

@sparklelcm333

Copy link
Copy Markdown
Contributor

测试

  • 新增 conftest.py,集中管理 fixture 与资源清理
  • 新增 test_command_handlers.py、test_extension_TCP_setup.py
  • 重写 test_TCP_client.py、test_TCP_server.py 为标准单元测试
  • 删除旧的手动交互测试脚本

CI

  • Python 静态检查从 flake8/pylint/mypy/black 迁移至 Ruff + ty
  • Test 作业覆盖 Python 3.11 ~ 3.14
  • 暂时禁用 C_test(缺少 CMakeLists.txt)

其他

  • 修正 .gitignore

- 添加 pyproject.toml,声明项目元数据和 dev 依赖 (pytest)
- 配置 ruff、ty 和 pytest 工具选项
- 删除旧的 requirements.txt"
- 使用 mkdir -p 避免目录已存在时报错
- 改用 ctest 运行 C 测试
- 升级 actions/checkout 版本以保持工具链更新
- 移除旧的 Pylint 矩阵作业
- 新增 Lint 作业,使用 ruff-action 进行 lint 和格式检查
- 新增 TypeCheck 作业,使用 uv + ty 进行类型检查
- 新增 Test 作业,在 Python 3.11~3.14 矩阵下执行 pytest
- 所有 Python 相关步骤统一使用 actions/checkout@v6.0.2 和 astral-sh 工具链
- 去掉 .gitignore 中错误的点
- 统一使用 */__pycache__/ 忽略所有 __pycache__ 目录
新增 conftest.py 集中管理 fixture 与资源清理,替换手动脚本为
可自动收集的测试函数,使用 monkeypatch 隔离外部依赖。
@F18-Ray

F18-Ray commented May 25, 2026

Copy link
Copy Markdown
Contributor

挺好,感谢贡献。但是其实我建议后面的PR可以在你自己的fork仓库里面新拉分支,最好不要从你的main分支中提交PR。比如说你现在是在你的fork仓库中的main分支请求合并到我们仓库的main分支中,但是最好是再从你自己的仓库中再拉一个分支,把更改从你新拉的分支中提交进我们的主分支。否则后续会很乱,特别是在多人维护的项目中。就是在合并之后记得在你自己的repo中删掉新建的分支。

@F18-Ray

F18-Ray commented May 25, 2026

Copy link
Copy Markdown
Contributor

我先看一下你修改的内容,等我周末登主号再合并。

@F18-Ray

F18-Ray commented May 26, 2026

Copy link
Copy Markdown
Contributor

你把我提交给你的PR合并一下,我改了一点东西

@F18-Ray

F18-Ray commented May 26, 2026

Copy link
Copy Markdown
Contributor

还有一点就是项目的支持python版本应该是从python3.10 ~ python3.14。本来也是想支持python3.9的,但是3.9在2025.10.31停止支持,所以现在应该是从3.10到3.14

@sparklelcm333

Copy link
Copy Markdown
Contributor Author

建议后面的PR可以在你自己的fork仓库里面新拉分支,这个我当时忘记了,以后会记得,下面是可能会用到的命令
uv sync --group dev # 安装依赖
uvx ruff check # lint 检查
uvx ruff format --check # 格式检查
uvx ty check # 类型检查
uv run pytest # 运行测试
我计划单独提个pr修复代码风格问题,并添加ruff或者ty的配置项,或者直接把ruff和ty添加进dev依赖

@F18-Ray

F18-Ray commented May 26, 2026

Copy link
Copy Markdown
Contributor

话说这些命令应该可以直接写在ci的测试文件里面的吧。

@sparklelcm333

Copy link
Copy Markdown
Contributor Author

ci有配置吧,这是本地用的

@F18-Ray

F18-Ray commented May 26, 2026

Copy link
Copy Markdown
Contributor

行,我知道了

@F18-Maverick F18-Maverick merged commit 74899fd into ServSpy-Lab:main May 29, 2026
@F18-Maverick

Copy link
Copy Markdown
Contributor

感谢 @sparklelcm333 的贡献!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants