'use strict'; const common = require('../common'); const assert = require('assert'); const cluster = require('cluster'); const { ChildProcess } = require('child_process'); const dc = require('diagnostics_channel'); if (cluster.isPrimary) { dc.subscribe('child_process', common.mustCall(({ process }) => { assert.strictEqual(process instanceof ChildProcess, true); })); const worker = cluster.fork(); worker.on('online', common.mustCall(() => { worker.send('disconnect'); })); } else { process.on('message', common.mustCall((msg) => { assert.strictEqual(msg, 'disconnect'); process.disconnect(); })); }