v1 stdio buffer limit (#2239)

This commit is contained in:
Konstantin Konstantinov 2026-06-02 20:08:41 +03:00 • committed by GitHub
commit e7ee57c2f3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -75,3 +75,44 @@ test('should return child process pid', async () => {
await client.close();
expect(client.pid).toBeNull();
});
test('should respect custom maxBufferSize option', async () => {
const client = new StdioClientTransport({
command: 'node',
args: ['-e', 'process.stdout.write(Buffer.alloc(200, 0x41))'],
maxBufferSize: 100
});
const errorReceived = new Promise<Error>(resolve => {
client.onerror = resolve;
});
const closed = new Promise<void>(resolve => {
client.onclose = () => resolve();
});
await client.start();
const error = await errorReceived;
expect(error.message).toMatch(/ReadBuffer exceeded maximum size/);
await closed;
});
test('should fire onerror and close when ReadBuffer overflows', async () => {
const client = new StdioClientTransport({
command: 'node',
args: ['-e', 'process.stdout.write(Buffer.alloc(11 * 1024 * 1024, 0x41))']
});
const errorReceived = new Promise<Error>(resolve => {
client.onerror = resolve;
});
const closed = new Promise<void>(resolve => {
client.onclose = () => resolve();
});
await client.start();
const error = await errorReceived;
expect(error.message).toMatch(/ReadBuffer exceeded maximum size/);
await closed;
});