From 585141278558e3742d4633e84937d5ae2d61e880 Mon Sep 17 00:00:00 2001 From: Daeyeon Jeong Date: Wed, 26 Oct 2022 09:35:28 +0900 Subject: [PATCH] test: remove a snapshot blob from test-inspect-address-in-use.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This removes a snapshot blob generated by `test/parallel/test-inspect-address-in-use.js`. Signed-off-by: Daeyeon Jeong PR-URL: https://github.com/nodejs/node/pull/45132 Fixes: https://github.com/nodejs/node/issues/45017 Reviewed-By: Colin Ihrig Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca Reviewed-By: Joyee Cheung Reviewed-By: Chengzhong Wu Reviewed-By: James M Snell Reviewed-By: Michaël Zasso Reviewed-By: Juan José Arboleda --- test/parallel/test-inspect-address-in-use.js | 64 ++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 test/parallel/test-inspect-address-in-use.js diff --git a/test/parallel/test-inspect-address-in-use.js b/test/parallel/test-inspect-address-in-use.js new file mode 100644 index 00000000000000..eb076b21c9beaa --- /dev/null +++ b/test/parallel/test-inspect-address-in-use.js @@ -0,0 +1,64 @@ +'use strict'; +const common = require('../common'); +common.skipIfInspectorDisabled(); + +const { spawnSync } = require('child_process'); +const { createServer } = require('http'); +const assert = require('assert'); +const tmpdir = require('../common/tmpdir'); +const fixtures = require('../common/fixtures'); +const entry = fixtures.path('empty.js'); +const { Worker } = require('worker_threads'); + +function testOnServerListen(fn) { + const server = createServer((socket) => { + socket.end('echo'); + }); + + server.on('listening', () => { + fn(server); + server.close(); + }); + server.listen(0, '127.0.0.1'); +} + +function testChildProcess(getArgs, exitCode, options) { + testOnServerListen((server) => { + const { port } = server.address(); + const child = spawnSync(process.execPath, getArgs(port), options); + const stderr = child.stderr.toString().trim(); + const stdout = child.stdout.toString().trim(); + console.log('[STDERR]'); + console.log(stderr); + console.log('[STDOUT]'); + console.log(stdout); + const match = stderr.match( + /Starting inspector on 127\.0\.0\.1:(\d+) failed: address already in use/ + ); + assert.notStrictEqual(match, null); + assert.strictEqual(match[1], port + ''); + assert.strictEqual(child.status, exitCode); + }); +} + +tmpdir.refresh(); + +testChildProcess( + (port) => [`--inspect=${port}`, '--build-snapshot', entry], 0, + { cwd: tmpdir.path }); + +testChildProcess( + (port) => [`--inspect=${port}`, entry], 0); + +testOnServerListen((server) => { + const { port } = server.address(); + const worker = new Worker(entry, { + execArgv: [`--inspect=${port}`] + }); + + worker.on('error', common.mustNotCall()); + + worker.on('exit', common.mustCall((code) => { + assert.strictEqual(code, 0); + })); +});