%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; require('../common'); const tmpdir = require('../common/tmpdir'); const assert = require('assert'); const fs = require('fs'); const join = require('path').join; const { spawnSync } = require('child_process'); // Test that invoking node with require, and piping stderr to file, // does not result in exception, // see: https://github.com/nodejs/node/issues/11257 tmpdir.refresh(); const fakeModulePath = join(tmpdir.path, 'batman.js'); const stderrOutputPath = join(tmpdir.path, 'stderr-output.txt'); // We need to redirect stderr to a file to produce #11257 const stream = fs.createWriteStream(stderrOutputPath); // The error described in #11257 only happens when we require a // non-built-in module. fs.writeFileSync(fakeModulePath, '', 'utf8'); stream.on('open', () => { spawnSync(process.execPath, { input: `require("${fakeModulePath.replace(/\\/g, '/')}")`, stdio: ['pipe', 'pipe', stream] }); const stderr = fs.readFileSync(stderrOutputPath, 'utf8').trim(); assert.strictEqual( stderr, '', `piping stderr to file should not result in exception: ${stderr}` ); stream.end(); fs.unlinkSync(stderrOutputPath); fs.unlinkSync(fakeModulePath); });