[DRE-maint] Bug#1093930: ruby-rspec-parameterized: FTBFS: TypeError: Refinement#include has been removed

Santiago Vila sanvila at debian.org
Fri Jan 24 01:00:05 GMT 2025


Package: src:ruby-rspec-parameterized
Version: 0.4.2-2
Severity: serious
Tags: ftbfs trixie sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=ruby --with ruby
   dh_auto_clean -O--buildsystem=ruby
	dh_ruby --clean
W: XS-Ruby-Versions is deprecated, and will be ignored
   dh_autoreconf_clean -O--buildsystem=ruby
   dh_clean -O--buildsystem=ruby
 debian/rules binary
dh binary --buildsystem=ruby --with ruby
   dh_update_autotools_config -O--buildsystem=ruby
   dh_autoreconf -O--buildsystem=ruby
   dh_auto_configure -O--buildsystem=ruby
	dh_ruby --configure
   dh_auto_build -O--buildsystem=ruby
	dh_ruby --build
   dh_auto_test -O--buildsystem=ruby
	dh_ruby --test
   create-stamp debian/debhelper-build-stamp
   dh_testroot -O--buildsystem=ruby
   dh_prep -O--buildsystem=ruby
   dh_auto_install --destdir=debian/ruby-rspec-parameterized/ -O--buildsystem=ruby
	dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized

┌──────────────────────────────────────────────────────────────────────────────┐
│ ruby-rspec-parameterized: Installing files and building extensions for ruby3.1│
└──────────────────────────────────────────────────────────────────────────────┘

/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20250122-12954-2950r0/gemspec
Failed to load /dev/null because it doesn't contain valid YAML hash
WARNING:  licenses is empty, but is recommended.  Use a license identifier from
http://spdx.org/licenses or 'Nonstandard' for a nonstandard license,
or set it to nil if you don't want to specify a license.
WARNING:  open-ended dependency on parser (>= 0) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on unparser (>= 0) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on proc_to_ast (>= 0) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on binding_ninja (>= 0.2.3) is not recommended
  if binding_ninja is semantically versioned, use:
    add_runtime_dependency 'binding_ninja', '~> 0.2', '>= 0.2.3'
WARNING:  open-ended dependency on rake (>= 12.0.0, development) is not recommended
  if rake is semantically versioned, use:
    add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
WARNING:  See https://guides.rubygems.org/specification-reference/ for help
  Successfully built RubyGem
  Name: rspec-parameterized
  Version: 0.4.2
  File: rspec-parameterized-0.4.2.gem
/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all /tmp/d20250122-12954-2950r0/rspec-parameterized-0.4.2.gem
Failed to load /dev/null because it doesn't contain valid YAML hash
/<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all/gems/rspec-parameterized-0.4.2/lib/rspec-parameterized.rb
/<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all/gems/rspec-parameterized-0.4.2/lib/rspec/parameterized.rb
/<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all/gems/rspec-parameterized-0.4.2/lib/rspec/parameterized/table.rb
/<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all/gems/rspec-parameterized-0.4.2/lib/rspec/parameterized/table_syntax.rb
/<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all/gems/rspec-parameterized-0.4.2/lib/rspec/parameterized/version.rb
Successfully installed rspec-parameterized-0.4.2
1 gem installed
cd debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all
rm -rf bin
rm -rf build_info
rm -rf cache
rm -rf doc
rm -rf extensions
rmdir plugins
cd gems/rspec-parameterized-0.4.2
rm -f 
chmod 644 lib/rspec/parameterized/table.rb lib/rspec/parameterized/table_syntax.rb lib/rspec/parameterized/version.rb lib/rspec/parameterized.rb lib/rspec-parameterized.rb
find lib/ -type d -empty -delete
cd -
cd -
dh_installchangelogs -pruby-rspec-parameterized /<<PKGBUILDDIR>>/CHANGELOG.md upstream
/usr/bin/ruby3.1 /usr/bin/gem2deb-test-runner

┌──────────────────────────────────────────────────────────────────────────────┐
│ Checking Rubygems dependency resolution on ruby3.1                           │
└──────────────────────────────────────────────────────────────────────────────┘

RUBYLIB=. GEM_PATH=/<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all:/<<PKGBUILDDIR>>/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0 ruby3.1 -e gem\ \"rspec-parameterized\"

┌──────────────────────────────────────────────────────────────────────────────┐
│ Run tests for ruby3.1 from debian/ruby-tests.rake                            │
└──────────────────────────────────────────────────────────────────────────────┘

RUBYLIB=. GEM_PATH=/<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all:/<<PKGBUILDDIR>>/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0 ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake
/usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation
warning: parser/current is loading parser/ruby31, which recognizes 3.1.6-compliant syntax, but you are running 3.1.2.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
Run options: include {:current=>true}

All examples were filtered out; ignoring {:current=>true}

RSpec::Parameterized
  where and with_them
    a: 1, b: 2, answer: 3
      should do additions
    a: 5, b: 8, answer: 13
      should do additions
    a: 0, b: 0, answer: 0
      should do additions
    a: 1, b: 2, answer: 3
      1 + 2 == 3
    a: 5, b: 8, answer: 13
      5 + 8 == 13
    a: 0, b: 0, answer: 0
      0 + 0 == 0
    a: 1, b: 2, answer: 3
      should do additions (PENDING: PENDING)
    a: 5, b: 8, answer: 13
      should do additions (PENDING: PENDING)
    a: 0, b: 0, answer: 0
      should do additions (PENDING: PENDING)
  lambda parameter
    a: 1, b: 2, answer: -> {should == 3}
      should do additions
    a: 5, b: 8, answer: -> {should == 13}
      should do additions
    a: 0, b: 0, answer: -> {should == 0}
      should do additions
  Hash arguments
    a: 1, b: 5, c: 2
      sums is even
    a: 1, b: 5, c: 4
      sums is even
    a: 1, b: 7, c: 2
      sums is even
    a: 1, b: 7, c: 4
      sums is even
    a: 1, b: 9, c: 2
      sums is even
    a: 1, b: 9, c: 4
      sums is even
    a: 3, b: 5, c: 2
      sums is even
    a: 3, b: 5, c: 4
      sums is even
    a: 3, b: 7, c: 2
      sums is even
    a: 3, b: 7, c: 4
      sums is even
    a: 3, b: 9, c: 2
      sums is even
    a: 3, b: 9, c: 4
      sums is even
  Verbose syntax
    positive integers
      should do additions
      should have custom name
    negative_integers
      should do additions
      should have custom name
    mixed_integers
      should do additions
      should have custom name
    lambda parameter
      integers
        should do additions
        should have custom name
      strings
        should do additions
        should have custom name
      arrays
        should do additions
        should have custom name
  Custom test case name
    when regular arguments
      positive integers
        should do additions
        should have custom test name
      negative integers
        should do additions
        should have custom test name
      mixed integers
        should do additions
        should have custom test name
    when hash arguments
      1 + 5 + 2
        sum is even
        should have custom names
      1 + 5 + 4
        sum is even
        should have custom names
      1 + 7 + 2
        sum is even
        should have custom names
      1 + 7 + 4
        sum is even
        should have custom names
      1 + 9 + 2
        sum is even
        should have custom names
      1 + 9 + 4
        sum is even
        should have custom names
      3 + 5 + 2
        sum is even
        should have custom names
      3 + 5 + 4
        sum is even
        should have custom names
      3 + 7 + 2
        sum is even
        should have custom names
      3 + 7 + 4
        sum is even
        should have custom names
      3 + 9 + 2
        sum is even
        should have custom names
      3 + 9 + 4
        sum is even
        should have custom names
    when arguments are separated with pipe (using TableSyntax)
      integers
        a plus b is answer
        should have custom test name
      strings
        a plus b is answer
        should have custom test name
      arrays
        a plus b is answer
        should have custom test name
      giant numbers
        a plus b is answer
        should have custom test name
  table separated with pipe (using TableSyntax)
    a: 1, b: 2, answer: 3
      a plus b is answer
    a: "hello ", b: "world", answer: "hello world"
      a plus b is answer
    a: [1, 2, 3], b: [4, 5, 6], answer: [1, 2, 3, 4, 5, 6]
      a plus b is answer
    a: 100000000000000000000, b: 100000000000000000000, answer: 200000000000000000000
      a plus b is answer
  table separated with pipe and lambda parameter (using TableSyntax)
    a: 1, b: 2, matcher: -> { eq(3) }
      a plus b is answer
    a: "hello ", b: "world", matcher: -> { eq("hello world") }
      a plus b is answer
    a: [1, 2, 3], b: [4, 5, 6], matcher: -> { be_a(Array) }
      a plus b is answer
    a: 100000000000000000000, b: 100000000000000000000, matcher: -> { eq(200000000000000000000) }
      a plus b is answer
  when the where block is after with_them
    a: 1, b: 2, answer: 3
      should do additions
    a: 5, b: 8, answer: 13
      should do additions
    a: 0, b: 0, answer: 0
      should do additions
    a: 1, b: 2, answer: 3
      is expected to be a kind of Numeric
    a: 5, b: 8, answer: 13
      is expected to be a kind of Numeric
    a: 0, b: 0, answer: 0
      is expected to be a kind of Numeric
  when the where block is between with_thems
    a: 1, b: 2, answer: 3
      should do additions
    a: 5, b: 8, answer: 13
      should do additions
    a: 0, b: 0, answer: 0
      should do additions
    a: 1, b: 2, answer: 3
      is expected to be a kind of Numeric
    a: 5, b: 8, answer: 13
      is expected to be a kind of Numeric
    a: 0, b: 0, answer: 0
      is expected to be a kind of Numeric
  when the where has only one parameter to be set
    x: 1
      can take an array of elements
    x: 2
      can take an array of elements
    x: 3
      can take an array of elements
  when the table has only a row (using TableSyntax)
    a: 1, b: 2, answer: 3
      a plus b is answer
  when 1st column is nil or true or false
    a: nil, result: nil
      a is result
    a: false, result: false
      a is result
    a: true, result: true
      a is result
  when the where has let variables, defined by parent example group
    parent (define let)
      child 1
        a: 1, b: 2, answer: 3
          a plus b is answer
        a: 5, b: 8, answer: 13
          a plus b is answer
      child 3 (Using TableSyntax)
        a: 1, b: 2, answer: 3
          a plus b is answer
        a: 5, b: 8, answer: 13
          a plus b is answer
      child 3 (use matcher)
        a: 1, b: 2, matcher: #<RSpec::Matchers::BuiltIn::Eq:0x00007f4e475399d0 @expected=3>
          a plus b is answer
        a: 5, b: 8, matcher: #<RSpec::Matchers::BuiltIn::Eq:0x00007f4e475397c8 @expected=13>
          a plus b is answer

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) RSpec::Parameterized where and with_them a: 1, b: 2, answer: 3 should do additions
     # PENDING
     Failure/Error: expect(a + b).to == answer

     ArgumentError:
       The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
     # ./spec/parametarized_spec.rb:37:in `block (4 levels) in <top (required)>'

  2) RSpec::Parameterized where and with_them a: 5, b: 8, answer: 13 should do additions
     # PENDING
     Failure/Error: expect(a + b).to == answer

     ArgumentError:
       The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
     # ./spec/parametarized_spec.rb:37:in `block (4 levels) in <top (required)>'

  3) RSpec::Parameterized where and with_them a: 0, b: 0, answer: 0 should do additions
     # PENDING
     Failure/Error: expect(a + b).to == answer

     ArgumentError:
       The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
     # ./spec/parametarized_spec.rb:37:in `block (4 levels) in <top (required)>'

Finished in 0.02531 seconds (files took 0.37896 seconds to load)
107 examples, 0 failures, 3 pending

/usr/bin/ruby3.3 /usr/bin/gem2deb-test-runner

┌──────────────────────────────────────────────────────────────────────────────┐
│ Checking Rubygems dependency resolution on ruby3.3                           │
└──────────────────────────────────────────────────────────────────────────────┘

RUBYLIB=. GEM_PATH=/<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all:/<<PKGBUILDDIR>>/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.3.0:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -e gem\ \"rspec-parameterized\"

┌──────────────────────────────────────────────────────────────────────────────┐
│ Run tests for ruby3.3 from debian/ruby-tests.rake                            │
└──────────────────────────────────────────────────────────────────────────────┘

RUBYLIB=. GEM_PATH=/<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized/usr/share/rubygems-integration/all:/<<PKGBUILDDIR>>/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.3.0:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake
/usr/bin/ruby3.3 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation
warning: parser/current is loading parser/ruby33, which recognizes 3.3.4-compliant syntax, but you are running 3.3.6.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.

An error occurred while loading ./spec/parametarized_spec.rb.
Failure/Error: include TableSyntaxImplement

TypeError:
  Refinement#include has been removed
# ./lib/rspec/parameterized/table_syntax.rb:29:in `include'
# ./lib/rspec/parameterized/table_syntax.rb:29:in `block in <module:TableSyntax>'
# ./lib/rspec/parameterized/table_syntax.rb:28:in `refine'
# ./lib/rspec/parameterized/table_syntax.rb:28:in `<module:TableSyntax>'
# ./lib/rspec/parameterized/table_syntax.rb:27:in `<module:Parameterized>'
# ./lib/rspec/parameterized/table_syntax.rb:5:in `<module:RSpec>'
# ./lib/rspec/parameterized/table_syntax.rb:4:in `<top (required)>'
# ./spec/parametarized_spec.rb:171:in `block (3 levels) in <top (required)>'
# ./spec/parametarized_spec.rb:170:in `block (2 levels) in <top (required)>'
# ./spec/parametarized_spec.rb:134:in `block in <top (required)>'
# ./spec/parametarized_spec.rb:13:in `<top (required)>'
Run options: include {:current=>true}

All examples were filtered out; ignoring {:current=>true}

Finished in 0.00003 seconds (files took 0.38209 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples

/usr/bin/ruby3.3 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation failed
ERROR: Test "ruby3.3" failed. Exiting.
dh_auto_install: error: dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-rspec-parameterized returned exit code 1
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202501/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:ruby-rspec-parameterized, so that this is still
visible in the BTS web page for this package.

Thanks.



More information about the Pkg-ruby-extras-maintainers mailing list