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)}`);
|
||||
}
|
||||
|
||||
function assertResilienceTerminal(status, expectedRunStatus = 'error') {
|
||||
function assertResilienceTerminal(
|
||||
status,
|
||||
expectedRunStatus = 'error',
|
||||
expectedErrorCode = 'CODING_RUNTIME_START_FAILED',
|
||||
) {
|
||||
if (status?.target?.workerStatus !== 'error'
|
||||
|| status?.target?.runStatus !== expectedRunStatus
|
||||
|| status?.target?.errorCode !== 'CODING_RUNTIME_START_FAILED'
|
||||
|| status?.target?.errorCode !== expectedErrorCode
|
||||
|| status?.target?.recoverable !== true
|
||||
|| status?.target?.bindingPreserved !== true
|
||||
|| status?.other?.bindingPreserved !== true) {
|
||||
@@ -494,7 +498,11 @@ export async function runPackagedProductProof(options) {
|
||||
);
|
||||
const protocolFailure = await evaluateProof(electronApplication, 'resilience.inject-protocol');
|
||||
assertPackagedMain(protocolFailure);
|
||||
assertResilienceTerminal(protocolFailure.resilience.status);
|
||||
assertResilienceTerminal(
|
||||
protocolFailure.resilience.status,
|
||||
'error',
|
||||
'CODING_RUNTIME_PROTOCOL_ERROR',
|
||||
);
|
||||
if (protocolFailure.resilience.terminalizationMs > 2_000) {
|
||||
throw new Error(`Packaged protocol convergence exceeded 2s: ${protocolFailure.resilience.terminalizationMs}`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user