From 58aaf58406ab52599d51d4e91249776b260487cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Thu, 4 Apr 2019 17:31:14 +0200 Subject: [PATCH] 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 Reviewed-By: Colin Ihrig Reviewed-By: Luigi Pinca Reviewed-By: Richard Lau Reviewed-By: Yongsheng Zhang Reviewed-By: James M Snell Reviewed-By: Anna Henningsen --- test/parallel/test-repl-require-after-write.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/test/parallel/test-repl-require-after-write.js b/test/parallel/test-repl-require-after-write.js index e4d9b2f5a024dc..ed0a7076c183a0 100644 --- a/test/parallel/test-repl-require-after-write.js +++ b/test/parallel/test-repl-require-after-write.js @@ -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());