Buckets:
| const test = require('node:test') | |
| const assert = require('node:assert') | |
| const { join } = require('node:path') | |
| const { fork } = require('node:child_process') | |
| const tspl = require('@matteo.collina/tspl') | |
| const { once } = require('./helper') | |
| const pino = require('..') | |
| if (process.platform === 'win32') { | |
| console.log('skipping on windows') | |
| process.exit(0) | |
| } | |
| if (process.env.CITGM) { | |
| // This looks like a some form of limitations of the CITGM test runner | |
| // or the HW/SW we run it on. This file can hang on Node.js v18.x. | |
| // The failure does not reproduce locally or on our CI. | |
| // Skipping it is the only way to keep pino in CITGM. | |
| // https://github.com/nodejs/citgm/pull/1002#issuecomment-1751942988 | |
| console.log('Skipping on Node.js core CITGM because it hangs on v18.x') | |
| process.exit(0) | |
| } | |
| function testFile (file) { | |
| file = join('fixtures', 'broken-pipe', file) | |
| test(file, async () => { | |
| const child = fork(join(__dirname, file), { silent: true }) | |
| child.stdout.destroy() | |
| child.stderr.pipe(process.stdout) | |
| const res = await once(child, 'close') | |
| assert.equal(res, 0) // process exits successfully | |
| }) | |
| } | |
| testFile('basic.js') | |
| testFile('destination.js') | |
| testFile('syncfalse.js') | |
| test('let error pass through', async (t) => { | |
| const plan = tspl(t, { plan: 3 }) | |
| const stream = pino.destination({ sync: true }) | |
| // side effect of the pino constructor is that it will set an | |
| // event handler for error | |
| pino(stream) | |
| process.nextTick(() => stream.emit('error', new Error('kaboom'))) | |
| process.nextTick(() => stream.emit('error', new Error('kaboom'))) | |
| stream.on('error', (err) => { | |
| plan.equal(err.message, 'kaboom') | |
| }) | |
| await plan | |
| }) | |
Xet Storage Details
- Size:
- 1.71 kB
- Xet hash:
- 9aa67aefa781e8b76ab093755674a5e7e6065430c0a93b2c12418e004ca2e689
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.