grodowski / undercover

undercover warns about methods, classes and blocks that were changed without tests, to help you easily find untested code and reduce the number of bugs. It does so by analysing data from git diffs, code structure and SimpleCov coverage reports

Home Page:https://undercover-ci.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project path and lcov path options are failing

grodowski opened this issue · comments

Reproduce

  • run from a directory different than target dir: undercover -p path/to/project
  • fails to guess the lcov path, because it starts looking in pwd

Or:

  • run from a directory different than target dir: undercover -p path/to/project --lcov path/to/project/lcov.lcov
  • fails to parse files, because parser receives relative paths (need to prepend project path or make them absolute)

Sample backtrace:

./undercover/bin/undercover -p undercover -l undercover/coverage/lcov/undercover.lcov -c HEAD~5
/Users/mrgrodo/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/parser-2.5.1.0/lib/parser/base.rb:65:in `read': No such file or directory @ rb_sysopen - lib/undercover.rb (Errno::ENOENT)
	from /Users/mrgrodo/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/parser-2.5.1.0/lib/parser/base.rb:65:in `parse_file'
	from /Users/mrgrodo/dev/undercover/lib/undercover.rb:80:in `block in each_result_arg'
	from /Users/mrgrodo/dev/undercover/lib/undercover.rb:78:in `each'
	from /Users/mrgrodo/dev/undercover/lib/undercover.rb:78:in `each_result_arg'
	from /Users/mrgrodo/dev/undercover/lib/undercover.rb:35:in `build'
	from /Users/mrgrodo/dev/undercover/lib/undercover/cli.rb:28:in `run'
	from ./undercover/bin/undercover:11:in `block in <main>'
	from /Users/mrgrodo/.rbenv/versions/2.4.4/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
	from ./undercover/bin/undercover:10:in `<main>'