mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-22 22:06:50 +00:00
Disable coverage/warnings output when passing in dev
This commit is contained in:
parent
ab1e2af349
commit
076cf64ff3
33
.simplecov
33
.simplecov
@ -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'
|
||||
|
||||
@ -18,7 +18,7 @@ install:
|
||||
- bundle install --retry=3
|
||||
|
||||
script:
|
||||
- bundle exec rake
|
||||
- env CAPTURE_STDERR=false bundle exec rake
|
||||
- bundle exec rake rubocop
|
||||
|
||||
env:
|
||||
|
||||
@ -26,38 +26,44 @@ class CaptureWarnings
|
||||
end
|
||||
end
|
||||
|
||||
# rubocop:disable Metrics/AbcSize
|
||||
def after_tests(lines)
|
||||
app_warnings, other_warnings = lines.partition { |line|
|
||||
line.include?(app_root) && !line.include?(bundle_dir)
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user