-
-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aruba doesn't work on JRuby :( #27
Comments
The intent, I think, is for Aruba to work wherever Ruby does. (background_process doesn't work on Windows, either.) mattwynne and I have been trying to find a gem that can handle background processes cross-platform, but it's been slow going. (See issue #16 for some details). So far childprocess (https://github.com/jarib/childprocess) looks like the best bet, but it needs to be modified to handle input streams, too. Shouldn't be too hard, but it's going to take some work to make sure it works on all the platforms. |
It seems like there are two competing totally legitimate desires here: the desire to have aruba usable on all ruby interpreters, and the desire to have aruba do cool interaction stuff that's useful for some testing situations. Hopefully you'll be able to get it to that point where aruba can satisfy both of these, but in the mean time, how does this sound as a decent compromise: Extract all of the non jruby/windows-compatible Aruba::API methods and cucumber steps into separate files that are not automatically required when you That way, users (like me) who just want to use the simple non-interactive parts of aruba on all ruby interpreters can do so. Users who want the interactive process stuff can require the extra file and use it. The file name makes it clear to folks that they are using steps that are not compatible everywhere. What is the most recent old version (if there is one) that is supports JRuby? I checked out an old version (0.2.1, I think) and ran the cukes and got a couple of failures on JRuby. |
I'm unsure what is the best version to use with JRuby, but I did just send a pull request to Aslak to merge in a bunch of improvements I made to the interactive support, including encapsulating process control in a Process class. If that gets in it should be pretty easy to get the basics working on JRuby and Windows while we sort out what is the best cross-platform process control library. |
Is there any particular reason you want to run Aruba on JRuby? You can use Aruba on MRI to test a command line application that runs on JRuby (or Ada for that matter). Apart from that I like your suggestions. |
I've got a gem that I'm testing against MRI 1.8.6, 1.8.7, 1.9.1, 1.9.2, REE, rubinius and JRuby. The cukes use aruba. I've just been running the cukes on each ruby interpreter. I hadn't considered running the cukes using a single ruby interpreter and having them run the generated files using each interpreter...I may investigate that to see if I can get it to work. Still, it'd be nice if Aruba worked on JRuby...that'd be simplest here, I think. |
jarib added support for stdin to childprocess, and I've integrated childprocess into Aruba in my chidprocess branch: https://www.github.com/msassak/aruba/tree/childprocess Aruba will still require a bit of tweaking to get running under JRuby (patches welcome!) but its process control library is no longer preventing it from working. |
@myronmarston Have you had any luck with either approach? |
It looks like recent versions of aruba might work with JRuby now: https://github.com/aslakhellesoy/aruba/blob/master/History.txt#L42 I'm using a monkey patched old version of aruba w/ JRuby for VCR. See my env.rb file and the aruba_workaround directory. Upgrading aruba to a more recent version has been on my TODO list for a while, but since adding these monkey patches I haven't had any issues...so I've had little incentive to upgrade. Myron |
I'm still seeing issues - I've been looking at rspec-core's cukes (which use aruba 0.3.5) and it looks like Sidu. |
No description provided. |
I am closing this, I think several people are using Aruba with JRuby now, right? |
Yeah, it works fine for me now. I didn't realize this was still open. Thanks! |
Inspired by RSpec's awesome cukes, I've started working on rewriting the cukes for my VCR gem in a similar style, using aruba. Unfortunately, I discovered that the latest Aruba is not compatible with JRuby. Here's the output when you run aruba's cukes on JRuby:
I don't think background_process is compatible with JRuby at all. Is aruba intended to be compatible with JRuby?
The text was updated successfully, but these errors were encountered: