/** * This should be invoked after running tests. * @return this Cobertura instance */ public Cobertura calculateCoverage() { applyTouchesOnProjectData(projectData); didApplyInstrumentationResults.set(true); return this; }
public static synchronized void applyTouchesOnProjectData( ProjectData projectData) { logger.debug("=================== START OF REPORT ======================== "); for (Class<?> c : registeredClasses.keySet()) { logger.debug("Report: " + c.getName()); ClassData cd = projectData.getOrCreateClassData(c.getName()); applyTouchesToSingleClassOnProjectData(cd, c); } logger.debug("=================== END OF REPORT ======================== "); }
private static void applyTouchesToSingleClassOnProjectData( final ClassData classData, final Class<?> c) { logger.trace("----------- " + maybeCanonicalName(c) + " ---------------- "); try { Method m0 = c .getDeclaredMethod(AbstractCodeProvider.COBERTURA_GET_AND_RESET_COUNTERS_METHOD_NAME); m0.setAccessible(true); final int[] res = (int[]) m0.invoke(null, new Object[]{}); LightClassmapListener lightClassmap = new ApplyToClassDataLightClassmapListener( classData, res); Method m = c.getDeclaredMethod( AbstractCodeProvider.COBERTURA_CLASSMAP_METHOD_NAME, LightClassmapListener.class); m.setAccessible(true); m.invoke(null, lightClassmap); } catch (Exception e) { logger.error("Cannot apply touches", e); } }
for (Method meth : clazz.getMethods()) { if (meth.toString().contains("net.sourceforge.cobertura")) { registerClass(clazz); found = true; registerClass(clazz);
for (Method meth : clazz.getMethods()) { if (meth.toString().contains("net.sourceforge.cobertura")) { registerClass(clazz); found = true; registerClass(clazz);
TouchCollector.applyTouchesOnProjectData(projectDataToSave);
public static synchronized void applyTouchesOnProjectData( ProjectData projectData) { logger .fine("=================== START OF REPORT ======================== "); for (Class<?> c : registeredClasses.keySet()) { logger.fine("Report: " + c.getName()); ClassData cd = projectData.getOrCreateClassData(c.getName()); applyTouchesToSingleClassOnProjectData(cd, c); } logger .fine("=================== END OF REPORT ======================== "); }
TouchCollector.applyTouchesOnProjectData(projectDataToSave);