From bca2ef92cce54788440ad2b36851558c3ef70229 Mon Sep 17 00:00:00 2001 From: k2safe Date: Thu, 24 Sep 2026 15:06:48 +0800 Subject: [PATCH] test: record remote template and compatibility release acceptance --- performance/errorParamsAcceptance.md | 13 ++++++- performance/errorParamsCatalogRemote.json | 29 +++++++++++++++ .../errorParamsCompatibilityRemote.json | 31 ++++++++++++++++ performance/errorParamsRemote.json | 35 +++++++++++++++++++ 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 performance/errorParamsCatalogRemote.json create mode 100644 performance/errorParamsCompatibilityRemote.json create mode 100644 performance/errorParamsRemote.json diff --git a/performance/errorParamsAcceptance.md b/performance/errorParamsAcceptance.md index 102985b..be8a1df 100644 --- a/performance/errorParamsAcceptance.md +++ b/performance/errorParamsAcceptance.md @@ -24,4 +24,15 @@ 镜像、时间及资源限制见 [Redis 记录](errorParamsRedis.json)。临时容器已删除。未进行 Linux soak、代理长测或完整业务迁移验收。 -远程固定版本消费者验收在发布后追加;已发布标签保持不可变。 +## 远程固定版本验收 + +三条独立远程验收均通过,各自从全新 module cache 安装固定版本 CLI。生成消费者固定依赖远程版本,没有本地 replace。 + +- 发布标签:`v0.11.0-preview`;源码:`6e3f025aad4e498217ef4e7346725fc7d892940c`。 +- module 校验和:`h1:arCeNRbzXsP3/Ocic2zTmm6Cr2nUWR1AcdzlOtoCBfo=`,三条验收一致。 +- 提示模板消费者:参数顺序和类型、企业名称/100 与备注/500、生成函数/运行时一致、并发隔离、缺参/类型错误兜底、内部 cause 隔离、HTTP 200/data:null、403 覆盖、raw 输出、OpenAPI 具体示例和参数定义通过。耗时 16.91 秒,见 [模板远程记录](errorParamsRemote.json)。 +- 旧固定错误目录消费者:无参数调用、同码不同提示、HTTP 状态、未知错误兜底、中间件提前返回和重生成保护通过。耗时 16.30 秒,见 [目录兼容记录](errorParamsCatalogRemote.json)。 +- 迁移消费者:自定义标量、动态 JSON、上传、下载、原始请求体验签、请求体限制及重生成保护通过。耗时 16.61 秒,见 [迁移兼容记录](errorParamsCompatibilityRemote.json)。 +- 三条消费者的 race 测试通过,fixture 哈希与当前文件一致;临时项目和 module cache 已清理。 + +验收记录在 main 单独追加,已发布标签保持不可变。 diff --git a/performance/errorParamsCatalogRemote.json b/performance/errorParamsCatalogRemote.json new file mode 100644 index 0000000..a90d1b6 --- /dev/null +++ b/performance/errorParamsCatalogRemote.json @@ -0,0 +1,29 @@ +{ + "passed": true, + "frameworkVersion": "v0.11.0-preview", + "frameworkSum": "h1:arCeNRbzXsP3/Ocic2zTmm6Cr2nUWR1AcdzlOtoCBfo=", + "freshModuleCache": true, + "noLocalReplace": true, + "durationSeconds": 16.3, + "checks": [ + "remoteCLIInstall", + "errorCatalogValidation", + "generatedErrorConstructors", + "http200BusinessFailure", + "duplicatePublicCodeDistinctMessages", + "perErrorHTTPStatus", + "unknownErrorFallback", + "causeNotExposed", + "rawSuccessAndWrappedFailure", + "earlyMiddlewareCatalog", + "handwrittenFilesPreserved", + "generatedConsumerRaceTests", + "fixedRemoteModuleChecksum" + ], + "sourceHashes": { + "scripts/verifyErrorCatalogRelease.py": "53b00d6069296903ba8392c68dfd6d9ae6d8c83e9b82555e55e8be0ec0f2b828", + "cmd/go-omni/apigen/errorCatalog_test.go": "0ee4365dc46dfb4ac4a3fafd2f2f0196a1e10db777ff9d931ea8f9fae4dda384", + "examples/contracts/errors.api": "bfbe0e81c6d0f87981f511f21d4d3e138cdf9287c5f6615856ac04a825b14435", + "cmd/go-omni/apigen/testdata/errorCatalog/consumer_test.go": "804cee8cdbca5fe05e6340b8ac21e5bbb7d2a5c38fa6b06b121fc745aaea62ac" + } +} diff --git a/performance/errorParamsCompatibilityRemote.json b/performance/errorParamsCompatibilityRemote.json new file mode 100644 index 0000000..4a4fbdd --- /dev/null +++ b/performance/errorParamsCompatibilityRemote.json @@ -0,0 +1,31 @@ +{ + "passed": true, + "frameworkVersion": "v0.11.0-preview", + "frameworkSum": "h1:arCeNRbzXsP3/Ocic2zTmm6Cr2nUWR1AcdzlOtoCBfo=", + "freshModuleCache": true, + "noLocalReplace": true, + "durationSeconds": 16.61, + "checks": [ + "remoteCLIInstall", + "scalarContractValidation", + "manualProjectGeneration", + "int64MaxValueOnWire", + "dynamicJSON", + "rawBodySignature", + "routeBodyLimits", + "multipartTempCleanup", + "unwrappedDownloads", + "handwrittenFilesPreserved", + "generatedConsumerRaceTests", + "fixedRemoteModuleChecksum" + ], + "sourceHashes": { + "scripts/verifyCompatibilityRelease.py": "90e487d3203ed4eb4bc721da8086356413345b3e05193e473250a834aeb8d293", + "cmd/go-omni/apigen/compatibility_test.go": "98cf5fbe6cb6413c12f709806d385726f3dec1468575f76967786de4707667ba", + "examples/contracts/compatibility.api": "3ede909e7f60386012e55c916a8e4887dd08562e7f023665f663288c809873d4", + "cmd/go-omni/apigen/testdata/compatibility/consumer_test.go": "0a99ffd6a5cc16d47ae8208d9140c8d6afd9c19106fac8e5e61096cb90d8c463", + "cmd/go-omni/apigen/testdata/compatibility/hooks.go": "435baf37c7f8adffd18d4be0353a791124e0bc5dcb79abdcc345276b6f9867f4", + "cmd/go-omni/apigen/testdata/compatibility/echo.go": "9e13cb18a0951974e723a1fd915c0f4610d823c95eadb752c3d1cd75c44fa293", + "cmd/go-omni/apigen/testdata/compatibility/download.go": "e7f4bcdb34c90ec63fdab1f3c4e524964ac153944352d8a9053a9f19b74030fd" + } +} diff --git a/performance/errorParamsRemote.json b/performance/errorParamsRemote.json new file mode 100644 index 0000000..8decdfe --- /dev/null +++ b/performance/errorParamsRemote.json @@ -0,0 +1,35 @@ +{ + "passed": true, + "frameworkVersion": "v0.11.0-preview", + "frameworkSum": "h1:arCeNRbzXsP3/Ocic2zTmm6Cr2nUWR1AcdzlOtoCBfo=", + "freshModuleCache": true, + "noLocalReplace": true, + "durationSeconds": 16.91, + "checks": [ + "remoteCLIInstall", + "errorCatalogValidation", + "generatedErrorConstructors", + "http200BusinessFailure", + "openAPIConcreteExampleAndParameters", + "typedParameterOrder", + "companyAndRemarkMessages", + "runtimeAndGeneratedAgreement", + "missingAndWrongParameterFallback", + "concurrentIsolation", + "fixedErrorCompatibility", + "perErrorHTTPStatus", + "causeNotExposed", + "rawSuccessAndWrappedFailure", + "earlyMiddlewareCatalog", + "handwrittenFilesPreserved", + "generatedConsumerRaceTests", + "fixedRemoteModuleChecksum" + ], + "sourceHashes": { + "scripts/verifyErrorParamsRelease.py": "4e9ed06a1e86a701da4eaed813ef5a2456ccfb6e8bdf88f657cb7abfede9d3c3", + "cmd/go-omni/apigen/errorParams_test.go": "0e6f79d3dec842c07cdac9d1e247f5593f189a0984ed25be7b0f9b6da6cba47d", + "cmd/go-omni/apigen/errorCatalog_test.go": "0ee4365dc46dfb4ac4a3fafd2f2f0196a1e10db777ff9d931ea8f9fae4dda384", + "examples/contracts/errorParams.api": "d6d09d60eb8079283e6622983e62a8a8c2ad2e070843e99bae6f8c8da491a44c", + "cmd/go-omni/apigen/testdata/errorParams/consumer_test.go": "01d0826cbf85126ad3c6d25e45d881655385931c6f97f242818f4d49c3416f4a" + } +}