Skip to content

Commit b11bb51

Browse files
Fix package manager instrumentation spec
At least when run in isolation, nothing seems to require `dependabot/instrumentation`, since only entrypoints like `bin/fetch_files.rb`, `bin/update_files.rb` and `bin/dry-run.rb` require `dependabot/setup`, which in turn requires this file. So, the package manager does not get instrumented and the following spec failure happens: ``` Failures: 1) Dependabot::EndToEndJob bundler instruments the package manager version Failure/Error: DEFAULT_FAILURE_NOTIFIER = lambda { |failure, _opts| raise failure } Exactly one instance should have received the following message(s) but didn't: record_package_manager_version # ./vendor/ruby/2.7.0/gems/rspec-support-3.11.0/lib/rspec/support.rb:102:in `block in <module:Support>' # ./vendor/ruby/2.7.0/gems/rspec-support-3.11.0/lib/rspec/support.rb:111:in `notify_failure' # ./vendor/ruby/2.7.0/gems/rspec-mocks-3.11.0/lib/rspec/mocks/error_generator.rb:327:in `notify' # ./vendor/ruby/2.7.0/gems/rspec-mocks-3.11.0/lib/rspec/mocks/error_generator.rb:311:in `__raise' # ./vendor/ruby/2.7.0/gems/rspec-mocks-3.11.0/lib/rspec/mocks/any_instance/error_generator.rb:7:in `raise_second_instance_received_message_error' # ./vendor/ruby/2.7.0/gems/rspec-mocks-3.11.0/lib/rspec/mocks/any_instance/recorder.rb:100:in `verify' # ./vendor/ruby/2.7.0/gems/rspec-mocks-3.11.0/lib/rspec/mocks/space.rb:75:in `block in verify_all' # ./vendor/ruby/2.7.0/gems/rspec-mocks-3.11.0/lib/rspec/mocks/space.rb:75:in `each_value' # ./vendor/ruby/2.7.0/gems/rspec-mocks-3.11.0/lib/rspec/mocks/space.rb:75:in `verify_all' # ./vendor/ruby/2.7.0/gems/rspec-mocks-3.11.0/lib/rspec/mocks.rb:45:in `verify' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/mocking_adapters/rspec.rb:23:in `verify_mocks_for_rspec' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:525:in `verify_mocks' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:519:in `run_after_example' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:283:in `block in run' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:486:in `block in run' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:626:in `block in run_around_example_hooks_for' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:352:in `call' # ./vendor/ruby/2.7.0/gems/webmock-3.17.1/lib/webmock/rspec.rb:37:in `block (2 levels) in <top (required)>' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:457:in `instance_exec' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:457:in `instance_exec' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:390:in `execute_with' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:628:in `block (2 levels) in run_around_example_hooks_for' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:352:in `call' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:629:in `run_around_example_hooks_for' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:486:in `run' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:259:in `run' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:646:in `block in run_examples' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:642:in `map' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:642:in `run_examples' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:607:in `run' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:608:in `block in run' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:608:in `map' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:608:in `run' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:121:in `map' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/configuration.rb:2068:in `with_suite_hooks' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:116:in `block in run_specs' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/reporter.rb:74:in `report' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:115:in `run_specs' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:89:in `run' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:71:in `run' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:45:in `invoke' # ./vendor/ruby/2.7.0/gems/rspec-core-3.11.0/exe/rspec:4:in `<top (required)>' # ./vendor/ruby/2.7.0/bin/rspec:23:in `load' # ./vendor/ruby/2.7.0/bin/rspec:23:in `<top (required)>' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/cli/exec.rb:58:in `load' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/cli/exec.rb:58:in `kernel_load' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/cli/exec.rb:23:in `run' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/cli.rb:483:in `exec' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/cli.rb:31:in `dispatch' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/cli.rb:25:in `start' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/exe/bundle:48:in `block in <top (required)>' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors' # /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.14/exe/bundle:36:in `<top (required)>' # .bundle/bin/bundle:113:in `load' # .bundle/bin/bundle:113:in `<main>' ``` Add an explicit require to fix the issue.
1 parent b8fe45c commit b11bb51

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

updater/spec/dependabot/integration_spec.rb

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
require "dependabot/file_fetchers"
77
require "dependabot/end_to_end_job"
88
require "dependabot/api_client"
9+
require "dependabot/instrumentation"
910

1011
RSpec.describe Dependabot::EndToEndJob do
1112
subject(:end_to_end_job) { Dependabot::EndToEndJob.new }

0 commit comments

Comments
 (0)