From bb5e514321732ee6fac150cdbfb587cca5c20433 Mon Sep 17 00:00:00 2001 From: Samantha McVey Date: Wed, 9 Nov 2016 22:15:03 -0800 Subject: [PATCH] Update rakefile so that it will return an exit code of 1 if there is a failure (Travis CI needs this). Make ISO-8859* encoding detections notices not failures --- Rakefile | 38 +++++++++++++++++++++----------------- tests/encoding.rb | 16 +++++++--------- tests/yaml.rb | 2 +- 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/Rakefile b/Rakefile index b87f1aef..6a31bd72 100644 --- a/Rakefile +++ b/Rakefile @@ -1,19 +1,23 @@ -task default: %w[test] - -task :test do - failed = false - Dir["./tests/*.rb"].each do |test_file| - begin - ruby test_file - puts "" - rescue - puts "FAILED #{test_file}!" - puts "" - failed = true - end - end - - if failed - exit 0 +task default: %w[encoding yaml return_code] +$failure = 0 +task :encoding do + begin + ruby 'tests/encoding.rb' + rescue Exception => msg + puts msg + $failure += 1 + end +end +task :yaml do + begin + ruby 'tests/yaml.rb' + rescue Exception => msg + puts msg + $failure += 1 + end +end +task :return_code do + if $failure != 0 + raise "Failed #{$failure} tests!!" end end diff --git a/tests/encoding.rb b/tests/encoding.rb index e8e18e4d..a0b3b184 100644 --- a/tests/encoding.rb +++ b/tests/encoding.rb @@ -9,26 +9,24 @@ markdown_files.each do |file| case detection[:encoding] when 'UTF-8' $file_count = $file_count + 1 + when 'ISO-8859-1' + $file_count = $file_count + 1 + when /ISO-8859/ + puts "Notice: #{file} was detected as #{detection[:encoding]} encoding. Everything is probably fine." + $file_count = $file_count + 1 else - enc = detection[:encoding] - if not enc.start_with? 'ISO-8859-' - puts "#{file} was detected as #{detection[:encoding]} encoding! Please save the file in UTF-8!" - else - $file_count += 1 - end + puts "WARNING #{file} was detected as #{detection[:encoding]} encoding. Please save the file in UTF-8!" end rescue Exception => msg puts msg end end - files_failed = markdown_files.length - $file_count - if files_failed != 0 puts "FAILURE!!! #{files_failed} files were unable to be validated as UTF-8!" puts "Please resave the file as UTF-8." exit 1 else - puts "Success. All #{$file_count} files Ruby's UTF-8 validity checks. This won't catch most problems." + puts "Success. All #{$file_count} files passed UTF-8 validity checks." exit 0 end diff --git a/tests/yaml.rb b/tests/yaml.rb index 9f21016f..0ed918e0 100644 --- a/tests/yaml.rb +++ b/tests/yaml.rb @@ -16,6 +16,6 @@ if files_failed != 0 puts "Please check the YAML headers for the documents that failed!" exit 1 else - puts "Success. All #{$file_count} files were verified valid YAML" + puts "All #{$file_count} files were verified valid YAML" exit 0 end