37 lines
1 KiB
JavaScript
37 lines
1 KiB
JavaScript
// simulate cases where the module could be loaded from multiple places
|
|
|
|
// Need to lie about this a little bit, since nyc uses this module
|
|
// for its coverage wrap-up handling
|
|
if (process.env.NYC_CWD) {
|
|
var emitter = process.__signal_exit_emitter__
|
|
var listeners = emitter.listeners('afterexit')
|
|
process.removeAllListeners('SIGHUP')
|
|
delete process.__signal_exit_emitter__
|
|
delete require('module')._cache[require.resolve('../../')]
|
|
}
|
|
|
|
var onSignalExit = require('../../')
|
|
var counter = 0
|
|
|
|
var unwrap = onSignalExit(function (code, signal) {
|
|
counter++
|
|
console.log('last counter=%j, code=%j, signal=%j',
|
|
counter, code, signal)
|
|
}, {alwaysLast: true})
|
|
unwrap()
|
|
|
|
unwrap = onSignalExit(function (code, signal) {
|
|
counter++
|
|
console.log('first counter=%j, code=%j, signal=%j',
|
|
counter, code, signal)
|
|
})
|
|
unwrap()
|
|
|
|
if (global.__coverage__ && listeners && listeners.length) {
|
|
listeners.forEach(function (fn) {
|
|
onSignalExit(fn, { alwaysLast: true })
|
|
})
|
|
}
|
|
|
|
process.kill(process.pid, 'SIGHUP')
|
|
setTimeout(function () {}, 1000)
|