24 lines
524 B
JavaScript
24 lines
524 B
JavaScript
'use strict';
|
|
require('../common');
|
|
const assert = require('assert');
|
|
const spawn = require('child_process').spawn;
|
|
|
|
// Spawn a node child process in "interactive" mode (force the repl) and eval
|
|
const cp = spawn(process.execPath, ['-i', '-e', 'console.log("42")']);
|
|
let gotToEnd = false;
|
|
|
|
cp.stdout.setEncoding('utf8');
|
|
|
|
let output = '';
|
|
cp.stdout.on('data', function(b) {
|
|
output += b;
|
|
if (output.endsWith('> 42\n')) {
|
|
gotToEnd = true;
|
|
cp.kill();
|
|
}
|
|
});
|
|
|
|
process.on('exit', function() {
|
|
assert(gotToEnd);
|
|
});
|