if (args.length >= 4) {
version = args[3];
}
try {
NodeScript script = env.createScript(fileName.getName(), fileName, null);
script.setNodeVersion(version);
Future<ScriptStatus> exec;
try {
exec = script.execute();
ScriptStatus status = exec.get(timeout, TimeUnit.SECONDS);
exitCode = status.getExitCode();
if (status.hasCause()) {
Throwable cause = status.getCause();
if (cause instanceof JavaScriptException) {
Object value = ((JavaScriptException) cause).getValue();
Context cx = Context.enter();
System.err.println(Context.toString(value));
Context.exit();
}
if (cause instanceof RhinoException) {
System.err.println(((RhinoException) cause).getScriptStackTrace());
}
cause.printStackTrace(System.err);
}
} finally {
script.close();
}
} catch (TimeoutException te) {
System.err.println("Test timeout!");
exitCode = 102;
} catch (InterruptedException ie) {