On Wed, Aug 23, 2006 at 08:08:27PM +0900, Mauricio Fernandez wrote: > On Wed, Aug 23, 2006 at 08:32:09AM +0900, Tomasz Wegrzanowski wrote: > > I have a program compiler.rb, that compiles something. > > The test driver is a separate program, that runs compiler.rb, then feeds > > the results to a virtual machine, and checks if it gets expected results. > > > > Now I'd like to verify that every single line of compiler.rb is > > covered by tests. > > How can I make rcov merge information from multiple runs of compiler.rb ? > > You can use the --aggregate option, which was added in 0.7.0. [...] Sorry, I misread the first paragraph and answered somewhat aside of the question. In the case you describe, you could create a small wrapper that would look more or less like this: #!/usr/bin/env ruby system("rcov", "--aggregate", "coverage.data", "--no-html", "-t", "compiler.rb", "--", *ARGV) exit $?.exitstatus Then you could select which script (the wrapper or the actual compiler.rb) is to be executed with a symlink. Alternatively, you could change the driver to select the script or execute rcov with the appropriate arguments directly, but at that point you'd have to implement some way to specify whether rcov is to be used or not, if you want to allow both. Hope this helps. -- Mauricio Fernandez - http://eigenclass.org - singular Ruby