1'use strict';
2
3const common = require('../common');
4
5// Test should fail in Node.js 5.4.1 and pass in later versions.
6
7const assert = require('assert');
8const cluster = require('cluster');
9
10if (cluster.isPrimary) {
11  cluster.on('exit', (worker, code) => {
12    assert.strictEqual(code, 0, `worker exited with code: ${code}, expected 0`);
13  });
14
15  return cluster.fork();
16}
17
18let eventFired = false;
19
20cluster.worker.disconnect();
21
22process.nextTick(common.mustCall(() => {
23  assert.ok(!eventFired, 'disconnect event should wait for ack');
24}));
25
26cluster.worker.on('disconnect', common.mustCall(() => {
27  eventFired = true;
28}));
29