'use strict'; var common = require('../common'); var assert = require('assert'); var spawn = require('child_process').spawn; // spawn a node child process in "interactive" mode (force the repl) var cp = spawn(process.execPath, ['-i']); var gotToEnd = false; var timeoutId = setTimeout(function() { throw new Error('timeout!'); }, common.platformTimeout(1000)); // give node + the repl 1 second to boot up cp.stdout.setEncoding('utf8'); cp.stdout.once('data', function(b) { clearTimeout(timeoutId); assert.equal(b, '> '); gotToEnd = true; cp.kill(); }); process.on('exit', function() { assert(gotToEnd); });