[DRE-maint] Bug#1093929: ruby-rspec-rails: FTBFS: NameError: uninitialized constant RSpec::Rails::OpenStruct
Santiago Vila
sanvila at debian.org
Fri Jan 24 01:00:07 GMT 2025
Package: src:ruby-rspec-rails
Version: 5.0.2-1
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
[... snipped ...]
works with strings
works with custom resolvers
#render_views
propogates to examples in nested groups properly
in a nested group
leaves the parent group as/is
overrides the value inherited from the parent group
passes override to children
with false
tells examples not to render views
with no args
tells examples to render views
with true
tells examples to render views
with false
tells examples not to render views
overrides the global config if render_views is enabled there
with true
tells examples to render views
with no args
tells examples to render views
default
ActionController::Base
does not render views in a nested group
does not render views
ActionController::Metal
renders views
RSpec::Rails::MinitestLifecycleAdapter
invokes minitest lifecycle hooks at the appropriate times
allows let variables named 'send'
be_routable
provides a description
with should_not
fails if routes recognize the path
passes if routes do not recognize the path
with should
fails if routes do not recognize the path
passes if routes recognize the path
RSpec::Rails::FixtureSupport
will allow #setup_fixture to run successfully
with use_transactional_fixtures set to false
still supports fixture_path
with use_transactional_tests set to true
works with #uses_transaction helper
redirect_to
with should_not
when fails due to some other exception
raises that exception
when assert_redirected_to fails
passes
when assert_redirected_to passes
fails with custom failure message
with should
when assert_redirected_to passes
passes
when assert_redirected_to fails
uses failure message from assert_redirected_to
when fails due to some other exception
raises that exception
RSpec::Rails::FeatureExampleGroup
includes Rails route helpers
behaves like an rspec-rails example group mixin
adds does not add `:type` metadata on inclusion
when `infer_spec_type_from_file_location!` is configured
includes itself in example groups tagged with `:type => :feature`
for an example group defined in a file in the .\spec\features\ directory
allows users to override the type
tags groups in that directory with `:type => :feature`
includes itself in the example group
applies configured `before(:context)` hooks with `:type => :feature` metadata
for an example group defined in a file in the ./spec/features/ directory
includes itself in the example group
tags groups in that directory with `:type => :feature`
applies configured `before(:context)` hooks with `:type => :feature` metadata
allows users to override the type
when `infer_spec_type_from_file_location!` is not configured
includes itself in example groups tagged with `:type => :feature`
for an example group defined in a file in the .\spec\features\ directory
does not include itself in the example group
does not tag groups in that directory with `:type => :feature`
for an example group defined in a file in the ./spec/features/ directory
does not tag groups in that directory with `:type => :feature`
does not include itself in the example group
when nested inside a request example group
includes Rails route helpers
#visit
raises an error informing about missing Capybara
is resistant to load order errors
RSpec::Rails::JobExampleGroup
behaves like an rspec-rails example group mixin
adds does not add `:type` metadata on inclusion
when `infer_spec_type_from_file_location!` is configured
includes itself in example groups tagged with `:type => :job`
for an example group defined in a file in the ./spec/jobs/ directory
applies configured `before(:context)` hooks with `:type => :job` metadata
allows users to override the type
includes itself in the example group
tags groups in that directory with `:type => :job`
for an example group defined in a file in the .\spec\jobs\ directory
tags groups in that directory with `:type => :job`
applies configured `before(:context)` hooks with `:type => :job` metadata
includes itself in the example group
allows users to override the type
when `infer_spec_type_from_file_location!` is not configured
includes itself in example groups tagged with `:type => :job`
for an example group defined in a file in the ./spec/jobs/ directory
does not tag groups in that directory with `:type => :job`
does not include itself in the example group
for an example group defined in a file in the .\spec\jobs\ directory
does not include itself in the example group
does not tag groups in that directory with `:type => :job`
RSpec::Rails::HelperExampleGroup
provides a controller_path based on the helper module's name
#helper
includes ApplicationHelper
returns the instance of AV::Base provided by AV::TC::Behavior
behaves like an rspec-rails example group mixin
adds does not add `:type` metadata on inclusion
when `infer_spec_type_from_file_location!` is not configured
includes itself in example groups tagged with `:type => :helper`
for an example group defined in a file in the .\spec\helpers\ directory
does not tag groups in that directory with `:type => :helper`
does not include itself in the example group
for an example group defined in a file in the ./spec/helpers/ directory
does not tag groups in that directory with `:type => :helper`
does not include itself in the example group
when `infer_spec_type_from_file_location!` is configured
includes itself in example groups tagged with `:type => :helper`
for an example group defined in a file in the ./spec/helpers/ directory
includes itself in the example group
tags groups in that directory with `:type => :helper`
allows users to override the type
applies configured `before(:context)` hooks with `:type => :helper` metadata
for an example group defined in a file in the .\spec\helpers\ directory
includes itself in the example group
applies configured `before(:context)` hooks with `:type => :helper` metadata
allows users to override the type
tags groups in that directory with `:type => :helper`
RSpec::Rails::AssertionDelegator
delegates back to the including instance for methods the assertion module requires
does not delegate method_missing
provides a module that delegates assertion methods to an isolated class
RSpec::Rails::ChannelExampleGroup
behaves like an rspec-rails example group mixin
adds does not add `:type` metadata on inclusion
when `infer_spec_type_from_file_location!` is configured
includes itself in example groups tagged with `:type => :channel`
for an example group defined in a file in the .\spec\channels\ directory
applies configured `before(:context)` hooks with `:type => :channel` metadata
tags groups in that directory with `:type => :channel`
allows users to override the type
includes itself in the example group
for an example group defined in a file in the ./spec/channels/ directory
tags groups in that directory with `:type => :channel`
applies configured `before(:context)` hooks with `:type => :channel` metadata
includes itself in the example group
allows users to override the type
when `infer_spec_type_from_file_location!` is not configured
includes itself in example groups tagged with `:type => :channel`
for an example group defined in a file in the .\spec\channels\ directory
does not tag groups in that directory with `:type => :channel`
does not include itself in the example group
for an example group defined in a file in the ./spec/channels/ directory
does not tag groups in that directory with `:type => :channel`
does not include itself in the example group
be_a_new matcher
new record
wrong class
fails
right class
passes
existing record
wrong class
fails
right class
fails
#with
right class and new record
with composable matchers
one attribute is a composable matcher
fails
passes
matcher is wrong type
fails
two attributes are composable matchers
only one matcher present in actual
fails
both matchers present in actual
passes
no attributes same
fails
all attributes same
passes
one attribute same
passes
one attribute value not the same
fails
wrong class and existing record
one attribute value not the same
fails
all attributes same
fails
no attributes same
fails
have_stream matchers
have_stream_from
fails with message
passes
raises when no subscription started
raises ArgumentError when no subscription passed to expect
with negated form
passes
fails with message
with composable matcher
passes
fails with message
have_streams
does not allow usage
raises when no subscription started
with negated form
raises when no subscription started
raises ArgumentError when no subscription passed to expect
passes with negated form
fails with message
have_stream_for
raises ArgumentError when no subscription passed to expect
passes
raises when no subscription started
fails with message
with negated form
passes
fails with message
RSpec::Rails::MailboxExampleGroup
#process
sends mail to the mailbox
#have_failed
raises on unfailed mail
does not raise otherwise
behaves like an rspec-rails example group mixin
adds does not add `:type` metadata on inclusion
when `infer_spec_type_from_file_location!` is not configured
includes itself in example groups tagged with `:type => :mailbox`
for an example group defined in a file in the .\spec\mailboxes\ directory
does not include itself in the example group
does not tag groups in that directory with `:type => :mailbox`
for an example group defined in a file in the ./spec/mailboxes/ directory
does not tag groups in that directory with `:type => :mailbox`
does not include itself in the example group
when `infer_spec_type_from_file_location!` is configured
includes itself in example groups tagged with `:type => :mailbox`
for an example group defined in a file in the ./spec/mailboxes/ directory
allows users to override the type
tags groups in that directory with `:type => :mailbox`
applies configured `before(:context)` hooks with `:type => :mailbox` metadata
includes itself in the example group
for an example group defined in a file in the .\spec\mailboxes\ directory
includes itself in the example group
tags groups in that directory with `:type => :mailbox`
applies configured `before(:context)` hooks with `:type => :mailbox` metadata
allows users to override the type
#have_been_delivered
raises on undelivered mail
does not raise otherwise
#have_bounced
does not raise otherwise
raises on unbounced mail
ActionMailbox matchers
receive_inbound_email
passes when it receives inbound email
passes when negated when it doesn't receive inbound email
fails when negated when it receives inbound email
fails when it doesn't receive inbound email
ActiveSupport::Relation match_array matcher
fails if the scope encompasses more records than on the right hand side
verifies that the scope returns the records on the right hand side, regardless of order
fails if the scope encompasses fewer records than on the right hand side
HaveEnqueuedMail matchers
have_enqueued_mail
matches based on mailer class and method name
generates a failure message when given only mailer argument
generates a failure message
passes when using the enqueue_mail alias
generates a failure message with arguments
throws descriptive error when no test adapter set
passes with multiple emails
passes when given 0 arguments
passes when only given mailer argument
passes with at_least when enqueued emails are over the limit
generates a failure message with at least hint
passes multiple arguments to with block
only calls with block if other conditions are met
passes when negated with 0 arguments
generates a failure message when given 0 argument
generates a failure message with unmatching enqueued mail jobs
fails with with block with incorrect data
accepts composable matchers as an at date
passes with :thrice count
passes when deliver_later is called with a wait_until argument
ensure that the right mailer is enqueued
generates a failure message with at
counts only emails enqueued in the block
passes with :once count
fails when too many emails are enqueued
passes for mailer methods with default arguments
passes when negated
generates a failure message with on_queue
passes when deliver_later is called with a queue argument
passes when negated with only mailer arguments
passes when using the have_enqueued_email alias
passes with at_most when enqueued emails are under the limit
passes when using the enqueue_email alias
fails when negated and mail is enqueued
passes for mailer methods that accept arguments when the provided argument matcher is not used
generates a failure message with at most hint
passes with :twice count
passes with provided argument matchers
passes when a mailer method is called with deliver_later
mailer job is unified
passes with provided argument matchers
passes when mixing parameterized and non-parameterized emails
passes when using a mailer with `delivery_job` set to a sub class of `ActionMailer::DeliveryJob`
passes when mailer is parameterized
when parameterized
passes when mixing parameterized and non-parameterized emails
passes with provided argument matchers
passes when mailer is parameterized
RSpec::Rails::FixtureFileUploadSupport
with fixture path set in spec
resolves fixture file
with fixture path not set
resolves fixture using relative path
with fixture path set in config
resolves fixture file
resolves supports `Pathname` objects
have_rendered
given a string
delegates to assert_template
given a symbol
converts to_s and delegates to assert_template
with should
when assert_template fails
uses failure message from assert_template
when assert_template passes
passes
when fails due to some other exception
raises that exception
given a hash
delegates to assert_template
with should_not
when fails with a redirect
gives informative error message
with a badly formatted error message
falls back to something informative
when fails due to some other exception
raises that exception
when assert_template passes
fails with custom failure message
when assert_template fails
passes
RSpec::Rails::MinitestAssertionAdapter
exposes assert_pattern to host examples
does not expose internal methods of Minitest
exposes flunk to host examples
exposes assert_equal to host examples
exposes refute_respond_to to host examples
does not leak TestUnit specific methods into the AssertionDelegator
exposes assert_match to host examples
exposes refute_in_epsilon to host examples
exposes assert to host examples
exposes refute_match to host examples
exposes refute_includes to host examples
exposes assert_kind_of to host examples
exposes assert_predicate to host examples
exposes assert_throws to host examples
exposes assert_respond_to to host examples
exposes refute_path_exists to host examples
exposes refute_pattern to host examples
exposes refute_same to host examples
exposes assert_instance_of to host examples
exposes assert_raises to host examples
exposes refute_equal to host examples
exposes refute to host examples
exposes assert_silent to host examples
exposes refute_nil to host examples
does not expose Minitest's message method
exposes assert_empty to host examples
exposes assert_same to host examples
exposes refute_predicate to host examples
exposes assert_output to host examples
exposes assert_operator to host examples
exposes assert_includes to host examples
exposes assert_path_exists to host examples
exposes refute_in_delta to host examples
exposes assert_nil to host examples
exposes refute_operator to host examples
exposes assert_send to host examples
exposes assert_in_epsilon to host examples
exposes assert_in_delta to host examples
exposes refute_instance_of to host examples
exposes refute_empty to host examples
exposes refute_kind_of to host examples
ActiveModel support
with partial double verification disabled
allows you to stub `ActiveModel`
allows you to stub instances of `ActiveModel`
with partial double verification enabled
allows you to stub `ActiveModel`
allows you to stub instances of `ActiveModel`
RSpec::Rails::ViewSpecMethods
.add_extra_params_accessors_to
when accessors are already defined
does not redefine them
when accessors are not yet defined
adds them as instance methods
the added #extra_params reader
raises an error when a user tries to mutate it
.remove_extra_params_accessors_from
when accessors are not defined
does nothing
when accessors are defined
removes them
should have_xxx
works with ActiveRecord::Associations::CollectionProxy
Pending: (Failures listed here are expected and do not affect your suite's status)
1) Configuration clears ActionMailer::Base::Deliveries after each example only has deliveries from this test (e.g. from email at example.com)
# Temporarily skipped with xit
# ./spec/rspec/rails/configuration_spec.rb:283
2) Configuration clears ActionMailer::Base::Deliveries after each example only has deliveries from this test (e.g. from email_2 at example.com)
# Temporarily skipped with xit
# ./spec/rspec/rails/configuration_spec.rb:289
Failures:
1) RSpec::Rails::ViewExampleGroup#params delegates to the controller
Failure/Error: @controller ||= OpenStruct.new(params: nil)
NameError:
uninitialized constant RSpec::Rails::OpenStruct
# ./spec/rspec/rails/example/view_example_group_spec.rb:190:in `controller'
# ./spec/rspec/rails/example/view_example_group_spec.rb:196:in `block (3 levels) in <module:Rails>'
# ./spec/spec_helper.rb:74:in `block (3 levels) in <top (required)>'
# ./spec/spec_helper.rb:68:in `block (2 levels) in <top (required)>'
Finished in 1.38 seconds (files took 1.33 seconds to load)
781 examples, 1 failure, 2 pending
Failed examples:
rspec ./spec/rspec/rails/example/view_example_group_spec.rb:195 # RSpec::Rails::ViewExampleGroup#params delegates to the controller
Randomized with seed 21986
/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 ./spec/rspec/rails/active_model_spec.rb ./spec/rspec/rails/active_record_spec.rb ./spec/rspec/rails/assertion_adapter_spec.rb ./spec/rspec/rails/assertion_delegator_spec.rb ./spec/rspec/rails/configuration_spec.rb ./spec/rspec/rails/example/channel_example_group_spec.rb ./spec/rspec/rails/example/controller_example_group_spec.rb ./spec/rspec/rails/example/feature_example_group_spec.rb ./spec/rspec/rails/example/helper_example_group_spec.rb ./spec/rspec/rails/example/job_example_group_spec.rb ./spec/rspec/rails/example/mailbox_example_group_spec.rb ./spec/rspec/rails/example/model_example_group_spec.rb ./spec/rspec/rails/example/request_example_group_spec.rb ./spec/rspec/rails/example/routing_example_group_spec.rb ./spec/rspec/rails/example/system_example_group_spec.rb ./spec/rspec/rails/example/view_example_group_spec.rb ./spec/rspec/rails/fixture_file_upload_support_spec.rb ./spec/rspec/rails/fixture_support_spec.rb ./spec/rspec/rails/matchers/action_cable/have_broadcasted_to_spec.rb ./spec/rspec/rails/matchers/action_cable/have_stream_spec.rb ./spec/rspec/rails/matchers/action_mailbox_spec.rb ./spec/rspec/rails/matchers/active_job_spec.rb ./spec/rspec/rails/matchers/be_a_new_spec.rb ./spec/rspec/rails/matchers/be_new_record_spec.rb ./spec/rspec/rails/matchers/be_routable_spec.rb ./spec/rspec/rails/matchers/be_valid_spec.rb ./spec/rspec/rails/matchers/has_spec.rb ./spec/rspec/rails/matchers/have_enqueued_mail_spec.rb ./spec/rspec/rails/matchers/have_http_status_spec.rb ./spec/rspec/rails/matchers/have_rendered_spec.rb ./spec/rspec/rails/matchers/redirect_to_spec.rb ./spec/rspec/rails/matchers/relation_match_array_spec.rb ./spec/rspec/rails/matchers/route_to_spec.rb ./spec/rspec/rails/minitest_lifecycle_adapter_spec.rb ./spec/rspec/rails/setup_and_teardown_adapter_spec.rb ./spec/rspec/rails/view_rendering_spec.rb ./spec/rspec/rails/view_spec_methods_spec.rb ./spec/rspec/rails_spec.rb --format documentation failed
ERROR: Test "ruby3.3" failed. Exiting.
dh_auto_install: error: dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-rspec-rails 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-rails, 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