-
Notifications
You must be signed in to change notification settings - Fork 91
Description
The "shebang" mode for the parser generator does not work properly on some configurations of JRuby due to the jruby command being a bash script.
This leads to the following error in CI (see #93):
Failure:
Racc::TestRaccCommand#test_executable_parser [/Users/headius/projects/racc/test/test_racc_command.rb:57]:
Expected false to be truthy.
In many installs of JRuby, including the default tarball you can download from https://jruby.org, the jruby command is actually implemented using a bash script. Due to stupidity in the design of shebangs on most *nix systems, this means that the jruby script cannot be used directly in the shebang line of a Ruby script, because bash will attempt to execute both the jruby command and the target script with bash.
This is the reason that RubyGems with binscripts are usually installed using so-called "env shebangs" on JRuby, like so:
#!/usr/bin/env jruby
It is possible to install the jruby-launcher gem which will install a native jruby binary that works with the non-env shebang. This may be an option to get the test to pass, but it may be better to use an env shebang when generating the parser script.