SuperAPI AI 工具集

run-e2e

测试与质量

查看项目

更新于 10-15 16:51

技能介绍

用途:在 Apache SkyWalking 本地仓库中运行 E2E 测试,用户提供用例路径(如 simple/jdk、storage/banyandb、alarm)。

主要能力与用法:先准备依赖,所有工具需要 Go 环境;e2e CLI 通过 go install github.com/apache/skywalking-infra-e2e/cmd/e2e@<commit-id> 安装,其 commit 由 CI 固定,也可克隆仓库后 make build,产物在 bin/e2e。swctl、yq 等工具可用 test/e2e-v2/script/prepare/setup-e2e-shell/install.sh 安装并加入 PATH,CI 中 swctl 固定于 test/e2e-v2/script/env 的 SW_CTL_COMMIT。kubectl、helm、istioctl、etcdctl 仅在特定用例需要。

运行流程:将参数解析为 test/e2e-v2/cases/ 下的实际路径;用 find 比较源码与上次构建产物的时间戳判断是否需重建,重建需用户确认(./mvnw clean flatten:flatten package -Pall -Dmaven.test.skip && make docker 等)。运行时设置 SW_AGENT_JDK_VERSION 后执行 e2e run -c test/e2e-v2/cases/<case-path>/e2e.yaml。失败时不要立即 cleanup,先查容器日志,可单独执行 e2e verify 重试,调试完成后才 e2e cleanup。可用 docker ps 找出 OAP 的 12800 端口映射,再用 swctl --display yaml --base-url=... 直接验证查询,也可 curl 对应端口。UI 模板修改因 addIfNotExist 以 id 判断,需删除 OAP 与 BanyanDB 容器以清空存储后重跑。

限制与注意:资料给出的具体限制包括 swctl 旧版 flag 可能不被支持(如 --layer)、OTLP 手写载荷易与真实 SDK 输出偏差、timeUnixNano 为 0 会落入 1970 时间桶、setup 步骤中 curl 重试写法可能静默失败、镜像拉取可能在 CI 中失败。除资料明确写明的内容外,其余细节暂未提供。