[DRE-maint] Bug#996222: ruby-factory-bot: FTBFS with ruby3.0: ERROR: Test "ruby3.0" failed: ArgumentError:

Antonio Terceiro terceiro at debian.org
Tue Oct 12 13:05:34 BST 2021


Source: ruby-factory-bot
Version: 5.1.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-factory-bot 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):
>       ArgumentError:
>         wrong number of arguments (given 1, expected 0; required keyword: attributes)
>       # ./spec/acceptance/initialize_with_spec.rb:220:in `initialize'
>       # ./lib/factory_bot/decorator/new_constructor.rb:9:in `new'
>       # ./lib/factory_bot/decorator/new_constructor.rb:9:in `new'
>       # ./lib/factory_bot/decorator.rb:18:in `send'
>       # ./lib/factory_bot/decorator.rb:10:in `method_missing'
>       # ./lib/factory_bot/decorator/invocation_tracker.rb:11:in `method_missing'
>       # ./lib/factory_bot/decorator.rb:18:in `send'
>       # ./lib/factory_bot/decorator.rb:10:in `method_missing'
>       # ./spec/acceptance/initialize_with_spec.rb:228:in `block (5 levels) in <top (required)>'
>       # ./lib/factory_bot/attribute_assigner.rb:51:in `instance_exec'
>       # ./lib/factory_bot/attribute_assigner.rb:51:in `build_class_instance'
>       # ./lib/factory_bot/attribute_assigner.rb:13:in `object'
>       # ./lib/factory_bot/evaluation.rb:13:in `object'
>       # ./lib/factory_bot/strategy/build.rb:9:in `result'
>       # ./lib/factory_bot/factory.rb:43:in `run'
>       # ./lib/factory_bot/factory_runner.rb:29:in `block in run'
>       # /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/notifications.rb:182:in `instrument'
>       # ./lib/factory_bot/factory_runner.rb:28:in `run'
>       # ./lib/factory_bot/strategy_syntax_method_registrar.rb:20:in `block in define_singular_strategy_method'
>       # ./spec/acceptance/initialize_with_spec.rb:232:in `block (2 levels) in <top (required)>'
> 
> Finished in 3.23 seconds (files took 0.85211 seconds to load)
> 343 examples, 13 failures
> 
> Failed examples:
> 
> rspec ./spec/acceptance/lint_spec.rb:2 # FactoryBot.lint raises when a factory is invalid
> rspec ./spec/acceptance/lint_spec.rb:43 # FactoryBot.lint allows for selective linting
> rspec ./spec/acceptance/lint_spec.rb:29 # FactoryBot.lint does not raise when all factories are valid
> rspec ./spec/acceptance/lint_spec.rb:181 # FactoryBot.lint verbose linting prints the backtrace for each factory error
> rspec ./spec/acceptance/lint_spec.rb:91 # FactoryBot.lint trait validation enabled does not raise if a trait produces a valid object
> rspec ./spec/acceptance/lint_spec.rb:66 # FactoryBot.lint trait validation enabled raises if a trait produces an invalid object
> rspec ./spec/acceptance/lint_spec.rb:112 # FactoryBot.lint trait validation disabled does not raises if a trait produces an invalid object
> rspec ./spec/acceptance/lint_spec.rb:135 # FactoryBot.lint factory strategy for linting uses the requested strategy
> rspec ./spec/acceptance/lint_spec.rb:155 # FactoryBot.lint factory strategy for linting uses the requested strategy during trait validation
> rspec ./spec/acceptance/callbacks_spec.rb:66 # callbacks using Symbol#to_proc runs the callback correctly
> rspec ./spec/acceptance/definition_spec.rb:39 # attributes defined using Symbol#to_proc assigns value with override correctly
> rspec ./spec/acceptance/definition_spec.rb:32 # attributes defined using Symbol#to_proc assigns values correctly
> rspec ./spec/acceptance/initialize_with_spec.rb:216 # initialize_with with an 'attributes' attribute assigns attributes correctly
> 
> Randomized with seed 48924
> 
> /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/acceptance/\*\*/\*_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-factory-bot/ruby-factory-bot_5.1.1-1+rebuild1633379375_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/20211012/e415a077/attachment.sig>


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