// Together with the original class definition we can calculate coverage // information: final CoverageBuilder coverageBuilder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executionData, coverageBuilder); analyzer.analyzeClass(getTargetClass(targetName), targetName);
private CoverageBuilder analyze(ExecutionDataStore executionDataStore) { CoverageBuilder coverageBuilder = new CoverageBuilder(); Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); for (File classFile : classFilesCache.values()) { analyzeClassFile(analyzer, classFile); } return coverageBuilder; }
private CoverageBuilder analyze(ExecutionDataStore executionDataStore) { CoverageBuilder coverageBuilder = new CoverageBuilder(); Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); java.io.File binariesDir = new File(fileSystem.baseDir() + "/target/classes"); if (binariesDir.exists()) { analyzeAll(analyzer, binariesDir); } return coverageBuilder; }
private void collectForParametrizedTest(String testMethodName) { final CoverageBuilder coverageBuilder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(this.internalCoverage.getExecutionData(), coverageBuilder); try { analyzer.analyzeAll(new File(this.internalCoverage.getClassesDirectory())); } catch (IOException e) { throw new RuntimeException(e); } if (!this.coveragesPerMethodName.containsKey(testMethodName)) { this.coveragesPerMethodName.put(testMethodName, new ArrayList<>()); } coverageBuilder.getClasses() .forEach(classCoverage -> this.coveragesPerMethodName.get(testMethodName) .add(classCoverage) ); }
@Override public void collectData(ExecutionDataStore executionData, String classesDirectory) { final CoverageBuilder coverageBuilder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executionData, coverageBuilder); try {
private CoverageBuilder analyze(ExecutionDataStore executionDataStore) { CoverageBuilder coverageBuilder = new CoverageBuilder(); Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); for (File binaryDir : fileSystem.binaryDirs()) { analyzeAll(analyzer, binaryDir); } return coverageBuilder; }
private CoverageBuilder analyze2(ExecutionDataStore executionDataStore) { CoverageBuilder coverageBuilder = new CoverageBuilder(); Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); for (File binaryDir : fileSystem.binaryDirs()) { for (ExecutionData data : executionDataStore.getContents()) { String vmClassName = data.getName(); String classFileName = vmClassName.replace('.', '/') + ".class"; File classFile = new File(binaryDir, classFileName); if (classFile.isFile()) { try { analyzer.analyzeAll(classFile); } catch (Exception e) { JaCoCoUtils.LOG.warn("Exception during analysis of file " + classFile.getAbsolutePath(), e); } } } } return coverageBuilder; }
private CoverageBuilder analyze2(ExecutionDataStore executionDataStore) { CoverageBuilder coverageBuilder = new CoverageBuilder(); Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); for (ExecutionData data : executionDataStore.getContents()) { String vmClassName = data.getName(); File classFile = classFilesCache.get(vmClassName); if (classFile != null) { analyzeClassFile(analyzer, classFile); } } return coverageBuilder; }
private IBundleCoverage analyzeStructure() throws IOException { File classDirectory = new File(classDir.getRemote()); final CoverageBuilder coverageBuilder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); analyzer.analyzeAll(classDirectory); return coverageBuilder.getBundle(name); } public IBundleCoverage loadBundleCoverage() throws IOException {
/** * Caller must guarantee that {@code classFiles} are actually class file. */ public CoverageBuilder analyzeFiles(ExecutionDataStore executionDataStore, Collection<File> classFiles) { CoverageBuilder coverageBuilder = new CoverageBuilder(); Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); for (File classFile : classFiles) { analyzeClassFile(analyzer, classFile); } logNoMatchClasses(coverageBuilder.getNoMatchClasses()); return coverageBuilder; }
public void jacocoCheckpoint(File classFile, File csvDir) { int idx = nextFileIdx; csvDir.mkdirs(); try { // Get exec data by dynamically calling RT.getAgent().getExecutionData() Class RT = Class.forName("org.jacoco.agent.rt.RT"); Method getAgent = RT.getMethod("getAgent"); Object agent = getAgent.invoke(null); Method dump = agent.getClass().getMethod("getExecutionData", boolean.class); byte[] execData = (byte[]) dump.invoke(agent, false); // Analyze exec data ExecFileLoader loader = new ExecFileLoader(); loader.load(new ByteArrayInputStream(execData)); final CoverageBuilder builder = new CoverageBuilder(); Analyzer analyzer = new Analyzer(loader.getExecutionDataStore(), builder); analyzer.analyzeAll(classFile); // Generate CSV File csv = new File(csvDir, String.format("cov-%05d.csv", idx)); try (FileOutputStream out = new FileOutputStream(csv)) { IReportVisitor coverageVisitor = new CSVFormatter().createVisitor(out); coverageVisitor.visitBundle(builder.getBundle("JQF"), null); coverageVisitor.visitEnd(); out.flush(); } } catch (Exception e) { System.err.println(e); } }
return null; final CoverageBuilder coverageBuilder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder);
private IBundleCoverage analyze(final ExecutionDataStore data, final PrintWriter out) throws IOException { final CoverageBuilder builder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(data, builder); for (final File f : classfiles) { analyzer.analyzeAll(f); } printNoMatchWarning(builder.getNoMatchClasses(), out); return builder.getBundle(name); }
/** * Caller must guarantee that {@code classFiles} are actually class file. */ public CoverageBuilder analyzeFiles(ExecutionDataStore executionDataStore, Collection<File> classFiles) { CoverageBuilder coverageBuilder = new CoverageBuilder(); if (useCurrentBinaryFormat) { Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); for (File classFile : classFiles) { analyzeClassFile(analyzer, classFile); } } else { org.jacoco.previous.core.analysis.Analyzer analyzer = new org.jacoco.previous.core.analysis.Analyzer(executionDataStore, coverageBuilder); for (File classFile : classFiles) { analyzeClassFile(analyzer, classFile); } } return coverageBuilder; }
private AnalyzedNodes analyzeExternal(final IPackageFragmentRoot root) throws CoreException { IPath location = null; try { location = root.getPath(); AnalyzedNodes nodes = cache.get(location); if (nodes != null) { return nodes; } final CoverageBuilder builder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executiondata, builder); new ResourceTreeWalker(analyzer).walk(location); nodes = new AnalyzedNodes(builder.getClasses(), builder.getSourceFiles()); cache.put(location, nodes); return nodes; } catch (Exception e) { throw new CoreException(EclEmmaStatus.BUNDLE_ANALYSIS_ERROR.getStatus( root.getElementName(), location, e)); } }
private AnalyzedNodes analyzeInternal(final IPackageFragmentRoot root) throws CoreException { IResource location = null; try { location = getClassfilesLocation(root); if (location == null) { TRACER.trace("No class files found for package fragment root {0}", //$NON-NLS-1$ root.getPath()); return AnalyzedNodes.EMPTY; } AnalyzedNodes nodes = cache.get(location); if (nodes != null) { return nodes; } final CoverageBuilder builder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executiondata, builder); new ResourceTreeWalker(analyzer).walk(location); nodes = new AnalyzedNodes(builder.getClasses(), builder.getSourceFiles()); cache.put(location, nodes); return nodes; } catch (Exception e) { throw new CoreException(EclEmmaStatus.BUNDLE_ANALYSIS_ERROR.getStatus( root.getElementName(), location, e)); } }
runtime.shutdown(); final CoverageBuilder coverageBuilder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executionData, coverageBuilder); analyzer.analyzeClass(getTargetClass(targetName), targetName);
final CoverageBuilder builder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executionDataStore, builder);