[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
  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20120518.3c65429)
 
 
Close
loading
Please Confirm
Close