Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixes #630 potential performance hit logging cache key #635

Merged
merged 6 commits into from
Jan 3, 2019

Conversation

gingerlime
Copy link
Contributor

  • using ActiveSupport::Cache.expand_cache_key which is also
    used by Rails to expand the cache key without enumerating
    relations

* using ActiveSupport::Cache.expand_cache_key which is also
  used by Rails to expand the cache key without enumerating
  relations
@gingerlime
Copy link
Contributor Author

@delner I looked into this, and this seems like the most straightforward way to work around it, since it's anyway used inside Rails.

I was trying to write a test for it, but somehow couldn't get tests running using docker-compose. I'm not sure exactly why. I had all containers running, and then using bash inside the tracer container I ran bundle install and appraisal install ok, but then when running specs I got various bizarre errors. For example:

# docker-compose exec tracer-2.4 bash

root@453fdbc573e8:/app# appraisal install
>> bundle check --gemfile='/app/gemfiles/contrib.gemfile' || bundle install --gemfile='/app/gemfiles/contrib.gemfile' --retry 1
Your Gemfile lists the gem sqlite3 (>= 0) more than once.
You should probably keep only one of them.
Remove any duplicate entries and specify the gem only once (per group).
While it's not a problem now, it could cause errors if you change the version of one of them later.
The Gemfile's dependencies are satisfied
root@453fdbc573e8:/app# appraisal list
contrib
root@453fdbc573e8:/app# appraisal rails5-postgres-redis rake --trace test:railsredis
>> BUNDLE_GEMFILE=/app/gemfiles/contrib.gemfile bundle exec rails5-postgres-redis rake --trace test:railsredis
bundler: command not found: rails5-postgres-redis
Install missing gem executables with `bundle install`
root@453fdbc573e8:/app# rake --trace test:railsredis
** Invoke test:railsredis (first_time)
** Execute test:railsredis
/app/test/helper.rb:17: warning: method redefined; discarding old worker
/app/test/helper.rb:21: warning: method redefined; discarding old writer=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/parallel.rb:12: warning: method redefined; discarding old size
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/parallel.rb:17: warning: method redefined; discarding old initialize
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/parallel.rb:17: warning: previous definition of initialize was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/parallel.rb:26: warning: method redefined; discarding old start
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/parallel.rb:26: warning: previous definition of start was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/parallel.rb:42: warning: method redefined; discarding old <<
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/parallel.rb:42: warning: previous definition of << was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/parallel.rb:49: warning: method redefined; discarding old shutdown
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/parallel.rb:49: warning: previous definition of shutdown was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/parallel.rb:56: warning: method redefined; discarding old _synchronize
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/parallel.rb:56: warning: previous definition of _synchronize was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/parallel.rb:59: warning: method redefined; discarding old run_one_method
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/parallel.rb:59: warning: previous definition of run_one_method was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/parallel.rb:63: warning: method redefined; discarding old test_order
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/parallel.rb:63: warning: previous definition of test_order was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:10: warning: already initialized constant Minitest::VERSION
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:10: warning: previous definition of VERSION was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:11: warning: already initialized constant Minitest::ENCS
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:11: warning: previous definition of ENCS was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:22: warning: method redefined; discarding old parallel_executor
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:22: warning: method redefined; discarding old parallel_executor=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:28: warning: method redefined; discarding old backtrace_filter
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:28: warning: method redefined; discarding old backtrace_filter=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:35: warning: method redefined; discarding old reporter
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:35: warning: method redefined; discarding old reporter=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:40: warning: method redefined; discarding old extensions
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:40: warning: method redefined; discarding old extensions=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:45: warning: method redefined; discarding old info_signal
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:45: warning: method redefined; discarding old info_signal=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:51: warning: method redefined; discarding old autorun
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:51: warning: previous definition of autorun was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:73: warning: method redefined; discarding old after_run
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:73: warning: previous definition of after_run was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:77: warning: method redefined; discarding old init_plugins
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:77: warning: previous definition of init_plugins was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:84: warning: method redefined; discarding old load_plugins
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:84: warning: previous definition of load_plugins was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:119: warning: method redefined; discarding old run
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:119: warning: previous definition of run was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:149: warning: method redefined; discarding old __run
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:149: warning: previous definition of __run was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:162: warning: method redefined; discarding old process_args
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:162: warning: previous definition of process_args was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:232: warning: method redefined; discarding old filter_backtrace
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:232: warning: previous definition of filter_backtrace was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:247: warning: method redefined; discarding old assertions
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:247: warning: method redefined; discarding old assertions=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:252: warning: method redefined; discarding old failures
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:252: warning: method redefined; discarding old failures=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:257: warning: method redefined; discarding old name
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:257: warning: previous definition of name was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:264: warning: method redefined; discarding old name=
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:264: warning: previous definition of name= was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:268: warning: method redefined; discarding old inherited
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:268: warning: previous definition of inherited was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:276: warning: method redefined; discarding old methods_matching
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:276: warning: previous definition of methods_matching was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:280: warning: method redefined; discarding old reset
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:280: warning: previous definition of reset was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:291: warning: method redefined; discarding old run
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:291: warning: previous definition of run was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:321: warning: method redefined; discarding old run_one_method
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:321: warning: previous definition of run_one_method was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:326: warning: method redefined; discarding old with_info_handler
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:326: warning: previous definition of with_info_handler was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:339: warning: already initialized constant Minitest::Runnable::SIGNALS
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:339: warning: previous definition of SIGNALS was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:341: warning: method redefined; discarding old on_signal
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:341: warning: previous definition of on_signal was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:358: warning: method redefined; discarding old runnable_methods
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:358: warning: previous definition of runnable_methods was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:365: warning: method redefined; discarding old runnables
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:365: warning: previous definition of runnables was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:369: warning: method redefined; discarding old marshal_dump
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:369: warning: previous definition of marshal_dump was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:373: warning: method redefined; discarding old marshal_load
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:373: warning: previous definition of marshal_load was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:377: warning: method redefined; discarding old failure
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:377: warning: previous definition of failure was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:381: warning: method redefined; discarding old initialize
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:381: warning: previous definition of initialize was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:390: warning: method redefined; discarding old run
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:390: warning: previous definition of run was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:400: warning: method redefined; discarding old passed?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:400: warning: previous definition of passed? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:408: warning: method redefined; discarding old result_code
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:408: warning: previous definition of result_code was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:415: warning: method redefined; discarding old skipped?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:415: warning: previous definition of skipped? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:430: warning: method redefined; discarding old start
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:430: warning: previous definition of start was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:437: warning: method redefined; discarding old prerecord
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:437: warning: previous definition of prerecord was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:444: warning: method redefined; discarding old record
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:444: warning: previous definition of record was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:450: warning: method redefined; discarding old report
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:450: warning: previous definition of report was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:456: warning: method redefined; discarding old passed?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:456: warning: previous definition of passed? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:465: warning: method redefined; discarding old io
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:465: warning: method redefined; discarding old io=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:470: warning: method redefined; discarding old options
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:470: warning: method redefined; discarding old options=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:472: warning: method redefined; discarding old initialize
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:472: warning: previous definition of initialize was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:488: warning: method redefined; discarding old prerecord
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:488: warning: previous definition of prerecord was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:495: warning: method redefined; discarding old record
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:495: warning: previous definition of record was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:512: warning: method redefined; discarding old assertions
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:512: warning: method redefined; discarding old assertions=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:513: warning: method redefined; discarding old count
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:513: warning: method redefined; discarding old count=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:514: warning: method redefined; discarding old results
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:514: warning: method redefined; discarding old results=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:515: warning: method redefined; discarding old start_time
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:515: warning: method redefined; discarding old start_time=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:516: warning: method redefined; discarding old total_time
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:516: warning: method redefined; discarding old total_time=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:517: warning: method redefined; discarding old failures
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:517: warning: method redefined; discarding old failures=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:518: warning: method redefined; discarding old errors
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:518: warning: method redefined; discarding old errors=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:519: warning: method redefined; discarding old skips
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:519: warning: method redefined; discarding old skips=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:522: warning: method redefined; discarding old initialize
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:522: warning: previous definition of initialize was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:535: warning: method redefined; discarding old passed?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:535: warning: previous definition of passed? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:539: warning: method redefined; discarding old start
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:539: warning: previous definition of start was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:543: warning: method redefined; discarding old record
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:543: warning: previous definition of record was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:550: warning: method redefined; discarding old report
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:550: warning: previous definition of report was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:572: warning: method redefined; discarding old sync
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:572: warning: method redefined; discarding old sync=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:573: warning: method redefined; discarding old old_sync
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:573: warning: method redefined; discarding old old_sync=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:576: warning: method redefined; discarding old start
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:576: warning: previous definition of start was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:588: warning: method redefined; discarding old report
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:588: warning: previous definition of report was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:600: warning: method redefined; discarding old statistics
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:600: warning: previous definition of statistics was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:621: warning: method redefined; discarding old summary
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:621: warning: previous definition of summary was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:639: warning: method redefined; discarding old reporters
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:639: warning: method redefined; discarding old reporters=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:641: warning: method redefined; discarding old initialize
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:641: warning: previous definition of initialize was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:646: warning: method redefined; discarding old io
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:646: warning: previous definition of io was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:653: warning: method redefined; discarding old <<
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:653: warning: previous definition of << was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:657: warning: method redefined; discarding old passed?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:657: warning: previous definition of passed? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:661: warning: method redefined; discarding old start
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:661: warning: previous definition of start was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:665: warning: method redefined; discarding old prerecord
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:665: warning: previous definition of prerecord was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:672: warning: method redefined; discarding old record
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:672: warning: previous definition of record was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:678: warning: method redefined; discarding old report
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:678: warning: previous definition of report was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:687: warning: method redefined; discarding old error
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:687: warning: previous definition of error was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:694: warning: method redefined; discarding old location
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:694: warning: previous definition of location was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:703: warning: method redefined; discarding old result_code
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:703: warning: previous definition of result_code was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:707: warning: method redefined; discarding old result_label
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:707: warning: previous definition of result_label was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:716: warning: method redefined; discarding old result_label
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:716: warning: previous definition of result_label was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:725: warning: method redefined; discarding old exception
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:725: warning: method redefined; discarding old exception=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:727: warning: method redefined; discarding old initialize
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:727: warning: previous definition of initialize was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:732: warning: method redefined; discarding old backtrace
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:732: warning: previous definition of backtrace was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:736: warning: method redefined; discarding old error
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:736: warning: previous definition of error was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:740: warning: method redefined; discarding old message
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:740: warning: previous definition of message was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:745: warning: method redefined; discarding old result_label
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:745: warning: previous definition of result_label was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:770: warning: method redefined; discarding old jruby?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:770: warning: previous definition of jruby? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:777: warning: method redefined; discarding old maglev?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:777: warning: previous definition of maglev? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:784: warning: method redefined; discarding old mri?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:784: warning: previous definition of mri? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:791: warning: method redefined; discarding old rubinius?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:791: warning: previous definition of rubinius? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:798: warning: method redefined; discarding old windows?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:798: warning: previous definition of windows? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:804: warning: method redefined; discarding old filter
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:804: warning: previous definition of filter was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:821: warning: method redefined; discarding old run_one_method
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:821: warning: previous definition of run_one_method was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest.rb:830: warning: method redefined; discarding old clock_time
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:830: warning: previous definition of clock_time was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:19: warning: already initialized constant Minitest::Assertions::UNDEFINED
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:19: warning: previous definition of UNDEFINED was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:29: warning: method redefined; discarding old diff
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:29: warning: previous definition of diff was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:49: warning: method redefined; discarding old diff=
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:49: warning: previous definition of diff= was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:59: warning: method redefined; discarding old diff
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:59: warning: previous definition of diff was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:107: warning: method redefined; discarding old mu_pp
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:107: warning: previous definition of mu_pp was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:127: warning: method redefined; discarding old mu_pp_for_diff
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:127: warning: previous definition of mu_pp_for_diff was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:134: warning: method redefined; discarding old assert
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:134: warning: previous definition of assert was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:144: warning: method redefined; discarding old _synchronize
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:144: warning: previous definition of _synchronize was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:151: warning: method redefined; discarding old assert_empty
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:151: warning: previous definition of assert_empty was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:157: warning: already initialized constant Minitest::Assertions::E
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:157: warning: previous definition of E was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:172: warning: method redefined; discarding old assert_equal
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:172: warning: previous definition of assert_equal was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:193: warning: method redefined; discarding old assert_in_delta
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:193: warning: previous definition of assert_in_delta was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:205: warning: method redefined; discarding old assert_in_epsilon
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:205: warning: previous definition of assert_in_epsilon was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:212: warning: method redefined; discarding old assert_includes
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:212: warning: previous definition of assert_includes was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:223: warning: method redefined; discarding old assert_instance_of
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:223: warning: previous definition of assert_instance_of was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:234: warning: method redefined; discarding old assert_kind_of
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:234: warning: previous definition of assert_kind_of was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:244: warning: method redefined; discarding old assert_match
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:244: warning: previous definition of assert_match was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:254: warning: method redefined; discarding old assert_nil
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:254: warning: previous definition of assert_nil was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:264: warning: method redefined; discarding old assert_operator
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:264: warning: previous definition of assert_operator was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:282: warning: method redefined; discarding old assert_output
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:282: warning: previous definition of assert_output was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:305: warning: method redefined; discarding old assert_predicate
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:305: warning: previous definition of assert_predicate was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:318: warning: method redefined; discarding old assert_raises
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:318: warning: previous definition of assert_raises was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:346: warning: method redefined; discarding old assert_respond_to
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:346: warning: previous definition of assert_respond_to was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:356: warning: method redefined; discarding old assert_same
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:356: warning: previous definition of assert_same was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:369: warning: method redefined; discarding old assert_send
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:369: warning: previous definition of assert_send was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:383: warning: method redefined; discarding old assert_silent
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:383: warning: previous definition of assert_silent was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:392: warning: method redefined; discarding old assert_throws
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:392: warning: previous definition of assert_throws was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:428: warning: method redefined; discarding old capture_io
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:428: warning: previous definition of capture_io was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:461: warning: method redefined; discarding old capture_subprocess_io
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:461: warning: previous definition of capture_subprocess_io was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:490: warning: method redefined; discarding old exception_details
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:490: warning: previous definition of exception_details was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:504: warning: method redefined; discarding old flunk
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:504: warning: previous definition of flunk was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:512: warning: method redefined; discarding old message
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:512: warning: previous definition of message was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:523: warning: method redefined; discarding old pass
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:523: warning: previous definition of pass was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:530: warning: method redefined; discarding old refute
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:530: warning: previous definition of refute was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:538: warning: method redefined; discarding old refute_empty
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:538: warning: previous definition of refute_empty was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:549: warning: method redefined; discarding old refute_equal
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:549: warning: previous definition of refute_equal was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:561: warning: method redefined; discarding old refute_in_delta
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:561: warning: previous definition of refute_in_delta was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:573: warning: method redefined; discarding old refute_in_epsilon
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:573: warning: previous definition of refute_in_epsilon was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:580: warning: method redefined; discarding old refute_includes
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:580: warning: previous definition of refute_includes was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:591: warning: method redefined; discarding old refute_instance_of
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:591: warning: previous definition of refute_instance_of was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:601: warning: method redefined; discarding old refute_kind_of
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:601: warning: previous definition of refute_kind_of was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:609: warning: method redefined; discarding old refute_match
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:609: warning: previous definition of refute_match was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:619: warning: method redefined; discarding old refute_nil
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:619: warning: previous definition of refute_nil was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:630: warning: method redefined; discarding old refute_operator
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:630: warning: previous definition of refute_operator was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:645: warning: method redefined; discarding old refute_predicate
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:645: warning: previous definition of refute_predicate was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:653: warning: method redefined; discarding old refute_respond_to
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:653: warning: previous definition of refute_respond_to was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:662: warning: method redefined; discarding old refute_same
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:662: warning: previous definition of refute_same was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:675: warning: method redefined; discarding old skip
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:675: warning: previous definition of skip was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb:684: warning: method redefined; discarding old skipped?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/assertions.rb:684: warning: previous definition of skipped? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:14: warning: already initialized constant Minitest::Test::PASSTHROUGH_EXCEPTIONS
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:14: warning: previous definition of PASSTHROUGH_EXCEPTIONS was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:16: warning: method redefined; discarding old io_lock
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:16: warning: method redefined; discarding old io_lock=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:24: warning: method redefined; discarding old i_suck_and_my_tests_are_order_dependent!
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:24: warning: previous definition of i_suck_and_my_tests_are_order_dependent! was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:37: warning: method redefined; discarding old make_my_diffs_pretty!
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:37: warning: previous definition of make_my_diffs_pretty! was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:48: warning: method redefined; discarding old parallelize_me!
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:48: warning: previous definition of parallelize_me! was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:58: warning: method redefined; discarding old runnable_methods
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:58: warning: previous definition of runnable_methods was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:76: warning: method redefined; discarding old test_order
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:76: warning: previous definition of test_order was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:83: warning: method redefined; discarding old time
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:83: warning: method redefined; discarding old time=
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:85: warning: method redefined; discarding old marshal_dump
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:85: warning: previous definition of marshal_dump was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:89: warning: method redefined; discarding old marshal_load
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:89: warning: previous definition of marshal_load was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:94: warning: already initialized constant Minitest::Test::TEARDOWN_METHODS
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:94: warning: previous definition of TEARDOWN_METHODS was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:99: warning: method redefined; discarding old run
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:99: warning: previous definition of run was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:159: warning: method redefined; discarding old before_setup
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:159: warning: previous definition of before_setup was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:165: warning: method redefined; discarding old setup
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:165: warning: previous definition of setup was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:174: warning: method redefined; discarding old after_setup
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:174: warning: previous definition of after_setup was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:183: warning: method redefined; discarding old before_teardown
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:183: warning: previous definition of before_teardown was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:198: warning: method redefined; discarding old after_teardown
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:198: warning: previous definition of after_teardown was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:201: warning: method redefined; discarding old capture_exceptions
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:201: warning: previous definition of capture_exceptions was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:214: warning: method redefined; discarding old error?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:214: warning: previous definition of error? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:221: warning: method redefined; discarding old location
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:221: warning: previous definition of location was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:232: warning: method redefined; discarding old passed?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:232: warning: previous definition of passed? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:239: warning: method redefined; discarding old result_code
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:239: warning: previous definition of result_code was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:246: warning: method redefined; discarding old skipped?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:246: warning: previous definition of skipped? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:250: warning: method redefined; discarding old time_it
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:250: warning: previous definition of time_it was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:258: warning: method redefined; discarding old to_s
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:258: warning: previous definition of to_s was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/test.rb:266: warning: method redefined; discarding old with_info_handler
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/test.rb:266: warning: previous definition of with_info_handler was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:4: warning: method redefined; discarding old infect_an_assertion
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:4: warning: previous definition of infect_an_assertion was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:30: warning: already initialized constant Minitest::Expectation
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:30: warning: previous definition of Expectation was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:71: warning: method redefined; discarding old describe
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:71: warning: previous definition of describe was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:97: warning: method redefined; discarding old current
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:97: warning: previous definition of current was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:101: warning: method redefined; discarding old initialize
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:101: warning: previous definition of initialize was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:117: warning: already initialized constant Minitest::Spec::DSL::TYPES
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:117: warning: previous definition of TYPES was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:135: warning: method redefined; discarding old register_spec_type
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:135: warning: previous definition of register_spec_type was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:149: warning: method redefined; discarding old spec_type
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:149: warning: previous definition of spec_type was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:159: warning: method redefined; discarding old describe_stack
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:159: warning: previous definition of describe_stack was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:163: warning: method redefined; discarding old children
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:163: warning: previous definition of children was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:167: warning: method redefined; discarding old nuke_test_methods!
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:167: warning: previous definition of nuke_test_methods! was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:180: warning: method redefined; discarding old before
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:180: warning: previous definition of before was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:194: warning: method redefined; discarding old after
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:194: warning: previous definition of after was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:236: warning: method redefined; discarding old let
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:236: warning: previous definition of let was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:255: warning: method redefined; discarding old subject
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:255: warning: previous definition of subject was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:259: warning: method redefined; discarding old create
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:259: warning: previous definition of create was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:272: warning: method redefined; discarding old name
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:272: warning: previous definition of name was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:276: warning: method redefined; discarding old to_s
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:276: warning: previous definition of to_s was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:280: warning: method redefined; discarding old desc
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:311: warning: method redefined; discarding old before_setup
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:311: warning: previous definition of before_setup was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:317: warning: method redefined; discarding old extended
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:317: warning: previous definition of extended was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:324: warning: already initialized constant Minitest::Spec::TYPES
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:324: warning: previous definition of TYPES was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_be_empty
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_be_empty was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_equal
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_equal was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_be_within_epsilon
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_be_within_epsilon was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_include
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_include was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_be_instance_of
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_be_instance_of was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_be_kind_of
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_be_kind_of was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_match
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_match was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_be_nil
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_be_nil was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_be
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_be was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_output
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_output was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_raise
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_raise was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_respond_to
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_respond_to was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_be_same_as
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_be_same_as was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_be_silent
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_be_silent was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old must_throw
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of must_throw was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_be_empty
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_be_empty was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_equal
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_equal was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_be_within_epsilon
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_be_within_epsilon was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_include
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_include was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_be_instance_of
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_be_instance_of was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_be_kind_of
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_be_kind_of was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_match
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_match was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_be_nil
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_be_nil was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_be
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_be was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_respond_to
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_respond_to was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: method redefined; discarding old wont_be_same_as
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/spec.rb:10: warning: previous definition of wont_be_same_as was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: method redefined; discarding old ===
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: previous definition of === was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: method redefined; discarding old class
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: previous definition of class was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: method redefined; discarding old inspect
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: previous definition of inspect was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: method redefined; discarding old instance_eval
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: previous definition of instance_eval was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: method redefined; discarding old instance_variables
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: previous definition of instance_variables was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: method redefined; discarding old object_id
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: previous definition of object_id was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: method redefined; discarding old public_send
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: previous definition of public_send was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: method redefined; discarding old respond_to_missing?
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: previous definition of respond_to_missing? was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: method redefined; discarding old send
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: previous definition of send was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: method redefined; discarding old to_s
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:31: warning: previous definition of to_s was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:40: warning: method redefined; discarding old initialize
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:40: warning: previous definition of initialize was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:83: warning: method redefined; discarding old __call
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:83: warning: previous definition of __call was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:173: warning: method redefined; discarding old assert_mock
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:173: warning: previous definition of assert_mock was here
/usr/local/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb:201: warning: method redefined; discarding old stub
/usr/local/lib/ruby/gems/2.4.0/gems/minitest-5.10.1/lib/minitest/mock.rb:201: warning: previous definition of stub was here

File does not exist: rails

rake aborted!
Command failed with status (1): [ruby -w -I"lib:test:lib" -I"/usr/local/bundle/gems/rake-12.3.1/lib" "/usr/local/bundle/gems/rake-12.3.1/lib/rake/rake_test_loader.rb" "test/contrib/rails/redis_cache_test.rb" ]
/usr/local/bundle/gems/rake-12.3.1/lib/rake/testtask.rb:130:in `block (3 levels) in define'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/file_utils.rb:57:in `sh'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/file_utils.rb:105:in `ruby'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/testtask.rb:117:in `block (2 levels) in define'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/file_utils_ext.rb:59:in `verbose'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/testtask.rb:111:in `block in define'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:271:in `block in execute'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:271:in `each'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:271:in `execute'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:182:in `invoke'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:160:in `invoke_task'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:116:in `each'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:116:in `block in top_level'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:125:in `run_with_threads'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:110:in `top_level'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:83:in `block in run'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:186:in `standard_exception_handling'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:80:in `run'
/usr/local/bundle/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/usr/local/bundle/bin/rake:23:in `load'
/usr/local/bundle/bin/rake:23:in `<main>'
Tasks: TOP => test:railsredis
root@453fdbc573e8:/app# bundle exec rake --trace test:railsredis
** Invoke test:railsredis (first_time)
** Execute test:railsredis
/app/test/helper.rb:17: warning: method redefined; discarding old worker
/app/test/helper.rb:21: warning: method redefined; discarding old writer=

File does not exist: rails

rake aborted!
Command failed with status (1): [ruby -w -I"lib:test:lib" -I"/usr/local/bundle/gems/rake-12.3.1/lib" "/usr/local/bundle/gems/rake-12.3.1/lib/rake/rake_test_loader.rb" "test/contrib/rails/redis_cache_test.rb" ]
/usr/local/bundle/gems/rake-12.3.1/lib/rake/testtask.rb:130:in `block (3 levels) in define'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/file_utils.rb:57:in `sh'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/file_utils.rb:105:in `ruby'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/testtask.rb:117:in `block (2 levels) in define'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/file_utils_ext.rb:59:in `verbose'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/testtask.rb:111:in `block in define'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:271:in `block in execute'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:271:in `each'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:271:in `execute'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/task.rb:182:in `invoke'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:160:in `invoke_task'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:116:in `each'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:116:in `block in top_level'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:125:in `run_with_threads'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:110:in `top_level'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:83:in `block in run'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:186:in `standard_exception_handling'
/usr/local/bundle/gems/rake-12.3.1/lib/rake/application.rb:80:in `run'
/usr/local/bundle/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/usr/local/bundle/bin/rake:23:in `load'
/usr/local/bundle/bin/rake:23:in `<top (required)>'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:74:in `load'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:74:in `kernel_load'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:28:in `run'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/cli.rb:463:in `exec'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/cli.rb:27:in `dispatch'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/cli.rb:18:in `start'
/usr/local/bundle/gems/bundler-1.17.1/exe/bundle:30:in `block in <top (required)>'
/usr/local/bundle/gems/bundler-1.17.1/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
/usr/local/bundle/gems/bundler-1.17.1/exe/bundle:22:in `<top (required)>'
/usr/local/bundle/bin/bundle:23:in `load'
/usr/local/bundle/bin/bundle:23:in `<main>'
Tasks: TOP => test:railsredis

@gingerlime
Copy link
Contributor Author

On a side note, it seems to me like the ddtracer patches ActiveSupport in order to trace cache reads, writes, etc. But wouldn't be more elegant to use the built-in rails instrumentation for that? https://edgeguides.rubyonrails.org/active_support_instrumentation.html#active-support

@delner
Copy link
Contributor

delner commented Nov 26, 2018

@gingerlime On the tests, you almost had it right with appraisal rails5-postgres-redis. The Rails tests run under specific appraisals for each version, so you just have to choose the right one from the Appraisals file for the version of Ruby that you're using. They should work if you pair Ruby version to appraisal correctly. You could also look at our CI there for an example of the commands that it runs (should be identical to what you run in the container.)

@delner delner added bug Involves a bug integrations Involves tracing integrations community Was opened by a community member labels Dec 14, 2018
@delner delner added this to the 0.18.2 milestone Dec 21, 2018
@gingerlime
Copy link
Contributor Author

@delner I added a couple of simple tests, and CI looks green (apart from what looks like an unrelated failure).

Regardless, I'm curious to hear your thoughts about #635 (comment) ...

@delner
Copy link
Contributor

delner commented Dec 27, 2018

@gingerlime Honest answer as to why we don't use the ActiveSupport hooks: I don't know. It might be because we support Rails versions as old as 3.0 and this doesn't exist in those older versions, or that we simply didn't see that event when the integration was created.

If a PR was created to use that instrumentation hook, and it was implemented in a way such that it passes our test suite, I would seriously consider merging it. I don't know if we'd get around to writing such a refactor soon otherwise; we'd likely add it to the backlog instead.

Copy link
Contributor

@delner delner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks @gingerlime ! 👍

@delner delner merged commit ae1710d into DataDog:master Jan 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Involves a bug community Was opened by a community member integrations Involves tracing integrations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants