Merge pull request #1175 from bf4/quiet_success_messages

Disable coverage/warnings output when passing in dev
This commit is contained in:
Benjamin Fleischer 2015-09-21 09:31:49 -05:00
commit bac43af0e6
3 changed files with 46 additions and 27 deletions

View File

@ -49,21 +49,32 @@ Coverage.start
## ADD SOME CUSTOM REPORTING AT EXIT
SimpleCov.at_exit do
next if $! and not ($!.kind_of? SystemExit and $!.success?)
header = "#{'*' * 20} SimpleCov Results #{'*' * 20}"
@output.puts
@output.puts header
@output.puts SimpleCov.result.format!
results = SimpleCov.result.format!.join("\n")
exit_message = <<-EOF
#{header}
{{RESULTS}}
{{FAILURE_MESSAGE}}
#{'*' * header.size}
EOF
percent = Float(SimpleCov.result.covered_percent)
if percent < @minimum_coverage
@output.puts "Spec coverage was not high enough: "\
"#{percent.round(2)} is < #{@minimum_coverage}%\n"
exit 1 if @generate_report
else
@output.puts "Nice job! Spec coverage (#{percent.round(2)}) "\
"is still at or above #{@minimum_coverage}%\n"
failure_message = <<-EOF
Spec coverage was not high enough: #{percent.round(2)}% is < #{@minimum_coverage}%
EOF
exit_message.sub!('{{RESULTS}}', results).sub!('{{FAILURE_MESSAGE}}', failure_message)
@output.puts exit_message
abort(failure_message) if @generate_report
elsif @running_ci
exit_message.sub!('{{RESULTS}}', results).sub!('{{FAILURE_MESSAGE}}', <<-EOF)
Nice job! Spec coverage (#{percent.round(2)}%) is still at or above #{@minimum_coverage}%
EOF
@output.puts exit_message
end
@output.puts
@output.puts '*' * header.size
end
## CAPTURE CONFIG IN CLOSURE 'AppCoverage.start'

View File

@ -10,15 +10,14 @@ rvm:
- 2.0.0
- 2.1
- 2.2
- jruby-19mode
- rbx-2
- ruby-head
- rbx-2
install:
- bundle install --retry=3
script:
- bundle exec rake
- env CAPTURE_STDERR=false bundle exec rake
- bundle exec rake rubocop
env:
@ -28,6 +27,9 @@ env:
- "RAILS_VERSION=master"
matrix:
include:
- rvm: jruby-19mode
env: JRUBY_OPTS='--server -Xcompile.invokedynamic=false -Xcli.debug=true --debug'
allow_failures:
- rvm: ruby-head
- env: "RAILS_VERSION=master"

View File

@ -26,38 +26,44 @@ class CaptureWarnings
end
end
# rubocop:disable Metrics/AbcSize
def after_tests(lines)
app_warnings, other_warnings = lines.partition do |line|
line.include?(app_root) && !line.include?(bundle_dir)
end
header = "#{'-' * 22} app warnings: #{'-' * 22}"
output.puts
output.puts header
if app_warnings.any?
output.puts app_warnings.join("\n")
warnings_message = app_warnings.join("\n")
print_warnings = true
else
output.puts 'None. Yay!'
warnings_message = 'None. Yay!'
ENV['FULL_BUILD'] ||= ENV['CI']
running_ci = ENV['FULL_BUILD'] =~ /\Atrue\z/i
print_warnings = running_ci
end
if other_warnings.any?
File.write(File.join(output_dir, 'warnings.txt'), other_warnings.join("\n") << "\n")
output.puts
output.puts 'Non-app warnings written to tmp/warnings.txt'
output.puts
warnings_message << "\nNon-app warnings written to tmp/warnings.txt"
print_warnings = true
end
output.puts
output.puts '-' * header.size
header = "#{'-' * 22} app warnings: #{'-' * 22}"
message = <<-EOF.strip_heredoc
#{header}
#{warnings_message}
#{'-' * header.size}
EOF
output.puts(message) if print_warnings
# fail the build...
if fail_on_warnings && app_warnings.any?
abort "Failing build due to app warnings: #{app_warnings.inspect}"
end
end
# rubocop:enable Metrics/AbcSize
private