Currently, coverage is computed by building a single "file" to cover, made up of the program followed by the tests. As soon as one test fails, the entire coverage computation stops, leaving the appearance that a ton of code is not covered when it might be.
We should trap exceptions from each test and run the next test after failure during coverage computations.