mdub/rspec-longrun

rspec-longrun is incompatible with RSpec 3.x

translunar opened this issue · 3 comments

This just popped up for me when I updated rspec-longrun, which is being used by NMatrix:

bundle exec rake spec
/usr/local/var/rbenv/versions/2.0.0-p247/bin/ruby -I/usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib:/usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-support-3.0.3/lib -S /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/exe/rspec spec/00_nmatrix_spec.rb spec/01_enum_spec.rb spec/02_slice_spec.rb spec/blas_spec.rb spec/elementwise_spec.rb spec/io_spec.rb spec/lapack_spec.rb spec/math_spec.rb spec/nmatrix_yale_spec.rb spec/rspec_spec.rb spec/shortcuts_spec.rb spec/slice_set_spec.rb spec/stat_spec.rb
/usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-longrun-1.0.1/lib/rspec/longrun/formatter.rb:55:in `alias_method': undefined method `cyan' for class `RSpec::Longrun::Formatter' (NameError)
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-longrun-1.0.1/lib/rspec/longrun/formatter.rb:55:in `alias_missing_method'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-longrun-1.0.1/lib/rspec/longrun/formatter.rb:59:in `<class:Formatter>'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-longrun-1.0.1/lib/rspec/longrun/formatter.rb:6:in `<module:Longrun>'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-longrun-1.0.1/lib/rspec/longrun/formatter.rb:4:in `<module:RSpec>'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-longrun-1.0.1/lib/rspec/longrun/formatter.rb:3:in `<top (required)>'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/formatters.rb:206:in `require'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/formatters.rb:206:in `rescue in custom_formatter'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/formatters.rb:203:in `custom_formatter'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/formatters.rb:166:in `find_formatter'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/formatters.rb:126:in `add'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:624:in `add_formatter'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/configuration_options.rb:106:in `block in load_formatters_into'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/configuration_options.rb:106:in `each'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/configuration_options.rb:106:in `load_formatters_into'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/configuration_options.rb:24:in `configure'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:96:in `setup'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:85:in `run'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:70:in `run'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:38:in `invoke'
    from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/exe/rspec:4:in `<main>'
/usr/local/var/rbenv/versions/2.0.0-p247/bin/ruby -I/usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/lib:/usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-support-3.0.3/lib -S /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-3.0.3/exe/rspec spec/00_nmatrix_spec.rb spec/01_enum_spec.rb spec/02_slice_spec.rb spec/blas_spec.rb spec/elementwise_spec.rb spec/io_spec.rb spec/lapack_spec.rb spec/math_spec.rb spec/nmatrix_yale_spec.rb spec/rspec_spec.rb spec/shortcuts_spec.rb spec/slice_set_spec.rb spec/stat_spec.rb failed

Here is the relevant portion of my Gemfile.lock:

rspec (3.0.0)
  rspec-core (~> 3.0.0)
  rspec-expectations (~> 3.0.0)
  rspec-mocks (~> 3.0.0)
rspec-core (3.0.3)
  rspec-support (~> 3.0.0)
rspec-expectations (3.0.3)
  diff-lcs (>= 1.2.0, < 2.0)
  rspec-support (~> 3.0.0)
rspec-longrun (1.0.1)
  rspec-core (>= 2.10.0)
rspec-mocks (3.0.3)
  rspec-support (~> 3.0.0)
rspec-support (3.0.3)

Is there something we need to change in NMatrix to make this work again?

Update: It seems that the problem is with rspec-longrun using rspec 3.0. If I downgrade to the rspec-2.14.1, it works fine.

mdub commented

Yep, rspec-longrun is incompatible with RSpec 3.x at the moment. It appears they completely refactored the way formatters and colors work.

Hi,
FYI, we are affected by this on Debian, as we have transitioned systemwise to rspec3.
http://bugs.debian.org/795678

mdub commented

Perhaps too late for some, but I've (finally) updated "rspec-longrun" to work with RSpec 3.x.