nikgoodley-ibboost / cakupan

Automatically exported from code.google.com/p/cakupan
0 stars 0 forks source link

Rework CoverageLine to have more precise semantics, which gives us more precise results. #17

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
During instrumentation, each line in the source which may expect to be executed 
is either marked as INSTRUMENTED or SKIPPED; lines we are confident will not be 
executed are left out.  During reporting, any lines which were not marked but 
were executed are marked as UNINSTRUMENTED.

From this, then, we can calculate which lines were instrumented and executed 
(these are covered lines), skipped and executed (we don't care about these), 
and uninstrumented and executed (these are bugs in instrumentation).

Our coverage statistics follow: Coverage is the percent of instrumented lines 
that were also executed.

Wrap this up in a CoverageStats object, which we can use to accumulate 
statistics during execution, return as a result, and do calculations on 
coverage percentages.

Original issue reported on code.google.com by sgiff...@suspectclass.com on 8 Jan 2015 at 5:16

Attachments:

GoogleCodeExporter commented 9 years ago
This patch is built on top of the previous patches I have submitted:

https://code.google.com/p/cakupan/issues/detail?id=11
https://code.google.com/p/cakupan/issues/detail?id=12
https://code.google.com/p/cakupan/issues/detail?id=13
https://code.google.com/p/cakupan/issues/detail?id=14
https://code.google.com/p/cakupan/issues/detail?id=16

If you'd like to apply them differently, please let me know and I can rebase 
them.

Original comment by sgiff...@suspectclass.com on 8 Jan 2015 at 5:18