CoverageInfo uses ProfileInfo's information to account execution coverage and categorize programs to check coverage compliance.
The box below shows the Java code used to account coverage:
import net.cordova.justus.progressparser.*; import net.cordova.justus.coverage.*; import java.io.*; public class MyTest implements CommandListener { public static void main(String args[]) { File profFile = new File(args[0]); // Profiler's result file File sourceDir = new File(args[1]); // Profiler's output source code directory (dbg_* files) File categories = new File(args[2]); // Categories configuration - XML File // Uses ProfileInfo to account execution HashMap<Integer, ExecutionProgram> profileInfo; profileInfo = ProfileLoader.loadProfile(profFile, sourceDir); ArrayList<ExecutionProgram> programs = new ArrayList<ExecutionProgram>(profileInfo.values()); // Loads Categories configuration file Document doc = null; try { doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(categories); } catch(Exception e) { throw new BuildException("Coverage Configuration file corrupted: " + this.coverageConfig); } // Loads Categories ArrayList<Category> catList = Category.loadCategories(doc); // Uses CoverageInfo to account coverage by category. CoverageInfo info = CoverageInfo.processCoverage(catList, programs); } } |