Shopify / deprecation_toolkit

⚒Eliminate deprecations from your codebase ⚒
MIT License
460 stars 40 forks source link

`uninitialized constant Minitest::DeprecationToolkit` after deprecation_toolkit added #36

Closed insom closed 5 years ago

insom commented 5 years ago

Adding deprecation_toolkit to a very small gem resulted in:

Mocha deprecation warning at /Users/aaron/Repo/backup-custodian/test/test_backup_custodian.rb:2:in `require': `require 'mocha/mini_test'` has been deprecated. Please use `require 'mocha/minitest' instead.
/Users/aaron/.gem/ruby/2.5.3/gems/google-api-client-0.28.0/lib/google/apis/core/batch.rb:169: warning: assigned but unused variable - length
/Users/aaron/.gem/ruby/2.5.3/gems/httpclient-2.8.3/lib/httpclient/ssl_config.rb:370: warning: assigned but unused variable - pathlen
/Users/aaron/.gem/ruby/2.5.3/gems/httpclient-2.8.3/lib/httpclient/ssl_config.rb:51: warning: method redefined; discarding old initialize
/Users/aaron/.gem/ruby/2.5.3/gems/httpclient-2.8.3/lib/httpclient/ssl_config.rb:58: warning: method redefined; discarding old add_cert
/Users/aaron/.gem/ruby/2.5.3/gems/httpclient-2.8.3/lib/httpclient/ssl_config.rb:58: warning: method redefined; discarding old add_file
/Users/aaron/.gem/ruby/2.5.3/gems/httpclient-2.8.3/lib/httpclient/ssl_config.rb:58: warning: method redefined; discarding old add_path
/Users/aaron/.gem/ruby/2.5.3/gems/google-api-client-0.28.0/lib/google/apis/core/base_service.rb:215: warning: method redefined; discarding old client
/Users/aaron/Repo/backup-custodian/lib/backup_custodian/google_storage_fixup.rb:15: warning: method redefined; discarding old update_gapi!
/Users/aaron/.gem/ruby/2.5.3/gems/google-cloud-storage-1.15.0/lib/google/cloud/storage/file.rb:1662: warning: previous definition of update_gapi! was here
/Users/aaron/Repo/backup-custodian/lib/backup_custodian/google_storage_fixup.rb:34: warning: method redefined; discarding old rewrite_gapi
/Users/aaron/.gem/ruby/2.5.3/gems/google-cloud-storage-1.15.0/lib/google/cloud/storage/file.rb:1689: warning: previous definition of rewrite_gapi was here
Traceback (most recent call last):
    5: from /Users/aaron/.gem/ruby/2.5.3/gems/minitest-5.11.3/lib/minitest.rb:63:in `block in autorun'
    4: from /Users/aaron/.gem/ruby/2.5.3/gems/minitest-5.11.3/lib/minitest.rb:130:in `run'
    3: from /Users/aaron/.gem/ruby/2.5.3/gems/minitest-5.11.3/lib/minitest.rb:79:in `init_plugins'
    2: from /Users/aaron/.gem/ruby/2.5.3/gems/minitest-5.11.3/lib/minitest.rb:79:in `each'
    1: from /Users/aaron/.gem/ruby/2.5.3/gems/minitest-5.11.3/lib/minitest.rb:81:in `block in init_plugins'
/Users/aaron/.gem/ruby/2.5.3/gems/deprecation_toolkit-1.2.1/lib/minitest/deprecation_toolkit_plugin.rb:17:in `plugin_deprecation_toolkit_init': uninitialized constant Minitest::DeprecationToolkit (NameError)
rake aborted!
Command failed with status (1)
/Users/aaron/.gem/ruby/2.5.3/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/Users/aaron/.gem/ruby/2.5.3/bin/bundle:23:in `load'
/Users/aaron/.gem/ruby/2.5.3/bin/bundle:23:in `<main>'
Tasks: TOP => default => test
(See full trace by running task with --trace)

@rafaelfranca previously identified the problem here -- https://github.com/Shopify/deprecation_toolkit/blob/master/lib/minitest/deprecation_toolkit_plugin.rb#L2

The plugin does not require deprecation_toolkit -- if I add the require line to my local copy of the file (in my .gem folder) then my tests pass successfully.

rafaelfranca commented 5 years ago

Fixed in the 1.2.2 version.