Use of ScriptingContainer causes errors in unrelated tests which use
ScriptEngine later
---------------------------------------------------------------------------------------
Key: JRUBY-4891
URL: http://jira.codehaus.org/browse/JRUBY-4891
Project: JRuby
Issue Type: Bug
Components: Embedding
Affects Versions: JRuby 1.5.1
Reporter: Trejkaz
I discovered this while testing another issue. The tests I wrote to reproduce
that issue caused another of our tests which ran later on to break when running
all tests.
I condensed it down to a single test.
{code:java}
public class TestScriptEngineIsolation {
@Test
public void testIsolation() throws Exception
{
// If you comment out these two lines, the test passes:
ScriptingContainer container = new ScriptingContainer();
container.runScriptlet("2");
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByExtension("rb");
try
{
engine.put("runnable", new Runnable()
{
@Override
public void run()
{
throw new RuntimeException("Got an error");
}
});
engine.eval("$runnable.run()");
fail("Expected ScriptException");
}
catch (ScriptException e)
{
RaiseException cause = (RaiseException) e.getCause();
// Now we expect the real exception in here.
RuntimeException realCause = (RuntimeException) cause.getCause();
assertEquals("Wrong runtime exception", "Got an error",
realCause.getMessage());
}
}
}
{code}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email