Publish curated ForgeFlow source from 2ed1787c0b52
ForgeFlow quality gate / quality (push) Successful in 4m12s
ForgeFlow quality gate / secret-scan (push) Successful in 7s

This commit is contained in:
NuklearRabbit committed 2026-09-29 22:50:57 +02:00
commit f60b269686
254 files changed
+46204

No files matched your search

+26
View File
@@ -0,0 +1,26 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import { EventEmitter } from 'node:events';
import policyModule from '../src/main/process-error-policy.cjs';
const { installOutputPipeGuards, isBrokenPipeError } = policyModule;
test('broken output pipes are recognized without treating unrelated failures as EPIPE', () => {
assert.equal(isBrokenPipeError(Object.assign(new Error('closed'), { code: 'EPIPE' })), true);
assert.equal(isBrokenPipeError(Object.assign(new Error('denied'), { code: 'EACCES' })), false);
assert.equal(isBrokenPipeError(null), false);
});
test('output pipe guard absorbs EPIPE and can be cleanly removed', () => {
const stdout = new EventEmitter();
const stderr = new EventEmitter();
const observed = [];
const remove = installOutputPipeGuards({ stdout, stderr, onBrokenPipe: (error) => observed.push(error.code) });
stdout.emit('error', Object.assign(new Error('closed'), { code: 'EPIPE' }));
stderr.emit('error', Object.assign(new Error('closed'), { code: 'EPIPE' }));
assert.deepEqual(observed, ['EPIPE', 'EPIPE']);
remove();
assert.equal(stdout.listenerCount('error'), 0);
assert.equal(stderr.listenerCount('error'), 0);
});