fix: address CUPS runtime review findings and add regression tests

This commit is contained in:
Codex
2026-09-11 13:19:37 +08:00
parent 6051b05676
commit 5f49605d24
7 changed files with 490 additions and 38 deletions
+23
View File
@@ -181,7 +181,30 @@ lpinfo -v | grep usb
- Gitea: https://git.workyai.cn/237899745/S905L3A
- Gitee: https://gitee.com/yu-yon/S905L3A(镜像)
## 回归测试
需要 Python 3.9+、Flask 和 Bash。在仓库根目录运行:
```bash
python3 -B -m unittest discover -s tests -v
```
测试会模拟系统命令和驱动安装,不会修改真实网络、安装驱动或重启服务。
覆盖守护锁释放与连续失败恢复、多网卡地址选择、APT 等待/超时、PDF 备用驱动、DEB 架构筛选和基础访问控制。
通过这些测试不等于通过实机验证;USB 打印、AirPrint、NetworkManager/netplan 切换仍需在目标设备验证。
## 已部署设备升级提示
更新 Git 仓库不会自动更新 `/opt` 下正在运行的文件。已安装设备需要部署更新后的
`watchdog/network-watchdog.sh``watchdog/print-watchdog.sh``/opt/cups-watchdog/`
以及 `cups-driver-manager/driver_manager.py``/opt/cups-driver-manager/`,保留原有配置和账号密码。
旧版守护脚本可能在 `/run/cups-watchdog/` 留下 `network.lock``print.lock` 目录。
部署新文件后重启设备一次,可清除 `/run` 中的旧锁并加载新代码。
不要在守护脚本仍运行时直接删除锁目录,以免破坏并发互斥。
## 更新日志
- 2026-09-11: 修复守护锁、多网卡静态 IP、APT 等待、PDF 备用驱动和多架构 DEB 安装问题,添加隔离回归测试。
- 2024-12-01: 添加卸载功能、优化打印速度
- 2024-11-30: 修复 CSS 兼容 CUPS 2.4.7、添加 PDF 打印机选项