From 467c890363c46b041e2facebe4bbd7532672225a Mon Sep 17 00:00:00 2001 From: k2safe Date: Wed, 23 Sep 2026 13:02:46 +0800 Subject: [PATCH] docs: record unified transport startup and shutdown acceptance --- README.md | 3 +- ROADMAP.md | 1 + performance/transportStartup.md | 55 ++ .../transportStartupBeforeFixLinux.json | 69 ++ .../transportStartupBeforeFixLinux.txt | 196 ++++++ performance/transportStartupLinux.json | 81 +++ performance/transportStartupLinux.txt | 646 ++++++++++++++++++ 7 files changed, 1050 insertions(+), 1 deletion(-) create mode 100644 performance/transportStartup.md create mode 100644 performance/transportStartupBeforeFixLinux.json create mode 100644 performance/transportStartupBeforeFixLinux.txt create mode 100644 performance/transportStartupLinux.json create mode 100644 performance/transportStartupLinux.txt diff --git a/README.md b/README.md index a4cd342..b8de915 100644 --- a/README.md +++ b/README.md @@ -199,8 +199,9 @@ HTTP/2 仍为实验适配器,尚未合并到 native 多协议监听器。 代码配置可写成 `omni.New(omni.WithTransport(omni.TransportNative), omni.WithTLS(certFile, keyFile))`。 `ServeContext(ctx, listener)` 使用相同配置并接管已有 listener;失败或退出时也会关闭它。 -`RunWith(ctx, runner)` 保留自定义网络层入口,由 runner 自己管理 TLS 和网络参数;连接/请求上限等适配器专属选项仍通过这个入口设置。 +`RunWith(ctx, runner)` 保留自定义网络层入口,由 runner 自己管理 TLS、超时和网络参数;连接/请求上限等适配器专属选项仍通过这个入口设置。 `NewServer` 仅创建标准库明文服务器,配置选择应用于 `Run`、`RunContext` 和 `ServeContext`。 +三种适配器的配置、真实 TLS 业务和关闭行为已通过 Linux 全量 race 及 10 次重复回归,见 [统一启动验收](performance/transportStartup.md)。 `App` 同时实现标准 `http.Handler`。`Run` 监听 `SIGINT` / `SIGTERM`;`RunContext` 则由调用方的 context 控制退出,生成项目已使用 `signal.NotifyContext` 接好信号。 退出时先停止接收新请求,等待活跃请求完成,再执行资源清理。超过 `ShutdownTimeout` 时强制关闭连接、取消请求 context,并返回超时错误。业务代码应响应 context 取消;框架无法强制结束忽略取消的业务 goroutine。数据库连接池由 `database.Open` 创建,在服务退出时调用 `Close`。 diff --git a/ROADMAP.md b/ROADMAP.md index d135f5a..35d8eea 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -61,6 +61,7 @@ - `scripts/verifyHTTP2Proxy.py` 顺序运行受限编译容器和禁用外部网络的测试容器;总时限、SIGTERM、SIGHUP 清理已在 Linux 实测,原有 7 个业务容器仍运行。当前结果不覆盖 Nginx master/worker 重载或 Cloudflare 实网部署。 - 已接入 `omni.New` 的统一 transport / TLS / shutdownTimeout 配置:默认 nethttp,可显式选择 native 或实验 HTTP/2;证书在监听前加载,HTTP/2 配置必须启用 TLS。`RunWith` 继续支持自定义网络层,业务不依赖具体适配器。 - 参考业务已增加五种真实 TCP/TLS 组合的 CRUD、认证权限、错误响应、requestId 日志与协议协商测试;三种适配器共用排空和超时退出测试。修复 native 退出时过早取消在途请求,并使关闭超时错误返回调用方。下一步仍为业务环境试用、native 多协议监听器设计与接入回归,HTTP/2 保持实验状态。 +- 统一启动已通过 Linux 全仓库 race/vet/build 及关键场景 10 次重复验证;修复了重复测试发现的 native 活动连接转为空闲时错过关闭的竞态,并保证不响应取消的 Handler 不阻塞关闭超时返回。脚手架独立项目的 native SIGINT/SIGTERM 验证通过;失败复现与最终验收证据见 [统一启动验收](performance/transportStartup.md)。 - 已用 16 个并发 worker 完成 3,200 次建连/断连 race 验收;MaxConnections 满载拒绝、槽位释放和 TLS 连接上限均已覆盖。 - 新增 `scripts/verifyLinux.py`,固定在 Go 1.25 Linux 容器内运行 race、vet、build 和可选 TLS/非 TLS perfcheck;perfcheck 记录堆、goroutine、连接和 Linux 文件描述符。 - Linux/arm64 已完成 30 秒、128 并发、512 空闲连接的 TLS 与非 TLS 持续回归,报告见 `performance/linuxSoak.json` 和 `performance/linuxSoakTLS.json`,均为 0 错误且连接、goroutine、FD 回收正常。 diff --git a/performance/transportStartup.md b/performance/transportStartup.md new file mode 100644 index 0000000..e5220b4 --- /dev/null +++ b/performance/transportStartup.md @@ -0,0 +1,55 @@ +# 统一启动配置与业务接入验收 + +2026-09-23,代码提交 `be620d2243ff85288f0afc44689c2e46abd714ec`。 + +`omni.New(omni.WithConfig(settings))` 现在通过 `Run`、`RunContext` 或 `ServeContext` +统一选择 nethttp、native 或实验 HTTP/2,加载 TLS 证书,并应用退出等待时间。 +默认仍是 nethttp;HTTP/2 必须显式选择并配置 TLS,native 仍只支持 HTTP/1.1。 +`RunWith` 继续支持自定义 Runner,由 Runner 管理自己的 TLS、超时及其他网络参数。 + +## 验证范围 + +| 场景 | 检查 | +| --- | --- | +| nethttp / native 明文;nethttp / native / HTTP2 TLS | 参考业务通过真实 TCP 执行 CRUD、分页、认证权限、参数错误、冲突和 404;校验响应及日志 requestId | +| 三种 TLS 启动 | 使用临时受信任证书,验证证书链及 ALPN;nethttp、HTTP2 为 h2,native 为 http/1.1 | +| 配置错误 | 未知适配器、HTTP2 缺 TLS、证书不配对、证书无法读取,在监听前失败且只清理一次 | +| 已有 listener / 自定义 Runner | 配置失败或取消时关闭 listener;自定义 Runner 入口继续独立于内置适配器选择 | +| 正常关闭 | 停止监听后,在途请求仍能成功完成,然后清理资源 | +| 关闭超时 | 取消请求、关闭连接并返回超时;不响应取消的 Handler 不会无限阻塞框架返回 | +| native 响应完成与关闭并发 | 在响应已经选择 Keep-Alive 后暂停写入,再触发关闭;响应写完后连接立即回收,退出无超时 | + +框架无法强制终止不响应取消的业务 goroutine。业务仍需处理 context 取消;每个 native Server +只用于一次服务生命周期,重启时创建新实例,以免超时后的旧 Handler 与新实例混用。 + +## Linux 结果 + +Go 1.25.14、Linux amd64、`golang:1.25` 镜像的实际 image ID、完整命令与代码提交 +记录于 [通过报告](transportStartupLinux.json),[原始输出](transportStartupLinux.txt) 的 SHA-256 已核对。 + +- 全仓库 `go test -race -p 1 -count=1 -timeout=3m ./...`、`go vet -p 1 ./...`、`go build -p 1 ./...` 通过。 +- 上表的配置、TLS 业务、退出和 native 并发回收测试重复 10 次,全部通过。 +- 单个验证容器限制为 2 核、2 GiB 内存、同额 memory-swap(无额外 swap)、256 个进程/线程,GOMAXPROCS=2。 +- Docker inspect 已确认限制生效,代码只读挂载,没有发布端口;测试流量仅访问容器内 loopback。 +- 总时限 480 秒;完成后验证容器已删除,之前运行的 7 个业务容器仍在运行。 + +首轮重复测试曾在 native 排空阶段失败,记录保留在 +[修复前报告](transportStartupBeforeFixLinux.json) 和 [修复前输出](transportStartupBeforeFixLinux.txt)。 +原因是响应写入和关闭并发时,连接转为空闲后可能再次等待 Keep-Alive 请求,直到关闭超时。 +新增暂停响应写入的确定性测试在修复前失败;修复将“转为空闲”和“判断是否关闭”置于同一临界区, +最终报告包含修复后的重复回归。首轮失败不计作通过证据。 + +## 本地与脚手架 + +macOS arm64、Go 1.27.1 的全仓库 race、vet、build 通过;app/native 包额外重复 10 次 race 检查通过。 +实际生成的独立业务模块通过以下入口验证 native 启动、HTTP 请求、SIGINT / SIGTERM、退出码 0、 +端口关闭,以及 `omni.New().Run` 的资源清理回调: + +```sh +go build -o /tmp/go-omni-startup-cli ./cmd/go-omni +python3 scripts/verifyScaffold.py --cli /tmp/go-omni-startup-cli --framework-dir . --transport native +``` + +独立模块通过本地 replace 引用被测源码;这不表示旧的 `v0.6.0-preview` 发布标签已包含新增配置。 +本轮是功能、并发和生命周期验收,没有重新进行 30 分钟长测,也不代表 native 已合并 HTTP/2 +或已经在真实业务环境发布。下一步是业务试用及 native 多协议监听器的独立设计与验收。 diff --git a/performance/transportStartupBeforeFixLinux.json b/performance/transportStartupBeforeFixLinux.json new file mode 100644 index 0000000..4d9cbe4 --- /dev/null +++ b/performance/transportStartupBeforeFixLinux.json @@ -0,0 +1,69 @@ +{ + "startedAt": "2026-09-23T04:51:00.973573+00:00", + "commit": "8e18528fc2355354e63e16fbb1742bd5fdce1789", + "imageId": "sha256:699337d620559a59b4a2bb298ad59611e535d2ee755a34cf2d2a98f37578dc80", + "command": [ + "docker", + "run", + "--rm", + "--name", + "go-omni-startup-ea6d51f9c46e", + "--cpus", + "2", + "--memory", + "2048m", + "--memory-swap", + "2048m", + "--pids-limit", + "256", + "--log-opt", + "max-size=10m", + "--log-opt", + "max-file=1", + "-v", + "/root/go-omni-validation:/workspace:ro", + "-w", + "/workspace", + "-e", + "GOWORK=off", + "-e", + "GOMAXPROCS=2", + "-e", + "GOPROXY=https://goproxy.cn,direct", + "golang:1.25", + "sh", + "-c", + "go version && go test -race -p 1 -count=1 -timeout=3m ./... && go vet -p 1 ./... && go build -p 1 ./... && go test -race -p 1 -count=3 -timeout=90s -v ./app ./examples/reference -run 'Test(Configured|RunContextConfigured|RunWithRemains|BusinessConfigured)'" + ], + "limits": { + "cpus": 2, + "memoryBytes": 2147483648, + "memorySwapBytes": 2147483648, + "pids": 256 + }, + "wallTimeoutSeconds": 480, + "businessContainersBefore": [ + "etax-mysql-test-mysql-1", + "etax-api-test-api-1", + "etax-event-worker-test-event-worker-1", + "etax-event-scheduler-test-event-scheduler-1", + "etax-id-test-id-service-a-1", + "etax-id-test-id-service-b-1", + "etax-clamav-test-clamav-1" + ], + "publishedPorts": [], + "businessContainersAfter": [ + "etax-mysql-test-mysql-1", + "etax-api-test-api-1", + "etax-event-worker-test-event-worker-1", + "etax-event-scheduler-test-event-scheduler-1", + "etax-id-test-id-service-a-1", + "etax-id-test-id-service-b-1", + "etax-clamav-test-clamav-1" + ], + "businessContainersPreserved": true, + "validationContainerRemoved": true, + "finishedAt": "2026-09-23T04:53:23.164450+00:00", + "exitCode": 1, + "logSha256": "2ae3f967d3c5fed1c3534deccec988b9a7d99484cfa5da5851ebec9d6178437f" +} diff --git a/performance/transportStartupBeforeFixLinux.txt b/performance/transportStartupBeforeFixLinux.txt new file mode 100644 index 0000000..c337ace --- /dev/null +++ b/performance/transportStartupBeforeFixLinux.txt @@ -0,0 +1,196 @@ +go version go1.25.14 linux/amd64 +go: downloading github.com/go-sql-driver/mysql v1.9.3 +go: downloading golang.org/x/net v0.25.0 +go: downloading github.com/go-playground/validator/v10 v10.20.0 +go: downloading filippo.io/edwards25519 v1.1.0 +go: downloading github.com/gabriel-vasile/mimetype v1.4.3 +go: downloading github.com/go-playground/universal-translator v0.18.1 +go: downloading github.com/leodido/go-urn v1.4.0 +go: downloading golang.org/x/crypto v0.23.0 +go: downloading golang.org/x/text v0.15.0 +go: downloading github.com/go-playground/locales v0.14.1 +ok git.yuntuo.hk/k2safe/go-omni 1.086s +ok git.yuntuo.hk/k2safe/go-omni/app 1.395s +ok git.yuntuo.hk/k2safe/go-omni/auth 1.037s +ok git.yuntuo.hk/k2safe/go-omni/cmd/go-omni 1.127s +ok git.yuntuo.hk/k2safe/go-omni/cmd/go-omni/scaffold 1.133s +ok git.yuntuo.hk/k2safe/go-omni/config 1.035s +ok git.yuntuo.hk/k2safe/go-omni/database 1.013s +? git.yuntuo.hk/k2safe/go-omni/errors [no test files] +? git.yuntuo.hk/k2safe/go-omni/examples/basic [no test files] +ok git.yuntuo.hk/k2safe/go-omni/examples/reference 1.151s +? git.yuntuo.hk/k2safe/go-omni/examples/reference/handler [no test files] +? git.yuntuo.hk/k2safe/go-omni/examples/reference/model [no test files] +ok git.yuntuo.hk/k2safe/go-omni/examples/reference/repository 1.013s +? git.yuntuo.hk/k2safe/go-omni/examples/reference/service [no test files] +ok git.yuntuo.hk/k2safe/go-omni/health 1.039s +ok git.yuntuo.hk/k2safe/go-omni/httpx 1.033s +ok git.yuntuo.hk/k2safe/go-omni/internal/perfcheck 1.047s +? git.yuntuo.hk/k2safe/go-omni/internal/testutil [no test files] +ok git.yuntuo.hk/k2safe/go-omni/logx 1.013s +ok git.yuntuo.hk/k2safe/go-omni/metrics 1.036s +ok git.yuntuo.hk/k2safe/go-omni/middleware 1.036s +? git.yuntuo.hk/k2safe/go-omni/response [no test files] +ok git.yuntuo.hk/k2safe/go-omni/transport 1.053s +ok git.yuntuo.hk/k2safe/go-omni/transport/http2 12.452s +? git.yuntuo.hk/k2safe/go-omni/transport/internal/routing [no test files] +ok git.yuntuo.hk/k2safe/go-omni/transport/native 2.053s +ok git.yuntuo.hk/k2safe/go-omni/transport/nethttp 1.034s +? git.yuntuo.hk/k2safe/go-omni/transport/transporttest [no test files] +? git.yuntuo.hk/k2safe/go-omni/validate [no test files] +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain + transport_test.go:98: context deadline exceeded +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- FAIL: TestConfiguredTransportLifecycle (3.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- FAIL: TestConfiguredTransportLifecycle/native/drain (3.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +FAIL +FAIL git.yuntuo.hk/k2safe/go-omni/app 4.025s +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.09s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.02s) + --- PASS: TestBusinessConfiguredTransports/native (0.02s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.09s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.08s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +PASS +ok git.yuntuo.hk/k2safe/go-omni/examples/reference 1.297s +FAIL diff --git a/performance/transportStartupLinux.json b/performance/transportStartupLinux.json new file mode 100644 index 0000000..14ff211 --- /dev/null +++ b/performance/transportStartupLinux.json @@ -0,0 +1,81 @@ +{ + "startedAt": "2026-09-23T04:57:45.377028+00:00", + "commit": "be620d2243ff85288f0afc44689c2e46abd714ec", + "imageId": "sha256:699337d620559a59b4a2bb298ad59611e535d2ee755a34cf2d2a98f37578dc80", + "command": [ + "docker", + "run", + "--rm", + "--name", + "go-omni-startup-4da776773736", + "--cpus", + "2", + "--memory", + "2048m", + "--memory-swap", + "2048m", + "--pids-limit", + "256", + "--log-opt", + "max-size=10m", + "--log-opt", + "max-file=1", + "-v", + "/root/go-omni-validation:/workspace:ro", + "-w", + "/workspace", + "-e", + "GOWORK=off", + "-e", + "GOMAXPROCS=2", + "-e", + "GOPROXY=https://goproxy.cn,direct", + "golang:1.25", + "sh", + "-c", + "go version && go test -race -p 1 -count=1 -timeout=3m ./... && go vet -p 1 ./... && go build -p 1 ./... && go test -race -p 1 -count=10 -timeout=120s -v ./app ./examples/reference ./transport/native -run 'Test(Configured|RunContextConfigured|RunWithRemains|BusinessConfigured|ShutdownDuringResponse)'" + ], + "limits": { + "cpus": 2, + "memoryBytes": 2147483648, + "memorySwapBytes": 2147483648, + "pids": 256 + }, + "wallTimeoutSeconds": 480, + "businessContainersBefore": [ + "etax-mysql-test-mysql-1", + "etax-api-test-api-1", + "etax-event-worker-test-event-worker-1", + "etax-event-scheduler-test-event-scheduler-1", + "etax-id-test-id-service-a-1", + "etax-id-test-id-service-b-1", + "etax-clamav-test-clamav-1" + ], + "publishedPorts": [], + "businessContainersAfter": [ + "etax-mysql-test-mysql-1", + "etax-api-test-api-1", + "etax-event-worker-test-event-worker-1", + "etax-event-scheduler-test-event-scheduler-1", + "etax-id-test-id-service-a-1", + "etax-id-test-id-service-b-1", + "etax-clamav-test-clamav-1" + ], + "businessContainersPreserved": true, + "validationContainerRemoved": true, + "finishedAt": "2026-09-23T05:00:13.275484+00:00", + "exitCode": 0, + "logSha256": "41ea889d2df841c5670e0526c1931a727c741fd42a2c51e47ac34302b1ca5434", + "observedLimits": { + "nanoCpus": 2000000000, + "memoryBytes": 2147483648, + "memorySwapBytes": 2147483648, + "pids": 256, + "portBindings": {}, + "binds": [ + "/root/go-omni-validation:/workspace:ro" + ] + }, + "scope": "Full repository race tests, vet and build; ten repeats of configured startup, TLS business, graceful drain, forced shutdown and native idle-transition regression.", + "previousFailure": "transportStartupBeforeFixLinux.json" +} diff --git a/performance/transportStartupLinux.txt b/performance/transportStartupLinux.txt new file mode 100644 index 0000000..c188f00 --- /dev/null +++ b/performance/transportStartupLinux.txt @@ -0,0 +1,646 @@ +go version go1.25.14 linux/amd64 +go: downloading github.com/go-sql-driver/mysql v1.9.3 +go: downloading golang.org/x/net v0.25.0 +go: downloading github.com/go-playground/validator/v10 v10.20.0 +go: downloading filippo.io/edwards25519 v1.1.0 +go: downloading github.com/gabriel-vasile/mimetype v1.4.3 +go: downloading github.com/go-playground/universal-translator v0.18.1 +go: downloading github.com/leodido/go-urn v1.4.0 +go: downloading golang.org/x/crypto v0.23.0 +go: downloading golang.org/x/text v0.15.0 +go: downloading github.com/go-playground/locales v0.14.1 +ok git.yuntuo.hk/k2safe/go-omni 1.086s +ok git.yuntuo.hk/k2safe/go-omni/app 1.653s +ok git.yuntuo.hk/k2safe/go-omni/auth 1.036s +ok git.yuntuo.hk/k2safe/go-omni/cmd/go-omni 1.124s +ok git.yuntuo.hk/k2safe/go-omni/cmd/go-omni/scaffold 1.133s +ok git.yuntuo.hk/k2safe/go-omni/config 1.036s +ok git.yuntuo.hk/k2safe/go-omni/database 1.013s +? git.yuntuo.hk/k2safe/go-omni/errors [no test files] +? git.yuntuo.hk/k2safe/go-omni/examples/basic [no test files] +ok git.yuntuo.hk/k2safe/go-omni/examples/reference 1.156s +? git.yuntuo.hk/k2safe/go-omni/examples/reference/handler [no test files] +? git.yuntuo.hk/k2safe/go-omni/examples/reference/model [no test files] +ok git.yuntuo.hk/k2safe/go-omni/examples/reference/repository 1.013s +? git.yuntuo.hk/k2safe/go-omni/examples/reference/service [no test files] +ok git.yuntuo.hk/k2safe/go-omni/health 1.041s +ok git.yuntuo.hk/k2safe/go-omni/httpx 1.034s +ok git.yuntuo.hk/k2safe/go-omni/internal/perfcheck 1.048s +? git.yuntuo.hk/k2safe/go-omni/internal/testutil [no test files] +ok git.yuntuo.hk/k2safe/go-omni/logx 1.013s +ok git.yuntuo.hk/k2safe/go-omni/metrics 1.034s +ok git.yuntuo.hk/k2safe/go-omni/middleware 1.036s +? git.yuntuo.hk/k2safe/go-omni/response [no test files] +ok git.yuntuo.hk/k2safe/go-omni/transport 1.051s +ok git.yuntuo.hk/k2safe/go-omni/transport/http2 12.551s +? git.yuntuo.hk/k2safe/go-omni/transport/internal/routing [no test files] +ok git.yuntuo.hk/k2safe/go-omni/transport/native 2.049s +ok git.yuntuo.hk/k2safe/go-omni/transport/nethttp 1.035s +? git.yuntuo.hk/k2safe/go-omni/transport/transporttest [no test files] +? git.yuntuo.hk/k2safe/go-omni/validate [no test files] +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 +--- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler (0.26s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 (0.09s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 +--- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler (0.26s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 (0.09s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 +--- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler (0.26s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 (0.09s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.04s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.01s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 +--- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler (0.26s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 (0.09s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 +--- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler (0.26s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 (0.09s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 +--- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler (0.26s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 (0.09s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 +--- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler (0.26s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 (0.09s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 +--- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler (0.26s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 (0.09s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.27s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 +--- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler (0.26s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 (0.09s) +=== RUN TestConfiguredTransportLifecycle +=== RUN TestConfiguredTransportLifecycle/nethttp/drain +=== RUN TestConfiguredTransportLifecycle/nethttp/timeout +=== RUN TestConfiguredTransportLifecycle/native/drain +=== RUN TestConfiguredTransportLifecycle/native/timeout +=== RUN TestConfiguredTransportLifecycle/http2/drain +=== RUN TestConfiguredTransportLifecycle/http2/timeout +--- PASS: TestConfiguredTransportLifecycle (0.28s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/nethttp/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/native/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/native/timeout (0.09s) + --- PASS: TestConfiguredTransportLifecycle/http2/drain (0.01s) + --- PASS: TestConfiguredTransportLifecycle/http2/timeout (0.09s) +=== RUN TestConfiguredStartupFailureClosesResources +=== RUN TestConfiguredStartupFailureClosesResources/unknown +=== RUN TestConfiguredStartupFailureClosesResources/http2WithoutTLS +=== RUN TestConfiguredStartupFailureClosesResources/partialTLS +=== RUN TestConfiguredStartupFailureClosesResources/nethttpCertificate +=== RUN TestConfiguredStartupFailureClosesResources/nativeCertificate +=== RUN TestConfiguredStartupFailureClosesResources/http2Certificate +--- PASS: TestConfiguredStartupFailureClosesResources (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/unknown (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2WithoutTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/partialTLS (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nethttpCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/nativeCertificate (0.00s) + --- PASS: TestConfiguredStartupFailureClosesResources/http2Certificate (0.00s) +=== RUN TestRunContextConfiguredTLS +=== RUN TestRunContextConfiguredTLS/nethttp +=== RUN TestRunContextConfiguredTLS/native +=== RUN TestRunContextConfiguredTLS/http2 +--- PASS: TestRunContextConfiguredTLS (0.05s) + --- PASS: TestRunContextConfiguredTLS/nethttp (0.02s) + --- PASS: TestRunContextConfiguredTLS/native (0.02s) + --- PASS: TestRunContextConfiguredTLS/http2 (0.02s) +=== RUN TestRunWithRemainsIndependentOfBuiltInTransport +--- PASS: TestRunWithRemainsIndependentOfBuiltInTransport (0.00s) +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native +=== RUN TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 +--- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler (0.26s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/nethttp (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/native (0.09s) + --- PASS: TestConfiguredShutdownDoesNotWaitForUncooperativeHandler/http2 (0.09s) +PASS +ok git.yuntuo.hk/k2safe/go-omni/app 6.879s +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.09s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.02s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.09s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.09s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.08s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.08s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.08s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.08s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.08s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.08s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +=== RUN TestBusinessConfiguredTransports +=== RUN TestBusinessConfiguredTransports/nethttp +=== RUN TestBusinessConfiguredTransports/native +=== RUN TestBusinessConfiguredTransports/nethttpTLS +=== RUN TestBusinessConfiguredTransports/nativeTLS +=== RUN TestBusinessConfiguredTransports/http2TLS +--- PASS: TestBusinessConfiguredTransports (0.08s) + --- PASS: TestBusinessConfiguredTransports/nethttp (0.01s) + --- PASS: TestBusinessConfiguredTransports/native (0.01s) + --- PASS: TestBusinessConfiguredTransports/nethttpTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/nativeTLS (0.02s) + --- PASS: TestBusinessConfiguredTransports/http2TLS (0.02s) +PASS +ok git.yuntuo.hk/k2safe/go-omni/examples/reference 1.885s +=== RUN TestShutdownDuringResponseWriteClosesNewlyIdleConnection +--- PASS: TestShutdownDuringResponseWriteClosesNewlyIdleConnection (0.00s) +=== RUN TestShutdownDuringResponseWriteClosesNewlyIdleConnection +--- PASS: TestShutdownDuringResponseWriteClosesNewlyIdleConnection (0.00s) +=== RUN TestShutdownDuringResponseWriteClosesNewlyIdleConnection +--- PASS: TestShutdownDuringResponseWriteClosesNewlyIdleConnection (0.00s) +=== RUN TestShutdownDuringResponseWriteClosesNewlyIdleConnection +--- PASS: TestShutdownDuringResponseWriteClosesNewlyIdleConnection (0.00s) +=== RUN TestShutdownDuringResponseWriteClosesNewlyIdleConnection +--- PASS: TestShutdownDuringResponseWriteClosesNewlyIdleConnection (0.00s) +=== RUN TestShutdownDuringResponseWriteClosesNewlyIdleConnection +--- PASS: TestShutdownDuringResponseWriteClosesNewlyIdleConnection (0.00s) +=== RUN TestShutdownDuringResponseWriteClosesNewlyIdleConnection +--- PASS: TestShutdownDuringResponseWriteClosesNewlyIdleConnection (0.00s) +=== RUN TestShutdownDuringResponseWriteClosesNewlyIdleConnection +--- PASS: TestShutdownDuringResponseWriteClosesNewlyIdleConnection (0.00s) +=== RUN TestShutdownDuringResponseWriteClosesNewlyIdleConnection +--- PASS: TestShutdownDuringResponseWriteClosesNewlyIdleConnection (0.00s) +=== RUN TestShutdownDuringResponseWriteClosesNewlyIdleConnection +--- PASS: TestShutdownDuringResponseWriteClosesNewlyIdleConnection (0.00s) +PASS +ok git.yuntuo.hk/k2safe/go-omni/transport/native 1.058s