
Issue #19360 has been reported by ioquatix (Samuel Williams). ---------------------------------------- Bug #19360: Enabling coverage with `-r` option isn't sufficient to intercept top level script. https://bugs.ruby-lang.org/issues/19360 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Assignee: ioquatix (Samuel Williams) * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- For some reason, Ruby's coverage library doesn't work when the file is loaded from the command line. In the below example, test2.rb loads test.rb. If you run test2.rb with coverage enabled, it will report coverage for test.rb but not test2.rb. If you run test.rb directly, no coverage is reported. ``` samuel@aiko ~/P/i/autocoverage> ruby -r "./autocoverage.rb" test.rb Hello World {} samuel@aiko ~/P/i/autocoverage> ruby -r "./autocoverage.rb" test2.rb Hello World {"/home/samuel/Projects/ioquatix/autocoverage/test.rb"=>{:lines=>[1, 1, nil, nil, 1], :branches=>{}, :methods=>{[Object, :main, 1, 0, 3, 3]=>1}}} ``` The same problem affects simplecov. ``` ruby -r "./simplecov.rb" test.rb ... similar results in coverage directory ... ``` See https://github.com/ioquatix/autocoverage for a complete reproduction. -- https://bugs.ruby-lang.org/