Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 628580 - =dev-util/cucumber-2.4.0-r1: is missing 'pry' in tests: Failure/Error: require 'pry': LoadError: cannot load such file -- pry
Summary: =dev-util/cucumber-2.4.0-r1: is missing 'pry' in tests: Failure/Error: requir...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Hans de Graaff
URL:
Whiteboard:
Keywords: TESTFAILURE
Depends on:
Blocks: 628344
  Show dependency tree
 
Reported: 2017-08-22 08:29 UTC by Sergei Trofimovich (RETIRED)
Modified: 2017-12-06 07:09 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergei Trofimovich (RETIRED) gentoo-dev 2017-08-22 08:29:36 UTC
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)>'
...
Comment 1 Sergei Trofimovich (RETIRED) gentoo-dev 2017-08-22 09:11:06 UTC
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
Comment 2 Hans de Graaff gentoo-dev Security 2017-09-02 07:45:23 UTC
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.
Comment 3 Hans de Graaff gentoo-dev Security 2017-12-06 07:06:43 UTC
(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.
Comment 4 Larry the Git Cow gentoo-dev 2017-12-06 07:09:36 UTC
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(+)