public static void analyzeCriteria(TestSuiteChromosome testSuite, String criteria) { // If coverage of target criteria is not already measured if (!Properties.COVERAGE) { for (Criterion c : Properties.CRITERION) { // Analyse coverage for enabled criteria // LoggingUtils.getEvoLogger().info(" - " + c.name()); logger.debug("Measuring coverage of target criterion {}", c); analyzeCoverage(testSuite, c.name()); } } for (String extraCriterion : Arrays.asList(criteria.toUpperCase().split(","))) { if (extraCriterion.equals("CBRANCH")) { Properties.INSTRUMENT_METHOD_CALLS = true; } // Analyse coverage for extra criteria if (!ArrayUtil.contains(Properties.CRITERION, extraCriterion)) { logger.debug("Measuring additional coverage of target criterion {}", extraCriterion); analyzeCoverage(testSuite, extraCriterion); } } }
return ExceptionCoverageTestFitness.class; case REGRESSION: throw new RuntimeException("No test fitness function defined for " + criterion.name()); case READABILITY: throw new RuntimeException("No test fitness function defined for " + criterion.name()); case ONLYBRANCH: return OnlyBranchCoverageTestFitness.class; return TryCatchCoverageTestFitness.class; default: throw new RuntimeException("No criterion defined for " + criterion.name());
public MutationSuiteFitness(Criterion criterion) { if (criterion != Criterion.STRONGMUTATION && criterion != Criterion.WEAKMUTATION && criterion != Criterion.ONLYMUTATION) { throw new RuntimeException("Invalid initialisation of MutationSuiteFitness with criterion '" + criterion.name() + "'. MutationSuiteFitness can only be invoked with STRONGMUTATION, WEAKMUTATION, and ONLYMUTATION"); } MutationFactory factory = (MutationFactory) FitnessFunctions.getFitnessFactory(criterion); boolean archive = Properties.TEST_ARCHIVE; Properties.TEST_ARCHIVE = false; branchFitness = new BranchCoverageSuiteFitness(); Properties.TEST_ARCHIVE = archive; for (MutationTestFitness goal : factory.getCoverageGoals()) { mutantMap.put(goal.getMutation().getId(), goal); if(Properties.TEST_ARCHIVE) Archive.getArchiveInstance().addTarget(goal); } this.numMutants = this.mutantMap.size(); }
AtMostOnceLogger.warn(logger, "Unknown criterion '" + criterion.name() + "'"); break;
coverageBitString.put(criterion.name(), buffer); ClientServices.getInstance().getClientNode().trackOutputVariable(RuntimeVariable.CoverageBitString, coverageBitString.size() == 0 ? "0" : coverageBitString.values().toString().replace("[", "").replace("]", "").replace(", ", ""));
Properties.REPORT_DIR + File.separator + "data" + File.separator + Properties.TARGET_CLASS + File.separator + Properties.Criterion.LINE.name() + File.separator + Properties.COVERAGE_MATRIX_FILENAME; System.out.println("CoverageMatrix file " + coveragematrix_file);
Properties.REPORT_DIR + File.separator + "data" + File.separator + targetClass + File.separator + Properties.Criterion.LINE.name() + File.separator + Properties.COVERAGE_MATRIX_FILENAME; System.out.println("matrix_file: " + matrix_file);
Properties.REPORT_DIR + File.separator + "data" + File.separator + targetClass + File.separator + Properties.Criterion.LINE.name() + File.separator + Properties.COVERAGE_MATRIX_FILENAME; System.out.println("matrix_file: " + matrix_file);
Properties.REPORT_DIR + File.separator + "data" + File.separator + Properties.TARGET_CLASS + File.separator + Properties.Criterion.LINE.name() + File.separator + Properties.COVERAGE_MATRIX_FILENAME; System.out.println("CoverageMatrix file " + coveragematrix_file);
Properties.REPORT_DIR + File.separator + "data" + File.separator + Properties.TARGET_CLASS + File.separator + Properties.Criterion.LINE.name() + File.separator + Properties.COVERAGE_MATRIX_FILENAME; System.out.println("CoverageMatrix file " + coveragematrix_file);
Properties.REPORT_DIR + File.separator + "data" + File.separator + targetClass + File.separator + Properties.Criterion.LINE.name() + File.separator + Properties.COVERAGE_MATRIX_FILENAME; System.out.println("matrix_file: " + matrix_file);
Properties.REPORT_DIR + File.separator + "data" + File.separator + Properties.TARGET_CLASS + File.separator + Properties.Criterion.LINE.name() + File.separator + Properties.COVERAGE_MATRIX_FILENAME; System.out.println("CoverageMatrix file " + coveragematrix_file);
private void fillInformationFromConfiguration(TestGenerationResultImpl result) { result.setClassUnderTest(Properties.TARGET_CLASS); String[] criteria = new String[Properties.CRITERION.length]; for (int i = 0; i < Properties.CRITERION.length; i++) criteria[i] = Properties.CRITERION[i].name(); result.setTargetCriterion(criteria); }