mattheworiordan / capybara-screenshot

Automatically save screen shots when a Capybara scenario fails
MIT License
1.02k stars 168 forks source link

warning: circular require + argument prefix #214

Open lloeki opened 7 years ago

lloeki commented 7 years ago

When running tests on a project depending on capybara-screenshot some warnings are raised (see below).

This is because with a recent rake (>=11.0), ruby warnings are now on by default.

What do you think about fixing those warnings as well as running the test suite with ruby -w / $VERBOSE = true / t.warning = true ?

Relevant excerpt:

/Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot.rb:109: warning: `&' interpreted as argument prefix
/Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot.rb:113: warning: `&' interpreted as argument prefix
/Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot/callbacks.rb:7: warning: `*' interpreted as argument prefix
/Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot/callbacks.rb:27: warning: `*' interpreted as argument prefix
/Users/lloeki/.gem/ruby/2.3.4/gems/activesupport-5.0.4/lib/active_support/dependencies.rb:293: warning: loading in progress, circular require considered harmful - /Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot.rb
        from /Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot.rb:202:in  `<top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot/capybara.rb:1:in  `<top (required)>'

Full trace:

/Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot.rb:109: warning: `&' interpreted as argument prefix
/Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot.rb:113: warning: `&' interpreted as argument prefix
/Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot/callbacks.rb:7: warning: `*' interpreted as argument prefix
/Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot/callbacks.rb:27: warning: `*' interpreted as argument prefix
/Users/lloeki/.gem/ruby/2.3.4/gems/activesupport-5.0.4/lib/active_support/dependencies.rb:293: warning: loading in progress, circular require considered harmful - /Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot.rb
    from /Users/lloeki/.gem/ruby/2.3.4/bin/bundle:22:in  `<main>'
    from /Users/lloeki/.gem/ruby/2.3.4/bin/bundle:22:in  `load'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/exe/bundle:26:in  `<top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/friendly_errors.rb:100:in  `with_friendly_errors'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/exe/bundle:34:in  `block in <top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/cli.rb:11:in  `start'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/vendor/thor/lib/thor/base.rb:440:in  `start'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/cli.rb:20:in  `dispatch'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/vendor/thor/lib/thor.rb:359:in  `dispatch'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in  `invoke_command'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/vendor/thor/lib/thor/command.rb:27:in  `run'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/cli.rb:332:in  `exec'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/cli/exec.rb:27:in  `run'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/cli/exec.rb:74:in  `kernel_load'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/cli/exec.rb:74:in  `load'
    from /Users/lloeki/.gem/ruby/2.3.4/bin/rake:22:in  `<top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/bin/rake:22:in  `load'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/exe/rake:27:in  `<top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/application.rb:77:in  `run'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/application.rb:178:in  `standard_exception_handling'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/application.rb:79:in  `block in run'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/application.rb:95:in  `load_rakefile'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/application.rb:178:in  `standard_exception_handling'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/application.rb:96:in  `block in load_rakefile'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/application.rb:686:in  `raw_load_rakefile'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/rake_module.rb:28:in  `load_rakefile'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/rake_module.rb:28:in  `load'
    from /Users/lloeki/Workspace/adhoc/web/cel3/cel3-core/Rakefile:9:in  `<top (required)>'
    from /Users/lloeki/Workspace/adhoc/web/cel3/cel3-core/Rakefile:9:in  `load'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/railties-5.0.4/lib/rails/tasks/engine.rake:72:in  `<top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/application.rb:152:in  `invoke_task'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/task.rb:173:in  `invoke'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/task.rb:180:in  `invoke_with_call_chain'
    from /Users/lloeki/.rubies/ruby-2.3.4/lib/ruby/2.3.0/monitor.rb:214:in  `mon_synchronize'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/task.rb:187:in  `block in invoke_with_call_chain'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/task.rb:243:in  `execute'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/task.rb:243:in  `each'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/task.rb:248:in  `block in execute'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/railties-5.0.4/lib/rails/tasks/engine.rake:2:in  `block in <top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/dsl_definition.rb:140:in  `namespace'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/rake-11.3.0/lib/rake/task_manager.rb:218:in  `in_namespace'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/railties-5.0.4/lib/rails/tasks/engine.rake:3:in  `block (2 levels) in <top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/railties-5.0.4/lib/rails/tasks/engine.rake:3:in  `load'
    from /Users/lloeki/Workspace/adhoc/web/cel3/cel3-core/spec/dummy/Rakefile:5:in  `<top (required)>'
    from /Users/lloeki/Workspace/adhoc/web/cel3/cel3-core/spec/dummy/Rakefile:5:in  `require'
    from /Users/lloeki/Workspace/adhoc/web/cel3/cel3-core/spec/dummy/config/application.rb:11:in  `<top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler.rb:106:in  `require'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/runtime.rb:75:in  `require'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/runtime.rb:75:in  `each'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/runtime.rb:86:in  `block in require'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/runtime.rb:86:in  `each'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/runtime.rb:91:in  `block (2 levels) in require'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/bundler-1.13.7/lib/bundler/runtime.rb:91:in  `require'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot.rb:202:in  `<top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/activesupport-5.0.4/lib/active_support/dependencies.rb:293:in  `require'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/activesupport-5.0.4/lib/active_support/dependencies.rb:259:in  `load_dependency'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/activesupport-5.0.4/lib/active_support/dependencies.rb:293:in  `block in require'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/activesupport-5.0.4/lib/active_support/dependencies.rb:293:in  `require'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/capybara-screenshot-1.0.17/lib/capybara-screenshot/capybara.rb:1:in  `<top (required)>'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/activesupport-5.0.4/lib/active_support/dependencies.rb:293:in  `require'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/activesupport-5.0.4/lib/active_support/dependencies.rb:259:in  `load_dependency'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/activesupport-5.0.4/lib/active_support/dependencies.rb:293:in  `block in require'
    from /Users/lloeki/.gem/ruby/2.3.4/gems/activesupport-5.0.4/lib/active_support/dependencies.rb:293:in  `require'
mattheworiordan commented 7 years ago

@lloeki would be great if you fixed them, sure! A PR would be very welcome.