[DRE-maint] Bug#996366: ruby-regexp-parser: FTBFS with ruby3.0: ERROR: Test "ruby3.0" failed: Failure/Error: (min..max).tap { |r| r.define_singleton_method(:minmax) { [min, max] } }

Antonio Terceiro terceiro at debian.org
Wed Oct 13 14:23:21 BST 2021


Source: ruby-regexp-parser
Version: 1.7.1-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: debian-ruby at lists.debian.org
Usertags: ruby3.0

Hi,

We are about to enable building against ruby3.0 on unstable. During a test
rebuild, ruby-regexp-parser was found to fail to build in that situation.

To reproduce this locally, you need to install ruby-all-dev from experimental
on an unstable system or build chroot.

Relevant part (hopefully):
>       Failure/Error: (min..max).tap { |r| r.define_singleton_method(:minmax) { [min, max] } }
> 
>       FrozenError:
>         can't modify frozen object: 2..4
>       # ./lib/regexp_parser/expression.rb:84:in `define_singleton_method'
>       # ./lib/regexp_parser/expression.rb:84:in `block in repetitions'
>       # <internal:kernel>:90:in `tap'
>       # ./lib/regexp_parser/expression.rb:84:in `repetitions'
>       # ./lib/regexp_parser/expression/methods/match_length.rb:11:in `initialize'
>       # ./lib/regexp_parser/expression/methods/match_length.rb:102:in `new'
>       # ./lib/regexp_parser/expression/methods/match_length.rb:102:in `match_length'
>       # ./spec/expression/methods/match_length_spec.rb:157:in `block (3 levels) in <top (required)>'
> 
> Finished in 5.25 seconds (files took 1.46 seconds to load)
> 1498 examples, 23 failures
> 
> Failed examples:
> 
> rspec ./spec/expression/base_spec.rb:88 # Regexp::Expression::Base #repetitions
> rspec ./spec/expression/methods/match_length_spec.rb:15 # Regexp::MatchLength fixed quantified
> rspec ./spec/expression/methods/match_length_spec.rb:16 # Regexp::MatchLength range quantified
> rspec ./spec/expression/methods/match_length_spec.rb:17 # Regexp::MatchLength nested quantified
> rspec ./spec/expression/methods/match_length_spec.rb:18 # Regexp::MatchLength open-end quantified
> rspec ./spec/expression/methods/match_length_spec.rb:24 # Regexp::MatchLength backreference
> rspec ./spec/expression/methods/match_length_spec.rb:25 # Regexp::MatchLength subexp call
> rspec ./spec/expression/methods/match_length_spec.rb:28 # Regexp::MatchLength quantified alternation
> rspec ./spec/expression/methods/match_length_spec.rb:65 # Regexp::MatchLength#include? fixed quantified
> rspec ./spec/expression/methods/match_length_spec.rb:72 # Regexp::MatchLength#include? variably quantified
> rspec ./spec/expression/methods/match_length_spec.rb:78 # Regexp::MatchLength#include? nested quantified
> rspec ./spec/expression/methods/match_length_spec.rb:95 # Regexp::MatchLength#include? called on leaf node
> rspec ./spec/expression/methods/match_length_spec.rb:105 # Regexp::MatchLength#fixed? fixed quantified
> rspec ./spec/expression/methods/match_length_spec.rb:106 # Regexp::MatchLength#fixed? variably quantified
> rspec ./spec/expression/methods/match_length_spec.rb:109 # Regexp::MatchLength#fixed? equal quantified branches
> rspec ./spec/expression/methods/match_length_spec.rb:110 # Regexp::MatchLength#fixed? unequal quantified branches
> rspec ./spec/expression/methods/match_length_spec.rb:115 # Regexp::MatchLength#each returns an Enumerator if called without a block
> rspec ./spec/expression/methods/match_length_spec.rb:123 # Regexp::MatchLength#each is aware of limit option even if called without a block
> rspec ./spec/expression/methods/match_length_spec.rb:130 # Regexp::MatchLength#each is limited to 1000 iterations in case there are infinite match lengths
> rspec ./spec/expression/methods/match_length_spec.rb:134 # Regexp::MatchLength#each scaffolds the Enumerable interface
> rspec ./spec/expression/methods/match_length_spec.rb:142 # Regexp::MatchLength#endless_each returns an Enumerator if called without a block
> rspec ./spec/expression/methods/match_length_spec.rb:150 # Regexp::MatchLength#endless_each never stops iterating for infinite match lengths
> rspec ./spec/expression/methods/match_length_spec.rb:156 # Regexp::MatchLength#inspect is nice
> 
> /usr/bin/ruby3.0 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.9.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation failed
> ERROR: Test "ruby3.0" failed: 


The full build log is available at
https://people.debian.org/~kanashiro/ruby3.0/round2/builds/3/ruby-regexp-parser/ruby-regexp-parser_1.7.1-1+rebuild1633393116_amd64.build.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20211013/8a430789/attachment.sig>


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