test(pi): assert protocol failure fidelity
This commit is contained in:
@@ -190,10 +190,14 @@ async function waitForResilienceProof(electronApplication, predicate, message) {
|
|||||||
throw new Error(`${message}: ${JSON.stringify(latest?.resilience)}`);
|
throw new Error(`${message}: ${JSON.stringify(latest?.resilience)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
function assertResilienceTerminal(status, expectedRunStatus = 'error') {
|
function assertResilienceTerminal(
|
||||||
|
status,
|
||||||
|
expectedRunStatus = 'error',
|
||||||
|
expectedErrorCode = 'CODING_RUNTIME_START_FAILED',
|
||||||
|
) {
|
||||||
if (status?.target?.workerStatus !== 'error'
|
if (status?.target?.workerStatus !== 'error'
|
||||||
|| status?.target?.runStatus !== expectedRunStatus
|
|| status?.target?.runStatus !== expectedRunStatus
|
||||||
|| status?.target?.errorCode !== 'CODING_RUNTIME_START_FAILED'
|
|| status?.target?.errorCode !== expectedErrorCode
|
||||||
|| status?.target?.recoverable !== true
|
|| status?.target?.recoverable !== true
|
||||||
|| status?.target?.bindingPreserved !== true
|
|| status?.target?.bindingPreserved !== true
|
||||||
|| status?.other?.bindingPreserved !== true) {
|
|| status?.other?.bindingPreserved !== true) {
|
||||||
@@ -494,7 +498,11 @@ export async function runPackagedProductProof(options) {
|
|||||||
);
|
);
|
||||||
const protocolFailure = await evaluateProof(electronApplication, 'resilience.inject-protocol');
|
const protocolFailure = await evaluateProof(electronApplication, 'resilience.inject-protocol');
|
||||||
assertPackagedMain(protocolFailure);
|
assertPackagedMain(protocolFailure);
|
||||||
assertResilienceTerminal(protocolFailure.resilience.status);
|
assertResilienceTerminal(
|
||||||
|
protocolFailure.resilience.status,
|
||||||
|
'error',
|
||||||
|
'CODING_RUNTIME_PROTOCOL_ERROR',
|
||||||
|
);
|
||||||
if (protocolFailure.resilience.terminalizationMs > 2_000) {
|
if (protocolFailure.resilience.terminalizationMs > 2_000) {
|
||||||
throw new Error(`Packaged protocol convergence exceeded 2s: ${protocolFailure.resilience.terminalizationMs}`);
|
throw new Error(`Packaged protocol convergence exceeded 2s: ${protocolFailure.resilience.terminalizationMs}`);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user