tsuraan wrote:
I did notice in that function that the inner program being invoked is
ruby, rather than jruby; is that on purpose?

Ok, so it made it to the compiled tests this time.  My change is:

I think this may have changed the meaning of the test slightly, but I don't think it's a major change. Normally I would have expected the inner "ruby" process to still be run in-process, but perhaps that's been broken at some point, or it's not working on Solaris/Sparc correctly. That may very well be the source of the slowness during the JRubyTestSuite, since there are a few tests that spin "ruby" or "jruby" commands expecting them to run in-process.

Could you link 'jruby' to 'ruby' and see if this passes? If so, I think we have a bug in how we determine whether to launch a "ruby" command in-process.

- Charlie

Index: test/org/jruby/util/ShellLauncherTest.java
===================================================================
--- test/org/jruby/util/ShellLauncherTest.java  (revision 7871)
+++ test/org/jruby/util/ShellLauncherTest.java  (working copy)
@@ -52,7 +52,7 @@
     public void testCanLaunchShellsFromInternallForkedRubyProcess() {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         RubyString cmd = RubyString.newString(runtime,
-                "jruby -e \"system(%Q[ruby -e 'system %q(echo hello)
; puts %q(done)'])\"");
+                "jruby -e \"system(%Q[jruby -e 'system %q(echo
hello); puts %q(done)'])\"");
         int result = ShellLauncher.runAndWait(runtime, new
IRubyObject[]{cmd}, baos);
         assertEquals(0, result);
         String msg = baos.toString();

Basically, I replaced the call to ruby with a call to jruby.  Seems
sensible, I think.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to