public static void clearInstance() { clearInstance(ClientProcess.DEFAULT_CLIENT_NAME); }
/** * Shorthand for getOutputVariables(individual, false) */ private Map<String, OutputVariable<?>> getOutputVariables(TestSuiteChromosome individual) { return getOutputVariables(individual, false); }
public static SearchStatistics getInstance(String rmiClientIdentifier) { SearchStatistics instance = instances.get(rmiClientIdentifier); if (instance == null) { instance = new SearchStatistics(); instances.put(rmiClientIdentifier, instance); } return instance; }
@Override public void evosuite_collectStatistics(String clientRmiIdentifier, RuntimeVariable variable, Object value) throws RemoteException { SearchStatistics.getInstance(clientRmiIdentifier).setOutputVariable(variable, value); }
@Override public void evosuite_flushStatisticsForClassChange(String clientRmiIdentifier) throws RemoteException { SearchStatistics.getInstance(clientRmiIdentifier).writeStatisticsForAnalysis(); }
@Override public void evosuite_collectTestGenerationResult( String clientRmiIdentifier, List<TestGenerationResult> results) throws RemoteException { SearchStatistics.getInstance(clientRmiIdentifier).addTestGenerationResult(results); }
hasFailed = true; } else { boolean written = SearchStatistics.getInstance().writeStatistics(); hasFailed = !written; List<List<TestGenerationResult>> results = SearchStatistics.getInstance().getTestGenerationResults(); SearchStatistics.clearInstance();
@Override public void evosuite_collectStatistics(String clientRmiIdentifier, Chromosome individual) { SearchStatistics.getInstance(clientRmiIdentifier).currentIndividual(individual); }
initFactories(); setOutputVariable(RuntimeVariable.Random_Seed, Randomness.getSeed()); sequenceOutputVariableFactories.put(RuntimeVariable.CoverageTimeline.name(), new CoverageSequenceOutputVariableFactory()); sequenceOutputVariableFactories.put(RuntimeVariable.FitnessTimeline.name(), new FitnessSequenceOutputVariableFactory());
public static SearchStatistics getInstance() { return getInstance(ClientProcess.DEFAULT_CLIENT_NAME); }
/** * Retrieve list of output variables that the user will get to see. * If output_variables is not set, then all variables will be returned * * @return */ private Collection<String> getOutputVariableNames() { List<String> variableNames = new ArrayList<>(); if(Properties.OUTPUT_VARIABLES == null) { variableNames.addAll(getAllOutputVariableNames()); } else { for(String entry : Properties.OUTPUT_VARIABLES.split(",")){ variableNames.add(entry.trim()); } } return variableNames; }
Map<String, OutputVariable<?>> variables = new LinkedHashMap<String, OutputVariable<?>>(); for(String variableName : getOutputVariableNames()) { if(outputVariables.containsKey(variableName)) {
LoggingUtils.getEvoLogger().info("* Writing statistics"); SearchStatistics.getInstance().writeStatisticsForAnalysis();
public static Object execute(Options options, List<String> javaOpts, CommandLine line) { if (line.hasOption("class")) { measureCoverageClass(line.getOptionValue("class"), javaOpts); } else if (line.hasOption("target")) { measureCoverageTarget(line.getOptionValue("target"), javaOpts); } else { LoggingUtils.getEvoLogger().error("Please specify target class ('-class' option)"); Help.execute(options); } return SearchStatistics.getInstance(); }
/** * Write result to disk using selected backend * * @return true if the writing was successful */ public boolean writeStatisticsForAnalysis() { logger.info("Writing statistics"); if(backend == null) { LoggingUtils.getEvoLogger().info("Backend is null"); return false; } outputVariables.put(RuntimeVariable.Total_Time.name(), new OutputVariable<Object>(RuntimeVariable.Total_Time.name(), System.currentTimeMillis() - startTime)); TestSuiteChromosome individual = new TestSuiteChromosome(); Map<String,OutputVariable<?>> map = getOutputVariables(individual); if(map==null){ logger.error("Not going to write down statistics data, as some are missing"); return false; } boolean valid = RuntimeVariable.validateRuntimeVariables(map); if(!valid){ logger.error("Not going to write down statistics data, as some data is invalid"); return false; } else { backend.writeData(individual, map); return true; } }
@Before public void prepare() { try { FileUtils.deleteDirectory(new File("evosuite-report")); } catch (IOException e) { Assert.fail(e.getMessage()); } Properties.TARGET_CLASS = ""; Properties.OUTPUT_VARIABLES = null; Properties.STATISTICS_BACKEND = StatisticsBackend.DEBUG; Properties.COVERAGE_MATRIX = false; SearchStatistics.clearInstance(); CoverageAnalysis.reset(); }
Map<String,OutputVariable<?>> map = getOutputVariables(individual); if(map==null){ map = getOutputVariables(individual); counter++; map = getOutputVariables(individual, true);
@Before public void prepare() { try { FileUtils.deleteDirectory(new File("evosuite-report")); } catch (IOException e) { Assert.fail(e.getMessage()); } Properties.TARGET_CLASS = ""; Properties.OUTPUT_VARIABLES = null; Properties.STATISTICS_BACKEND = StatisticsBackend.DEBUG; Properties.COVERAGE_MATRIX = false; SearchStatistics.clearInstance(); CoverageAnalysis.reset(); }
@Test public void testOnlyLineCoverage() { SearchStatistics statistics = this.aux(new Properties.Criterion[] { Properties.Criterion.ONLYLINE }); Map<String, OutputVariable<?>> variables = statistics.getOutputVariables(); assertEquals(11, (Integer) variables.get("Total_Goals").getValue(), 0.0); assertEquals(11, (Integer) variables.get("Covered_Goals").getValue(), 0.0); }
@Test public void testOnlyBranchCoverage() { SearchStatistics statistics = this.aux(new Properties.Criterion[] { Properties.Criterion.ONLYBRANCH }); Map<String, OutputVariable<?>> variables = statistics.getOutputVariables(); assertEquals(8, (Integer) variables.get("Total_Goals").getValue(), 0.0); assertEquals(8, (Integer) variables.get("Covered_Goals").getValue(), 0.0); }