Project

General

Profile

Actions

Defect #30967

closed

"rake test:coverage" fails in Ruby 2.5 and 2.6

Added by Go MAEDA over 5 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Ruby support
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed
Affected version:

Description

rake test:coverage fails in Ruby 2.5 or 2.6 with the error like the following. It occurs due to Unicode characters such as 'ŋ' in app/models/repository/git.rb line 3 and '汉' in lib/redmine/search.rb line 63.

Traceback (most recent call last):
    9: from /Users/maeda/redmines/gems/ruby/2.5.0/gems/simplecov-0.14.1/lib/simplecov/defaults.rb:68:in `block in <top (required)>'
    8: from /Users/maeda/redmines/gems/ruby/2.5.0/gems/simplecov-0.14.1/lib/simplecov/configuration.rb:180:in `block in at_exit'
    7: from /Users/maeda/redmines/gems/ruby/2.5.0/gems/simplecov-0.14.1/lib/simplecov/result.rb:46:in `format!'
    6: from /Users/maeda/redmines/redmine-trunk/test/coverage/html_formatter.rb:29:in `format'
    5: from /Users/maeda/redmines/redmine-trunk/test/coverage/html_formatter.rb:29:in `each'
    4: from /Users/maeda/redmines/redmine-trunk/test/coverage/html_formatter.rb:30:in `block in format'
    3: from /Users/maeda/redmines/redmine-trunk/test/coverage/html_formatter.rb:30:in `open'
    2: from /Users/maeda/redmines/redmine-trunk/test/coverage/html_formatter.rb:31:in `block (2 levels) in format'
    1: from /Users/maeda/redmines/redmine-trunk/test/coverage/html_formatter.rb:31:in `puts'
/Users/maeda/redmines/redmine-trunk/test/coverage/html_formatter.rb:31:in `write': "\xC5" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)

You can fix the error with the following change.

Index: test/coverage/html_formatter.rb
===================================================================
--- test/coverage/html_formatter.rb    (リビジョン 17927)
+++ test/coverage/html_formatter.rb    (作業コピー)
@@ -28,7 +28,7 @@
         end
         result.source_files.each do |source_file|
           File.open(File.join(output_path, source_file_result(source_file)), "w") do |file|
-            file.puts template('source').result(binding)
+            file.puts template('source').result(binding).force_encoding('utf-8')
           end
         end
       end

Related issues

Related to Redmine - Feature #30963: Update simplecov gem (~> 0.17.0)ClosedGo MAEDA

Actions
Actions

Also available in: Atom PDF