'use strict'; const common = require('../common'); common.skipIfInspectorDisabled(); const fixtures = require('../common/fixtures'); const startCLI = require('../common/debugger'); const assert = require('assert'); const { spawn } = require('child_process'); const { once } = require('events'); const script = fixtures.path('debugger', 'alive.js'); (async () => { const target = spawn(process.execPath, [script], { stdio: ['ignore', 'pipe', 'pipe', 'ipc'], }); await once(target, 'message'); const cli = startCLI(['-p', `${target.pid}`], [], {}, { randomPort: false }); try { await cli.waitForPrompt(); await cli.command('sb("alive.js", 3)'); await cli.waitFor(/break/); await cli.waitForPrompt(); assert.match( cli.output, /> 3 {3}\+\+x;/, 'marks the 3rd line'); } finally { const targetClosed = once(target, 'close'); target.kill(); await Promise.all([cli.quit(), targetClosed]); } })().then(common.mustCall());