保留原生浏览器探针失败阶段与清理证据(09-06-release-gate-integrity)
这个提交包含在:
@@ -43,6 +43,26 @@ test("环境回执必须消费事实而非 valid 标记", () => {
|
||||
}
|
||||
});
|
||||
|
||||
test("两引擎逐项必需:诊断记录不构成失败引擎的豁免", () => {
|
||||
for (const index of [0, 1]) {
|
||||
for (const mutate of [
|
||||
engine => { engine.valid = false; engine.failureStage = "launch"; engine.failures = [{ stage: "launch", errorKind: "browser_process_closed" }]; },
|
||||
engine => { engine.online = false; },
|
||||
engine => { engine.browserNamespace = "other"; },
|
||||
engine => { engine.browserMatchesOwnedChild = false; },
|
||||
engine => { engine.noNavigatorOverride = false; },
|
||||
engine => { delete engine.version; },
|
||||
]) {
|
||||
const value = receipt(); mutate(value.nativeOnlineProbe.engines[index]);
|
||||
assert.ok(validateEnvironmentReceipt(value, "policy").includes("native_engine_probe_invalid"));
|
||||
}
|
||||
}
|
||||
for (const engines of [[], [receipt().nativeOnlineProbe.engines[0]], receipt().nativeOnlineProbe.engines.toReversed()]) {
|
||||
const value = receipt(); value.nativeOnlineProbe.engines = engines;
|
||||
assert.ok(validateEnvironmentReceipt(value, "policy").includes("native_engine_probe_invalid"));
|
||||
}
|
||||
});
|
||||
|
||||
test("父 runner 实时 IPC 绑定本轮、进程和当前策略,错误响应拒绝", async context => {
|
||||
const scratch = mkdtempSync(path.join(os.tmpdir(), "hyb-env-ipc-test-"));
|
||||
const owner = { scratch, runId: "current", supervisorPid: process.pid, policyDigest: "policy" };
|
||||
|
||||
在新工单中引用
屏蔽一个用户