From: mame@... Date: 2017-12-20T04:35:32+00:00 Subject: [ruby-core:84357] [Ruby trunk Bug#14191] Coverage decreased between 2.4.3 and 2.5.0rc1 Issue #14191 has been updated by mame (Yusuke Endoh). Sangyong Sim told me that 2.5's line coverage measurement was slower than 2.4 because of some reasons. I talked with ko1, and decided to revert the changes of line coverage (2.4 and 2.5 use a special event and special instruction for line coverage). I committed r61350. This change also means that line numbers are back to 2.4. In short, everything about 2.5's line coverage should be the same as 2.4. ---------------------------------------- Bug #14191: Coverage decreased between 2.4.3 and 2.5.0rc1 https://bugs.ruby-lang.org/issues/14191#change-68541 * Author: kddeisz (Kevin Deisz) * Status: Closed * Priority: Normal * Assignee: mame (Yusuke Endoh) * Target version: 2.5 * ruby -v: 2.5.0rc1 * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- Just ran the test suite on my Rails app on the new rc and noticed that the coverage dropped by a full 3%. After some investigation discovered a lot of lines aren't being reported as covered anymore even though they clearly are. Here are all of the instances that I found that don't report coverage when they should: ~~~ ruby # test.rb require 'coverage' Coverage.start require_relative './file.rb' p Coverage.result ~~~ ~~~ruby # file.rb FOO = [ { foo: 'bar' }, { bar: 'baz' } ] 'some string'.split .map(&:length) some = 'value' Struct.new( :foo, :bar ).new class Test def foo(bar) { foo: bar } end end Test.new.foo(Object.new) ~~~ In this case we're not getting coverage on the constant assignment, on the second method of the string manipulation, on the multi-line assignment, on the instantiation of the struct, or on the return value of the Test#foo method. -- https://bugs.ruby-lang.org/ Unsubscribe: