-
-
Notifications
You must be signed in to change notification settings - Fork 161
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
cucumber scenarios fail with ruby 3.3 #910
Comments
ruby3.3 is going to be released within one month. Can you enable ruby3.3 on github CI and debug this issue? |
Hi @mtasaka thanks for the reminder. I'll look into it. |
I have debugged this issue and the source of the difference is that Reline behaves oddly when output is not a tty. This can be demonstrated without
Or even simpler:
|
Fow now, I've forwarded to ruby for Reline behavior: https://bugs.ruby-lang.org/issues/20052 |
Summarizing, this issue with Reline affects the test suite because
Options for Aruba are:
I lean toward the first option, which means
|
As a workaround, adding |
Thanks @tompng. I looked that pull request and its comments and another work-around was merged later, which uses Reline but sets |
Some other workaround I found is to Ease the assertion condition from Then the output should match:
"""
\[1\] pry\(main\)> input1\n?=> output2
"""
And the output should match:
"""
\[2\] pry\(main\)> input2\n?=> output2
""" Or use a dummy readline for test
|
Thanks @tompng I'll try those. |
In ruby 3.3, requiring readline does not load the real readline library but falls back to reline by default. This creates odd output when the terminal is not a real TTY, making the interactive debugging scenario fail. See #910 for details. Also, see ruby/reline#616 for the resulting reline issue. As a workaround, add the readline-ext gem which tries to use the real readline as was the default in Ruby 3.2 and earlier.
In Ruby 3.3, requiring readline does not load the real readline library but falls back to reline by default. This creates odd output when the terminal is not a real TTY and a prompt is used when getting input. Because pry uses a prompt, this makes the interactive debugging scenario fail. This change works around this issue by switching to irb. Irb will not use a prompt, possibly because the output is not a TTY. See #910. Also, see ruby/reline#616 for the resulting reline issue.
With ruby 3.3 ( I tried ruby/ruby@2ceb536 ) , aruba ( e9192be ) cucumber test fails like:
I think 4
open_console.feature
scenarios failures are due to ruby/irb#613 , for other 3 failures I have no idea for now.Details are:
The text was updated successfully, but these errors were encountered: