From: Moore, G. <Gre...@ad...> - 2007-11-20 16:14:18
|
Adam,=20 I'm not sure if you got any sort of response. so I'll provide what I can so you don't feel like you've been forgotten. :-)=20 First a disclaimer, I know very little about Ruby / jRuby.=20 =20 Wrt running jruby inside Jython. I haven't heard of, or seen any reference to any doing anything like that. Honestly in my mind it begs the question; why would I want to do that any way? Could jython be run from jruby....would I even want to do that? =20 Based on the stack dump that you provided I'd say that it looks like the error is coming from jruby, but I could be wrong. This is a pretty esoteric question so I suspect there are very few that have even tried it. My best suggestion is try the ruby lists again. I know Charles Nutter has some experience with both Jython and JRuby but I don't if even he would have tried this. =20 Regards, Greg. ________________________________ From: jyt...@li... [mailto:jyt...@li...] On Behalf Of adam goucher Sent: Thursday, November 15, 2007 7:41 PM To: jyt...@li... Subject: [Jython-users] jruby inside jython =20 I originally sent this to the jruby list, but did not get any solutions. Has anyone on this side of things had success running jruby inside jython for running ruby unit tests? ________________________________ (I tried to search the archives, but it wasn't working...) =20 I'm trying to use JRuby in Jython via the JSR-233 engine. The ruby script is a Test::Unit::TestCase originating one and runs from the command line using the regular ruby interpreter. When I try to run it from it from inside my script however, things get ugly. I'm rather confused as to why it is blowing up in the way it is, but realize that it might be something trivial to make it work and having hit the 'spent enough time not figuring it out' its off to the mailing list. =20 So can anyone shed light into the origin of the backtrace or have solved this problem a different way? =20 Note: r.eval('puts "Hello!"') works fine, it is just when I pass in this script that it does not work. =20 Thanks. =20 -adam http://adam.goucher.ca <http://adam.goucher.ca/>=20 =20 <ruby> require 'test/unit' class ExampleTest < Test::Unit::TestCase def test_something p "ruby!" end def test_another p "again!" end end </ruby> =20 <jython> import javax.script.ScriptContext import javax.script.ScriptEngine import javax.script.ScriptEngineManager import javax.script.ScriptException =20 m =3D javax.script.ScriptEngineManager() r =3D m.getEngineByName("jruby") rs =3D open(f, "r") y =3D r.eval(rs.read()) rs.close() </jython> =20 <ugliness> Traceback (innermost last): File "jpythonruby.py", line 48, in ? C:/temp/jpythonruby/jruby-1.0.2/lib/ruby/1.8/test/unit/autorunner.rb:59: private method `sub' called for nil:NilClass (NoMethodError) from C:/temp/jpythonruby/jruby-1.0.2/lib/ruby/1.8/test/unit.rb:2:in `call' from C:/temp/jpythonruby/jruby-1.0.2/lib/ruby/1.8/test/unit/autorunner.rb:198 :in `run' from C:/temp/jpythonruby/jruby-1.0.2/lib/ruby/1.8/test/unit/autorunner.rb:13: in `run' from C:/temp/jpythonruby/jruby-1.0.2/lib/ruby/1.8/test/unit.rb:278 from <unknown>:1 ...internal jruby stack elided... from org.jruby.runtime.Block.yield(Block.java:260) from org.jruby.runtime.Block.call(Block.java:214) from org.jruby.RubyProc.call(RubyProc.java:169) from org.jruby.RubyProc.call(RubyProc.java:148) from org.jruby.Ruby.tearDown(Ruby.java:1447) from org.jruby.javasupport.JavaEmbedUtils.terminate(JavaEmbedUtils.java:66) from com.sun.script.jruby.JRubyScriptEngine.evalNode(JRubyScriptEngine.java:3 96) from com.sun.script.jruby.JRubyScriptEngine.eval(JRubyScriptEngine.java:139) from javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247) from sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) from sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39) from sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) from java.lang.reflect.Method.invoke(Method.java:597) from org.python.core.PyReflectedFunction.__call__(Unknown Source) from org.python.core.PyMethod.__call__(Unknown Source) from org.python.core.PyObject.__call__(Unknown Source) from org.python.core.PyInstance.invoke(Unknown Source) from org.python.pycode._pyx0.f$0(jpythonruby.py:48) from org.python.pycode._pyx0.call_function(jpythonruby.py) from org.python.core.PyTableCode.call(Unknown Source) from org.python.core.PyCode.call(Unknown Source) from org.python.core.Py.runCode(Unknown Source) from org.python.core.__builtin__.execfile_flags(Unknown Source) from org.python.util.PythonInterpreter.execfile(Unknown Source) from org.python.util.jython.main(Unknown Source) org.jruby.exceptions.RaiseException: org.jruby.exceptions.RaiseException </ugliness> ________________________________ Are you ready for Windows Live Messenger Beta 8.5 ? Get the latest for free today! <http://entertainment.sympatico.msn.ca/WindowsLiveMessenger> =20 ________________________________ Have fun while connecting on Messenger! Click here to learn more. <http://entertainment.sympatico.msn.ca/WindowsLiveMessenger>=20 This message and any attachments are intended only for the use of the add= ressee and may contain information that is privileged and confidential. I= f the reader of the message is not the intended recipient or an authorize= d representative of the intended recipient, you are hereby notified that = any dissemination of this communication is strictly prohibited. If you ha= ve received this communication in error, please notify us immediately by = e-mail and delete the message and any attachments from your system. |