haml / haml-rails

let your Gemfile do the talking
MIT License
1.04k stars 169 forks source link

Running tests against version 2.1.0 causes errors #181

Closed Segaja closed 2 years ago

Segaja commented 2 years ago

When running the tests against version 2.1.0 I get this error:

/usr/bin/ruby -w -I"lib:lib:test" /usr/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb "test/lib/generators/haml/controller_generator_test.rb" "test/lib/generators/haml/mailer_generator_test.rb" "test/lib/generators/haml/scaffold_generator_test.rb"
/build/ruby-haml-rails/src/haml-rails-2.1.0/test/test_helper.rb:9:in `<top (required)>': uninitialized constant Bundler (NameError)
        from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from /build/ruby-haml-rails/src/haml-rails-2.1.0/test/lib/generators/haml/controller_generator_test.rb:1:in `<top (required)>'
        from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from <internal:/usr/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from /usr/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb:21:in `block in <main>'
        from /usr/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb:6:in `select'
        from /usr/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb:6:in `<main>'
rake aborted!
Command failed with status (1): [ruby -w -I"lib:lib:test" /usr/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb "test/lib/generators/haml/controller_generator_test.rb" "test/lib/generators/haml/mailer_generator_test.rb" "test/lib/generators/haml/scaffold_generator_test.rb" ]

Tasks: TOP => test
(See full trace by running task with --trace)

I believe the issue comes from https://github.com/haml/haml-rails/commit/eeb57a9d9f77df55bf2f9b6d014e0124a5c77498 and it seems there is a require 'bundler' missing before line 9.

amatsuda commented 2 years ago

@Segaja OK, I added a require call, but in general, we recommend you to prefix bundle exec when running ruby commands within repos with Gemfile. So in this case, please try bundle exec rake test instead of rake test. Then you won't see that "uninitialized constant" error.

Segaja commented 2 years ago

@amatsuda I'm doing this to build an arch package out of this and there we don't use bundler in 90% of the cases. That is why we run rake directly.