3

I've recently installed culerity to use on top of cucumber. But when I run my cucumber specs, they turn red (they were all green before).

The errors I get have this form:

Celerity::Exception::NavigationException: com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException: 500 Internal Server Error for http://localhost:3001/ (Culerity::CulerityException) features/admin.feature:82:in `And I am logged in'

When I look at the web server console (launched by rake culerity:rails:start), the error is:

ERROR Errno::EPIPE: Broken pipe

I've noticed that these errors happen whenever I have cucumber steps (like "go to") that do $browser.goto.

Any idea ?

PS: I have made sure that JRuby is installed and in my path

Jerome Dalbert
  • 10,067
  • 6
  • 56
  • 64

4 Answers4

0

i believe that an upgrade of jruby to a version matching the patch level of ruby that we were running solved our issue, we had to install jruby from source to get the right one

0

This is what the readme for the gem states:

I get a broken pipe error:

    * make sure JRuby is installed and in your path: running jruby -v should not 
produce an error
Harish Shetty
  • 64,083
  • 21
  • 152
  • 198
  • running jruby -v was not causing an error for us, what we figured out was that you could get the broken pipe error when the version of jruby was old, we started over, installing jruby from source to get a newer version and then installed everything and had a working system – imightbeinatree at Cloudspace Sep 23 '10 at 13:06
0

maybe this is related to the issue that i experienced: http://github.com/langalex/culerity/issues/#issue/29

phoet
  • 18,688
  • 4
  • 46
  • 74
0

We ran into a similar problem (broken pipe) with a Rails app on Bundler:

server = Culerity::run_server

didn't actually start the server, leaving

Culerity::RemoteBrowserProxy.new(server, …)

high and dry.

Turns out Bundler messes with RUBYOPT env var (see how Bundler modifies the environment for details), bin/run_celerity_server.rb (from the culerity gem) runs with JRuby as interpreter and JRuby honors RUBYOPT.

As Bundler is not a JRuby gem, the script does not start the server. Culerity::run_server must be invoked in a Bundler-free environment (i.e., with a clean RUBYOPT)

awendt
  • 13,195
  • 5
  • 48
  • 66