[jruby~main:70972310] Fix minor logging bug in embedding API
- From: nicksieger@kenai.com
- To: commits@jruby.kenai.com
- Subject: [jruby~main:70972310] Fix minor logging bug in embedding API
- Date: Mon, 15 Mar 2010 17:05:57 +0000
Project: jruby
Repository: main
Revision: 709723104278b82c9b892b0a05402a471d77130a
Author: nicksieger
Date: 2010-03-15 16:57:17 UTC
Link:
Log Message:
------------
Fix minor logging bug in embedding API
Revisions:
----------
709723104278b82c9b892b0a05402a471d77130a
Modified Paths:
---------------
src/org/jruby/embed/ScriptingContainer.java
src/org/jruby/embed/internal/EmbedEvalUnitImpl.java
test/org/jruby/embed/ScriptingContainerTest.java
test/org/jruby/embed/jsr223/JRubyEngineTest.java
Diffs:
------
diff --git a/src/org/jruby/embed/ScriptingContainer.java
b/src/org/jruby/embed/ScriptingContainer.java
index b8f751f..abf383d 100644
--- a/src/org/jruby/embed/ScriptingContainer.java
+++ b/src/org/jruby/embed/ScriptingContainer.java
@@ -33,12 +33,11 @@ import org.jruby.embed.internal.LocalContextProvider;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
+import java.io.PrintWriter;
import java.io.Reader;
import java.io.Writer;
import java.net.URISyntaxException;
-import java.util.Collections;
import java.util.Enumeration;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.PropertyResourceBundle;
@@ -209,7 +208,8 @@ public class ScriptingContainer implements
EmbedRubyInstanceConfigAdapter {
try {
initConfig();
} catch (URISyntaxException ex) {
- ex.printStackTrace();
+ Writer w = getErrorWriter();
+ ex.printStackTrace((PrintWriter)w);
throw new RuntimeException(ex);
}
}
diff --git a/src/org/jruby/embed/internal/EmbedEvalUnitImpl.java
b/src/org/jruby/embed/internal/EmbedEvalUnitImpl.java
index f8fb4fd..411afe5 100644
--- a/src/org/jruby/embed/internal/EmbedEvalUnitImpl.java
+++ b/src/org/jruby/embed/internal/EmbedEvalUnitImpl.java
@@ -40,7 +40,6 @@ import org.jruby.embed.EmbedEvalUnit;
import org.jruby.embed.EvalFailedException;
import org.jruby.embed.ScriptingContainer;
import org.jruby.exceptions.RaiseException;
-import org.jruby.javasupport.JavaEmbedUtils;
import org.jruby.runtime.builtin.IRubyObject;
import org.jruby.runtime.scope.ManyVarsDynamicScope;
diff --git a/test/org/jruby/embed/ScriptingContainerTest.java
b/test/org/jruby/embed/ScriptingContainerTest.java
index e5f466c..4e1b86b 100644
--- a/test/org/jruby/embed/ScriptingContainerTest.java
+++ b/test/org/jruby/embed/ScriptingContainerTest.java
@@ -568,17 +568,13 @@ public class ScriptingContainerTest {
instance.setWriter(writer);
instance.setErrorWriter(writer);
EmbedEvalUnit result;
- /*
- * FIX ME
- * FileNotFoundException could not be caught at all.
+
try {
result = instance.parse(type, filename, lines);
} catch (Throwable t) {
assertTrue(t.getCause() instanceof FileNotFoundException);
- //t.printStackTrace(new PrintStream(outStream));
+ t.printStackTrace(new PrintStream(outStream));
}
- *
- */
filename = basedir + "/test/org/jruby/embed/ruby/next_year.rb";
result = instance.parse(PathType.ABSOLUTE, filename);
@@ -793,17 +789,12 @@ public class ScriptingContainerTest {
Object expResult = null;
Object result;
- /*
- * FIX ME
- * FileNotFoundException could not be caught at all.
try {
result = instance.parse(type, filename);
} catch (Throwable e) {
assertTrue(e.getCause() instanceof FileNotFoundException);
e.printStackTrace(new PrintStream(outStream));
}
- *
- */
// absolute path
filename = basedir + "/test/org/jruby/embed/ruby/next_year.rb";
@@ -2279,12 +2270,12 @@ public class ScriptingContainerTest {
filename = "["+this.getClass().getCanonicalName()+"]";
instance = new ScriptingContainer(LocalContextScope.SINGLETHREAD);
instance.setScriptFilename(filename);
- StringWriter writer = new StringWriter();
- instance.setErrorWriter(writer);
+ StringWriter sw = new StringWriter();
+ instance.setErrorWriter(sw);
try {
instance.runScriptlet("puts \"Hello");
} catch (RuntimeException e) {
- assertTrue(writer.toString().contains(filename));
+ assertTrue(sw.toString().contains(filename));
}
instance = null;
diff --git a/test/org/jruby/embed/jsr223/JRubyEngineTest.java
b/test/org/jruby/embed/jsr223/JRubyEngineTest.java
index aa2c386..126fc35 100644
--- a/test/org/jruby/embed/jsr223/JRubyEngineTest.java
+++ b/test/org/jruby/embed/jsr223/JRubyEngineTest.java
@@ -252,11 +252,11 @@ public class JRubyEngineTest {
String[] big5 = {"Alaska", "Texas", "California", "Montana", "New
Mexico"};
context.setAttribute("@list", Arrays.asList(big5),
ScriptContext.ENGINE_SCOPE);
- StringWriter writer = new StringWriter();
- context.setWriter(writer);
+ StringWriter sw = new StringWriter();
+ context.setWriter(sw);
instance.eval(reader, context);
String expResult = "Alaska >> Texas >> California >> Montana >> New
Mexico: 5 in total";
- assertEquals(expResult, writer.toString().trim());
+ assertEquals(expResult, sw.toString().trim());
instance.getBindings(ScriptContext.ENGINE_SCOPE).clear();
instance = null;
@@ -505,14 +505,14 @@ public class JRubyEngineTest {
ScriptEngineManager manager = new ScriptEngineManager();
JRubyEngine instance = (JRubyEngine)
manager.getEngineByName("jruby");
ScriptContext ctx = new SimpleScriptContext();
- StringWriter writer = new StringWriter();
- writer.write("Have a great summer!");
- ctx.setWriter(writer);
+ StringWriter sw = new StringWriter();
+ sw.write("Have a great summer!");
+ ctx.setWriter(sw);
instance.setContext(ctx);
ScriptContext result = instance.getContext();
Writer w = result.getWriter();
Object expResult = "Have a great summer!";
- assertTrue(writer == result.getWriter());
+ assertTrue(sw == result.getWriter());
assertEquals(expResult, (result.getWriter()).toString());
instance.getBindings(ScriptContext.ENGINE_SCOPE).clear();
@@ -725,17 +725,17 @@ public class JRubyEngineTest {
ScriptEngineManager manager = new ScriptEngineManager();
JRubyEngine instance = (JRubyEngine)
manager.getEngineByName("jruby");
instance.eval("$x='GVar'");
- StringWriter writer = new StringWriter();
- instance.getContext().setWriter(writer);
+ StringWriter sw = new StringWriter();
+ instance.getContext().setWriter(sw);
instance.eval("at_exit { puts \"#{$x} in an at_exit block\" }");
String expResult = "";
- assertEquals(expResult, writer.toString().trim());
+ assertEquals(expResult, sw.toString().trim());
- writer = new StringWriter();
- instance.getContext().setWriter(writer);
+ sw = new StringWriter();
+ instance.getContext().setWriter(sw);
instance.getContext().setAttribute("org.jruby.embed.termination",
true, ScriptContext.ENGINE_SCOPE);
instance.eval("");
expResult = "GVar in an at_exit block";
- assertEquals(expResult, writer.toString().trim());
+ assertEquals(expResult, sw.toString().trim());
}
}
\ No newline at end of file
|
[jruby~main:70972310] Fix minor logging bug in embedding API |
nicksieger | 03/15/2010 |





