chore(tester): drop HX_TEST_HOST alias
HOST is the only accepted test-service address from env, local.yaml, or catalog vars.
This commit is contained in:
@@ -21,7 +21,7 @@
|
|||||||
fan-out,逐个执行且不合并 cases。无需在根 `.pouch` 里增加未定义的 `include`。
|
fan-out,逐个执行且不合并 cases。无需在根 `.pouch` 里增加未定义的 `include`。
|
||||||
- 跑真实环境前,复制 `.pouch/tester/local.yaml.example` 为 `local.yaml`;模板默认
|
- 跑真实环境前,复制 `.pouch/tester/local.yaml.example` 为 `local.yaml`;模板默认
|
||||||
`HOST: "127.0.0.1"`。如果目标不是本机,显式改成目标地址。也可以用环境变量
|
`HOST: "127.0.0.1"`。如果目标不是本机,显式改成目标地址。也可以用环境变量
|
||||||
`HX_TEST_HOST` 覆盖。
|
`HOST` 覆盖。
|
||||||
- 测试默认在当前项目执行。也可以直接提供 Orca project id、项目名称或 terminal id;
|
- 测试默认在当前项目执行。也可以直接提供 Orca project id、项目名称或 terminal id;
|
||||||
tester 会自动解析 Agent、环境、项目和目录,写入 `local.yaml.agent`,并输出更新后的配置列表。
|
tester 会自动解析 Agent、环境、项目和目录,写入 `local.yaml.agent`,并输出更新后的配置列表。
|
||||||
每轮测试会创建新的 terminal,结束后自动关闭;不会复用或关闭已有 terminal。
|
每轮测试会创建新的 terminal,结束后自动关闭;不会复用或关闭已有 terminal。
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ python3 <skill-dir>/scripts/catalog.py select --root <root> \
|
|||||||
|
|
||||||
## 2. 运行前闸
|
## 2. 运行前闸
|
||||||
|
|
||||||
- `HOST` 未设(环境变量 / `HX_TEST_HOST` / `local.yaml` 都没有):全部停,environment-fail。
|
- `HOST` 未设(环境变量 / `local.yaml` 都没有):全部停,environment-fail。
|
||||||
- 命中条的 `risk` 在 catalog `authorize` 里有对应变量:变量不是 `true` 则该条 `skipped`。有 `gate` 时还要 `catalog.gates` 对应变量为 `true`;`assume` 不成立同样 `skipped`。即使用户点了 id 也不执行。
|
- 命中条的 `risk` 在 catalog `authorize` 里有对应变量:变量不是 `true` 则该条 `skipped`。有 `gate` 时还要 `catalog.gates` 对应变量为 `true`;`assume` 不成立同样 `skipped`。即使用户点了 id 也不执行。
|
||||||
- 授权/假设不成立是**主动不跑**(`skipped`),不是 `not-run`:这是我们决定不跑,不是没轮到。
|
- 授权/假设不成立是**主动不跑**(`skipped`),不是 `not-run`:这是我们决定不跑,不是没轮到。
|
||||||
- `status_probe` 是**分类级前置条件**(业界对应 pytest 的 session fixture / Robot 的 Suite Setup)。用 `select` 返回的 `status_probe` 解析生效值,不要自己读 catalog 猜。返回的 `probe.url` 已用 `vars` 展开,直接请求即可;`select` 同批返回 `vars`:
|
- `status_probe` 是**分类级前置条件**(业界对应 pytest 的 session fixture / Robot 的 Suite Setup)。用 `select` 返回的 `status_probe` 解析生效值,不要自己读 catalog 猜。返回的 `probe.url` 已用 `vars` 展开,直接请求即可;`select` 同批返回 `vars`:
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ runs/*.csv 同一次运行的成绩单;generate_run_csv.py 从对
|
|||||||
|
|
||||||
`local.yaml` 与环境变量覆盖 `HOST` 和授权开关。模板中的 `HOST` 默认是
|
`local.yaml` 与环境变量覆盖 `HOST` 和授权开关。模板中的 `HOST` 默认是
|
||||||
`127.0.0.1`;远程目标必须显式覆盖。查找顺序:环境变量 > `local.yaml` >
|
`127.0.0.1`;远程目标必须显式覆盖。查找顺序:环境变量 > `local.yaml` >
|
||||||
`catalog.yaml` 的 vars。也认 `HX_TEST_HOST` 作为 `HOST`。
|
`catalog.yaml` 的 vars。
|
||||||
|
|
||||||
## agent
|
## agent
|
||||||
|
|
||||||
|
|||||||
@@ -308,17 +308,12 @@ def resolve_vars(root: Path, meta: dict[str, Any]) -> dict[str, str]:
|
|||||||
for key, value in os.environ.items():
|
for key, value in os.environ.items():
|
||||||
if key in merged or key in auth_keys or key.startswith("AUTHORIZE_") or key in {
|
if key in merged or key in auth_keys or key.startswith("AUTHORIZE_") or key in {
|
||||||
"HOST",
|
"HOST",
|
||||||
"HX_TEST_HOST",
|
|
||||||
"WEB_BASE",
|
"WEB_BASE",
|
||||||
"API_BASE",
|
"API_BASE",
|
||||||
"WS_URL",
|
"WS_URL",
|
||||||
"STATUS_BASE",
|
"STATUS_BASE",
|
||||||
}:
|
}:
|
||||||
merged[key] = value
|
merged[key] = value
|
||||||
if not merged.get("HOST") and merged.get("HX_TEST_HOST"):
|
|
||||||
merged["HOST"] = merged["HX_TEST_HOST"]
|
|
||||||
if os.environ.get("HX_TEST_HOST") and not os.environ.get("HOST"):
|
|
||||||
merged["HOST"] = os.environ["HX_TEST_HOST"]
|
|
||||||
for _ in range(10):
|
for _ in range(10):
|
||||||
changed = False
|
changed = False
|
||||||
for key, value in list(merged.items()):
|
for key, value in list(merged.items()):
|
||||||
|
|||||||
Reference in New Issue
Block a user