mdub / rspec-longrun

MIT License
10 stars 9 forks source link

rspec-longrun is incompatible with RSpec 3.x #5

Closed translunar closed 6 years ago

translunar commented 10 years ago

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 9 years ago

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

boutil commented 9 years ago

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

mdub commented 6 years ago

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