15 lines
2.0 KiB
Markdown
15 lines
2.0 KiB
Markdown
# 日志与上传扩展验收
|
||
|
||
2026-09-23,在 macOS arm64 / Go 1.27.1 开发环境完成;真实 S3 测试使用本机 Docker 内 Linux arm64 MinIO。此次未在业务服务器运行测试负载。
|
||
|
||
- 全库:`GOMAXPROCS=4 GO_OMNI_SCAFFOLD_INTEGRATION=1 go test -race -p=2 -count=1 -timeout=240s ./...`,37 个有测试的包通过,包含脚手架集成和全部网络适配器。
|
||
- 收尾新增业务错误堆栈、统一分片 MIME 签名及大小不符契约后,对 logx、middleware、storage 全部子包、config、app 重新运行 race,全部通过。
|
||
- `go vet ./...`、`go build ./...`、`git diff --check` 通过。
|
||
- 轮转:并发写入、备份份数、gzip 内容完整性、关闭后不重开;脱敏:嵌套 map/struct/group/LogValuer、循环截断、不修改调用者数据;HTTP:慢请求 WARN、5xx ERROR、panic 堆栈和已提交状态保持。
|
||
- 上传:Local 签名篡改/超时参数/重复参数/类型伪造/实际大小不符/失败不覆盖;S3/OSS SDK 协议及分片分页;R2 签名参数。
|
||
- 真实 MinIO:SDK/签名直传、两片合并、分页续传查询、重复取消、声明大小伪造、签名绑定大小和类型(篡改返回 403)、普通对象契约。测试环境最多一个容器,2 CPU、2 GiB、256 pids,network=none,无端口映射;退出后清理。
|
||
|
||
真实 S3 的运行命令、源码 SHA-256、镜像 ID、清理状态和日志摘要见 [uploadsLocal.json](uploadsLocal.json),原始输出见 [uploadsLocal.txt](uploadsLocal.txt)。可用 `python3 scripts/verifyUploads.py` 复现(提前准备对应 MinIO 镜像)。
|
||
|
||
边界:OSS/R2 未使用云账号实测;HTTP fixture 不验证厂商签名。MinIO 的通过结果不能代替它们的实网验收。本地存储目前提供受限签名上传,不提供持久分片会话。分片实际内容校验、业务授权、对象归属、上传配额和过期分片清理由业务/部署配置。未做生产负载、磁盘耗尽、日志平台采集或云存储故障恢复验收。
|