56 lines
4.5 KiB
Markdown
56 lines
4.5 KiB
Markdown
# 清库部署测试记录
|
||
|
||
## 范围与状态
|
||
|
||
日期:2026 年 9 月 16 日。仅测试本机 `D:\Desktop\Smail\yunx-test`,使用正式构建包和嵌入前端,未启用开发模式或停用本机恢复通道。
|
||
|
||
- [✓] 备份三份 SQLite 数据库和配置,校验备份后清空数据库对象,保留数据库文件。
|
||
- [✓] 完整构建、部署及部署指纹校验通过。
|
||
- [x] 首轮通过浏览器完成数据库、超级管理员、域名、DNS 展示和手动证书初始化;正式业务服务未就绪。
|
||
- [✓] 修复安装根地址认证探测失败,隔离浏览器直接访问根地址后自动进入中文安装向导。
|
||
- [✓] 修复 HTTP、HTTPS 全局实例在停止期间被清空而导致的崩溃;启动任务发布前同步准备实例,关闭已准备但尚未监听的实例也能正常退出。
|
||
- [✓] 全量自动回归与定向竞态检查通过。
|
||
- [!] 正式登录、刷新会话、普通用户及管理员邮件恢复、旧密码与旧会话失效实机验收未完成。
|
||
- [!] 超级管理员受保护本机恢复通道实机验收未完成。
|
||
|
||
## 实机证据
|
||
|
||
第一轮直接访问安装根地址出现“认证服务暂时不可用”。安装服务缺少 `/api/v1/user/info` 的初始化状态响应,前端未得到需要初始化的业务码。修复后,两个版本的认证探测路径均复用安装令牌和来源检查,只返回需要初始化状态,不执行账号或配置写入。
|
||
|
||
在全新隔离浏览器中访问 `http://127.0.0.1:5201/`,页面自动进入 `/#/setup?redirect=/`,显示中文六步安装向导,未再出现认证服务不可用。已查看页面快照和桌面截图;截图工具不允许写入当前工作区,因此截图仅保留在会话中,未声称落盘。
|
||
|
||
第一轮完成初始化后,Windows Named Pipe 在接受连接时返回 `Access is denied`,随后 HTTP 停止与启动并发导致空指针崩溃。最新构建重试相同权限环境后,保留明确权限错误并退出,未再发生空指针崩溃,监听端口已释放。
|
||
|
||
当前进程使用未提升的中等完整性令牌,管理员组仅用于拒绝检查。本机通道 ACL 仍限定 SYSTEM 与管理员,未放宽 ACL,未改成公开 HTTP 或 TCP 接口。
|
||
|
||
## 自动验证
|
||
|
||
- `go test ./listen/http_server ./res_init` 通过。
|
||
- `node test/run.mjs all` 通过:前端 166 项、部署 4 项以及全部后端包。部分未变更包使用 Go 测试缓存,不能据此认定受权限限制的 Windows IPC 用例已实机执行。
|
||
- `node test/run.mjs backend -race ./listen/http_server ./res_init` 通过。
|
||
- 新增覆盖:HTTP 和 HTTPS 停止先于监听、多个停止任务并发、HTTPS 准备失败清理 HTTP,以及安装状态接口的有效令牌、缺少令牌、来源限制、方法限制和初始化完成后拒绝访问。
|
||
- `git diff --check` 通过,仅存在仓库已有换行策略提示。
|
||
|
||
首次误将构建与回归并行调度,触发工作区锁且导致竞态测试读取不到正在移动的嵌入资源。已改用串行调度重跑并通过,此次失败不作为产品回归结论。
|
||
|
||
## 备份与日志
|
||
|
||
以下路径包含本地测试数据或配置,均为忽略的运行产物,不提交仓库:
|
||
|
||
- `test-log/live-20260916-1938/backup/`:清库前配置和数据库。
|
||
- `test-log/live-20260916-1938/reset-partition-config/`:归档的旧分区配置。
|
||
- `test-log/live-20260916-1938/before-retest/`:首轮初始化后、第二次清库前的配置和数据库。
|
||
- `test-log/live-20260916-1938/fresh.stderr.log`:原始崩溃证据。
|
||
- `test-log/live-20260916-1938/fixed.stdout.log` 与 `fixed.stderr.log`:修复后正式启动权限失败与退出证据。
|
||
- `test-log/live-20260916-1938/setup-retest.stdout.log`:最新安装向导进程日志。
|
||
- `test-log/run-2026-09-16T11-49-49-921Z-5240/`:成功的全量回归。
|
||
- `test-log/run-2026-09-16T11-51-52-136Z-29980/`:成功的竞态检查。
|
||
|
||
第二次清库后保留安装向导运行于 `127.0.0.1:5201`,数据库为空、配置未初始化,证书与业务密钥未删除。没有将旧账号备份恢复到当前运行库。
|
||
|
||
## 后续条件
|
||
|
||
后续正式流程需要符合项目部署要求的 Windows 权限环境或受支持的 Linux 部署环境。当前会话无法提供已提升的 Windows 令牌,不通过绕过权限限制推进验收。
|
||
|
||
在具备权限的环境中重新完成初始化并确认服务稳定后,再验证登录、会话刷新和邮箱恢复。邮件恢复还需要确定实际可接收验证码的外部测试邮箱;验证码收到、恢复页面打开或接口返回成功均不单独构成完整验收。
|