runtime: unify final delivery and startup preconditions

This commit is contained in:
ejclaw
2026-04-11 13:48:54 +09:00
parent dcf18b8797
commit a1617b7456
8 changed files with 118 additions and 16 deletions

View File

@@ -0,0 +1,23 @@
import { describe, expect, it } from 'vitest';
import {
STARTUP_PRECONDITION_EXIT_CODE,
StartupPreconditionError,
isStartupPreconditionError,
resolveStartupFailureExitCode,
} from './startup-preconditions.js';
describe('startup preconditions', () => {
it('maps startup precondition errors to the non-restart exit code', () => {
const error = new StartupPreconditionError('legacy migration required');
expect(isStartupPreconditionError(error)).toBe(true);
expect(resolveStartupFailureExitCode(error)).toBe(
STARTUP_PRECONDITION_EXIT_CODE,
);
});
it('keeps generic startup failures on exit code 1', () => {
expect(resolveStartupFailureExitCode(new Error('boom'))).toBe(1);
});
});