SuperAPI AI 工具集

E2E Test Runner

测试与质量

查看项目

更新于 10-16 03:11

技能介绍

用途:该技能面向 HyperShift 的端到端测试验证,支持自主迭代——运行测试、分析失败、修改代码或镜像并重新运行,直到测试通过。当实现需要 e2e 验证的功能、修复失败的 e2e 测试、排查 test/e2e/ 目录中的失败,或用户要求迭代直到测试通过时自动适用。

前提:先加载环境文件: source dev/claude-env.sh

环境变量包括 E2E_PLATFORM、AWS_CREDENTIALS、OIDC_BUCKET、BASE_DOMAIN、PULL_SECRET、AWS_REGION、E2E_ARTIFACT_DIR、MGMT_KUBECONFIG、CPO_IMAGE_REPO、RUNTIME 等。

运行流程:先检查测试二进制是否需要重建。若 ./bin/test-e2e 不存在,或 test/e2e 下 .go 文件比二进制更新,则运行 make e2e 重建。然后执行: KUBECONFIG=$MGMT_KUBECONFIG ./bin/test-e2e -test.v -test.timeout 2h -test.run "TEST_PATTERN" --e2e.platform $E2E_PLATFORM --e2e.aws-credentials-file $AWS_CREDENTIALS --e2e.aws-oidc-s3-bucket-name $OIDC_BUCKET --e2e.base-domain $BASE_DOMAIN --e2e.pull-secret-file $PULL_SECRET --e2e.aws-region $AWS_REGION --e2e.artifact-dir $E2E_ARTIFACT_DIR

若测试控制面改动,可加 -e2e.control-plane-operator-image $CPO_IMAGE_REPO:TAG。修改 control-plane-operator 代码后需构建并推送镜像: $RUNTIME build -f Dockerfile.control-plane --platform linux/amd64 -t $CPO_IMAGE_REPO:NEW_TAG . $RUNTIME push $CPO_IMAGE_REPO:NEW_TAG 常用测试模式有 TestNodePool、TestCreateCluster、TestUpgrade 等。

失败分析:查看测试输出中的断言、超时和资源日志,并检查 $E2E_ARTIFACT_DIR/ 下的 pod 日志、事件和资源转储。常见原因包括超时、资源未创建、服务未就绪、RBAC 权限问题。

限制:测试通常需 10 至 30 分钟以上;部分测试会创建真实 AWS 资源并产生费用,失败时需清理;产物目录每次运行会被覆盖;默认超时 2h,可用 -test.timeout 调整。其他细节暂未提供。