Feature #30963

Update simplecov gem (~> 0.16.1)

Added by Go MAEDA 4 months ago. Updated 4 months ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:Go MAEDA% Done:


Category:Gems support
Target version:4.1.0


simplecov 0.16.1 has been released on 2018-03-16.

Related issues

Related to Redmine - Defect #30967: "rake test:coverage" fails in Ruby 2.5 and 2.6 Closed

Associated revisions

Revision 17928
Added by Go MAEDA 4 months ago

Update simplecov gem to 0.16 (#30963).


#1 Updated by Go MAEDA 4 months ago

  • Tracker changed from Defect to Feature

#2 Updated by Go MAEDA 4 months ago

I encountered the following error while running bin/rake test:coverage with simplecov 0.16.1.

Traceback (most recent call last):
    10: from /Users/maeda/redmines/gems/ruby/2.6.0/gems/simplecov-0.16.1/lib/simplecov/defaults.rb:27:in `block in <top (required)>'
     9: from /Users/maeda/redmines/gems/ruby/2.6.0/gems/simplecov-0.16.1/lib/simplecov.rb:200:in `run_exit_tasks!'
     8: from /Users/maeda/redmines/gems/ruby/2.6.0/gems/simplecov-0.16.1/lib/simplecov/configuration.rb:182:in `block in at_exit'
     7: from /Users/maeda/redmines/gems/ruby/2.6.0/gems/simplecov-0.16.1/lib/simplecov/result.rb:48: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)

#3 Updated by Go MAEDA 4 months ago

The error described in #30963#note-1 occurs while processing app/models/repository/git.rb line 3 ('ŋ') or lib/redmine/search.rb line 63 ('汉').

The following change will fixes the error.

Index: Gemfile
--- Gemfile    (リビジョン 17927)
+++ Gemfile    (作業コピー)
@@ -79,7 +79,7 @@
 group :test do
   gem "rails-dom-testing" 
   gem "mocha" 
-  gem "simplecov", "~> 0.14.1", :require => false
+  gem "simplecov", "~> 0.16.1", :require => false
   # For running system tests
   gem 'puma', '~> 3.7'
   gem "capybara", '~> 2.13'
Index: test/coverage/html_formatter.rb
--- test/coverage/html_formatter.rb    (リビジョン 17927)
+++ test/coverage/html_formatter.rb    (作業コピー)
@@ -28,7 +28,7 @@
         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')

#4 Updated by Go MAEDA 4 months ago

  • Target version changed from Candidate for next major release to 4.1.0

I found that the error I wrote in #30963#note-1 depends on the version of Ruby. You will see the error if you run rake test:coverage in Ruby 2.5 or 2.6. The error is reproducible with not only the latest SimpleCov 0.16 but also 0.14.1 (the version specified in the current Gemfile).

I confirmed that SimpleCov 0.16.1 passes all tests and generates the coverage report without any error in Ruby 2.3 and 2.4.

In conclusion, we can update SimpleCov to 0.16.1 safely. The problem I reported in #30963#note-1 is another problem and should be handled separately. I have opened a new issue #30967 for the problem.

#5 Updated by Go MAEDA 4 months ago

  • Related to Defect #30967: "rake test:coverage" fails in Ruby 2.5 and 2.6 added

#6 Updated by Go MAEDA 4 months ago

  • Status changed from New to Closed
  • Assignee set to Go MAEDA
  • Resolution set to Fixed


Also available in: Atom PDF