Skip to content

Instantly share code, notes, and snippets.

@manveru
Created August 21, 2010 15:14
Show Gist options
  • Save manveru/542434 to your computer and use it in GitHub Desktop.
Save manveru/542434 to your computer and use it in GitHub Desktop.
Little coverage output formatter
#!/usr/bin/env ruby
require 'pp'
require 'coverage'
Coverage.start
ARGV.each do |arg|
require_relative arg
end
red, yellow, green = "\e[31m%s\e[0m", "\e[33m%s\e[0m", "\e[32m%s\e[0m"
Coverage.result.each do |file, results|
puts "", file.center(80, " = "), ""
lines = File.readlines(file)
lines.zip(results) do |line, result|
executed = result ||
case line
when /^\s*end\s*$/; true
when /^\s*$/; true
when /^\s*#/; true
end
if result
print green % ["%3d | %s" % [result.to_i, line]]
elsif executed
print yellow % ["%3d | %s" % [result.to_i, line]]
else
print red % [" | %s" % [line]]
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment