test: fix test-repl-require-after-write

Currently, the test creates a file in the cwd and doesn't clean it up.
Use a temporary directory instead.

PR-URL: https://github.com/nodejs/node/pull/27088
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
Michaël Zasso 2019-04-04 17:31:14 +02:00 committed by Anna Henningsen
parent 3d8532f851
commit 58aaf58406
No known key found for this signature in database
GPG Key ID: 9C63F3A6CD2AD8F9

View File

@ -1,16 +1,22 @@
'use strict';
const common = require('../common');
const tmpdir = require('../common/tmpdir');
const assert = require('assert');
const spawn = require('child_process').spawn;
const path = require('path');
tmpdir.refresh();
const requirePath = JSON.stringify(path.join(tmpdir.path, 'non-existent.json'));
// Use -i to force node into interactive mode, despite stdout not being a TTY
const child = spawn(process.execPath, ['-i']);
let out = '';
const input = "try { require('./non-existent.json'); } catch {} " +
"require('fs').writeFileSync('./non-existent.json', '1');" +
"require('./non-existent.json');";
const input = `try { require(${requirePath}); } catch {} ` +
`require('fs').writeFileSync(${requirePath}, '1');` +
`require(${requirePath});`;
child.stderr.on('data', common.mustNotCall());