Actions
Bug #12480
closedRestarting Coverage does not capture additional coverage for already loaded files
Description
I'm trying to combine coverage from before fork and after fork to make coverage reporting work in a forking test runner.
The problem I ran into is 2-fold:
- A: when forking, previous coverage is lost
- B: when restarting coverage, old files do not get added to
I could work around issue A by storing the old result and then merging it with the new result post fork, but issue B makes that impossible.
Please fix either A or B ...
Reproduction steps for A:
# reproduce.rb require 'coverage' Coverage.start require_relative 'test' a fork do b new = Coverage.result puts "NEW: #{new}" end # test.rb def a 1 end def b 1 end
NEW: {"/Users/mgrosser/Code/tools/forking_test_runner/test.rb"=>[0, 0, nil, nil, 0, 1, nil]}
-> missing coverage information for method a
Reproduction steps for B:
# reproduce.rb require 'coverage' Coverage.start require_relative 'test' a old = Coverage.result Coverage.start b new = Coverage.result puts "OLD: #{old} -- NEW: #{new}" # test.rb def a 1 end def b 1 end
OLD: {"test.rb"=>[1, 1, nil, nil, 1, 0, nil]} -- NEW: {"test.rb"=>[]}
-> missing coverage information for method b
Actions