FEATURES=test emerge -1 dev-util/cucumber >>> Emerging (4 of 4) dev-util/cucumber-2.4.0-r1::gentoo * cucumber-2.4.0.gem SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ] >>> Unpacking source... * Running unpack phase for all ... * Unpacking .gem file... ... [ ok ] * Uncompressing metadata ... [ ok ] * Unpacking data.tar.gz ... [ ok ] >>> Source unpacked in /dev/shm/portage/dev-util/cucumber-2.4.0-r1/work >>> Preparing source in /dev/shm/portage/dev-util/cucumber-2.4.0-r1/work ... * Running prepare phase for all ... * Running source copy phase for ruby22 ... * Running prepare phase for ruby22 ... >>> Source prepared. >>> Configuring source in /dev/shm/portage/dev-util/cucumber-2.4.0-r1/work ... >>> Source configured. >>> Compiling source in /dev/shm/portage/dev-util/cucumber-2.4.0-r1/work ... * Running compile phase for all ... >>> Source compiled. >>> Test phase: dev-util/cucumber-2.4.0-r1 * Running test phase for ruby22 ... An error occurred while loading ./spec/cucumber/cli/configuration_spec.rb. Failure/Error: require 'pry' LoadError: cannot load such file -- pry # ./spec/spec_helper.rb:9:in `<top (required)>' # ./spec/cucumber/cli/configuration_spec.rb:1:in `<top (required)>' ...
And after adding pry dependency ruby22 test still fails a few backtrace-related tests: >>> Test phase: dev-util/cucumber-2.4.0-r1 * Running test phase for ruby22 ... ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Finished in 1.46 seconds (files took 0.529 seconds to load) 577 examples, 0 failures Using the default profile... .................................................................................................................................................................................................F.....F.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................F-...F--..................................................................................................................................................................... (::) failed steps (::) expected "F\n\n(::) failed steps (::)\n\nerror (RuntimeError)\n./features/step_definitions/steps2.rb:5:in `/I ...ure_1.feature:2 # Scenario: Test Scenario 1\n\n1 scenario (1 failed)\n1 step (1 failed)\n0m0.012s\n" to include "error (RuntimeError)\n./features/step_definitions/steps2.rb:5:in `/I have a couple turtles/'\n./feat...es/test_feature_1.feature:2 # Scenario: Test Scenario 1\n\n1 scenario (1 failed)\n1 step (1 failed)" Diff: @@ -1,2 +1,17 @@ -error (RuntimeError)\n./features/step_definitions/steps2.rb:5:in `/I have a couple turtles/'\n./features/step_definitions/steps2.rb:2:in `/two turtles/'\nfeatures/test_feature_1.feature:3:in `Given two turtles'\n\nFailing Scenarios:\ncucumber features/test_feature_1.feature:2 # Scenario: Test Scenario 1\n\n1 scenario (1 failed)\n1 step (1 failed) +F + +(::) failed steps (::) + +error (RuntimeError) +./features/step_definitions/steps2.rb:5:in `/I have a couple turtles/' +/usr/lib64/ruby/2.2.0/forwardable.rb:204:in `invoke_dynamic_step' +./features/step_definitions/steps2.rb:2:in `/two turtles/' +features/test_feature_1.feature:3:in `Given two turtles' + +Failing Scenarios: +cucumber features/test_feature_1.feature:2 # Scenario: Test Scenario 1 + +1 scenario (1 failed) +1 step (1 failed) +0m0.012s (RSpec::Expectations::ExpectationNotMetError) features/docs/defining_steps/nested_steps.feature:117:in `Then it should fail with:' expected: "Feature: Calling undefined step\n\n Scenario: Call directly\n Given a step that calls an undefin...eatures/call_undefined_step_from_step_def.feature:6\n\n2 scenarios (2 failed)\n2 steps (2 failed)\n" got: "Feature: Calling undefined step\n\n Scenario: Call directly\n Given a step that calls an undefin...eatures/call_undefined_step_from_step_def.feature:6\n\n2 scenarios (2 failed)\n2 steps (2 failed)\n" (compared using ==) Diff: @@ -3,13 +3,16 @@ Scenario: Call directly Given a step that calls an undefined step Undefined dynamic step: "this does not exist" (Cucumber::UndefinedDynamicStep) + /usr/lib64/ruby/2.2.0/forwardable.rb:204:in `invoke_dynamic_step' ./features/step_definitions/steps.rb:2:in `/^a step that calls an undefined step$/' features/call_undefined_step_from_step_def.feature:4:in `Given a step that calls an undefined step' Scenario: Call via another Given a step that calls a step that calls an undefined step Undefined dynamic step: "this does not exist" (Cucumber::UndefinedDynamicStep) + /usr/lib64/ruby/2.2.0/forwardable.rb:204:in `invoke_dynamic_step' ./features/step_definitions/steps.rb:2:in `/^a step that calls an undefined step$/' + /usr/lib64/ruby/2.2.0/forwardable.rb:204:in `invoke_dynamic_step' ./features/step_definitions/steps.rb:6:in `/^a step that calls a step that calls an undefined step$/' features/call_undefined_step_from_step_def.feature:7:in `Given a step that calls a step that calls an undefined step' (RSpec::Expectations::ExpectationNotMetError) features/docs/defining_steps/nested_steps.feature:153:in `Then it should fail with exactly:' No such file or directory - bundle (Aruba::LaunchError) features/docs/raketask.feature:38:in `When I run `bundle exec rake pass`' No such file or directory - bundle (Aruba::LaunchError) features/docs/raketask.feature:42:in `When I run `bundle exec rake fail`' Failing Scenarios: cucumber features/docs/defining_steps/nested_steps.feature:107 # Scenario: Backtrace doesn't skip nested steps cucumber features/docs/defining_steps/nested_steps.feature:131 # Scenario: Undefined nested step cucumber features/docs/raketask.feature:37 # Scenario: Passing feature cucumber features/docs/raketask.feature:41 # Scenario: Failing feature 194 scenarios (4 failed, 190 passed) 1150 steps (4 failed, 3 skipped, 1143 passed) 0m15.751s
pry is a development/debug tool so it should not be needed. I have now removed it in cucumber-2.4.0-r1. I'll leave this bug open because this won't fix the failures in the next step. This looks to fail due to changes in how ruby itself handles things, but this needs further investigation.
(In reply to Hans de Graaff from comment #2) > I'll leave this bug open because this won't fix the failures in the next > step. This looks to fail due to changes in how ruby itself handles things, > but this needs further investigation. The test failures are harmless and caused by a slightly different backtrace due to internal changes in newer dev-lang/ruby versions. These tests have been removed now.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=71bf9bd9a18f2a8e5053a0244d2494e052c5363b commit 71bf9bd9a18f2a8e5053a0244d2494e052c5363b Author: Hans de Graaff <graaff@gentoo.org> AuthorDate: 2017-12-06 07:09:24 +0000 Commit: Hans de Graaff <graaff@gentoo.org> CommitDate: 2017-12-06 07:09:24 +0000 dev-util/cucumber: fix tests Avoid tests broken by different backtrace introduced in recent versions of dev-lang/ruby. Closes: https://bugs.gentoo.org/628580 Package-Manager: Portage-2.3.13, Repoman-2.3.3 dev-util/cucumber/cucumber-2.4.0-r1.ebuild | 4 ++++ 1 file changed, 4 insertions(+)