1'use strict'; 2 3const common = require('../common'); 4const fixtures = require('../common/fixtures'); 5const assert = require('assert'); 6const { spawn } = require('child_process'); 7 8if (!common.isMainThread) 9 common.skip('process.chdir is not available in Workers'); 10 11const selfRefModule = fixtures.path('self_ref_module'); 12const child = spawn(process.execPath, 13 ['--interactive'], 14 { cwd: selfRefModule } 15); 16let output = ''; 17child.stdout.on('data', (chunk) => output += chunk); 18child.on('exit', common.mustCall(() => { 19 const results = output.replace(/^> /mg, '').split('\n').slice(2); 20 assert.deepStrictEqual(results, [ "'Self resolution working'", '' ]); 21})); 22 23child.stdin.write('require("self_ref");\n'); 24child.stdin.write('.exit'); 25child.stdin.end(); 26