sync mode on
This commit is contained in:
1 parent
1818932244
commit
1174b328e5
415 files changed
+44294
-1182
No files matched your search
+36
@@ -0,0 +1,36 @@
|
||||
'use strict'
|
||||
|
||||
const test = require('node:test')
|
||||
const assert = require('node:assert')
|
||||
const { join } = require('node:path')
|
||||
const { once } = require('node:events')
|
||||
const { setImmediate: immediate } = require('node:timers/promises')
|
||||
|
||||
const pino = require('../../')
|
||||
|
||||
test('pino.transport emits error if the worker exits with 0 unexpectably', async (t) => {
|
||||
// This test will take 10s, because flushSync waits for 10s
|
||||
const transport = pino.transport({
|
||||
target: join(__dirname, '..', 'fixtures', 'crashing-transport.js'),
|
||||
sync: true
|
||||
})
|
||||
t.after(transport.end.bind(transport))
|
||||
|
||||
await once(transport, 'ready')
|
||||
|
||||
let maybeError
|
||||
transport.on('error', (err) => {
|
||||
maybeError = err
|
||||
})
|
||||
|
||||
const logger = pino(transport)
|
||||
for (let i = 0; i < 100000; i++) {
|
||||
logger.info('hello')
|
||||
}
|
||||
|
||||
await once(transport.worker, 'exit')
|
||||
|
||||
await immediate()
|
||||
|
||||
assert.equal(maybeError.message, 'the worker has exited')
|
||||
})
|
||||
Reference in new issue
Block a user