/** {@inheritDoc} */ @Override public double getFitness(TestSuiteChromosome suite) { ExecutionTracer.enableTraceCalls(); int coveredGoals = 0; for (T goal : getCoverageGoals()) { for (TestChromosome test : suite.getTestChromosomes()) { if (goal.isCovered(test)) { coveredGoals++; break; } } } ExecutionTracer.disableTraceCalls(); return getCoverageGoals().size() - coveredGoals; } }
ExecutionTracer.enableTraceCalls();
public RegressionSuiteFitness() { super(); logger.warn("### initialising Regression-GA... ###"); initBranchMap(); try { TestGenerationContext.getInstance().getRegressionClassLoaderForSUT() .loadClass(Properties.TARGET_CLASS); } catch (ClassNotFoundException e) { e.printStackTrace(); } // init branch coverage fitness bcFitness = new BranchCoverageSuiteFitness(); bcFitnessRegression = new BranchCoverageSuiteFitness( TestGenerationContext.getInstance().getRegressionClassLoaderForSUT()); // set branch coverage max values maxBranchFitnessValueO = bcFitness.getMaxValue(); maxBranchFitnessValueR = bcFitnessRegression.getMaxValue(); observer = new RegressionExecutionObserver(); ExecutionTracer.enableTraceCalls(); }
ExecutionTracer.enableTraceCalls();
private static void reinstrument(TestSuiteChromosome testSuite, Properties.Criterion criterion) { if (ArrayUtil.contains(Properties.SECONDARY_OBJECTIVE, Properties.SecondaryObjective.IBRANCH)) { ExecutionTracer.enableContext(); } if (!ExecutionTracer.isTraceCallsEnabled()) { ExecutionTracer.enableTraceCalls(); } testSuite.setChanged(true); for (TestChromosome test : testSuite.getTestChromosomes()) { test.setChanged(true); test.clearCachedResults(); // clears last execution result and last mutation result } Properties.Criterion oldCriterion[] = Arrays.copyOf(Properties.CRITERION, Properties.CRITERION.length); Properties.CRITERION = new Properties.Criterion[]{criterion}; logger.info("Re-instrumenting for criterion: " + criterion); TestGenerationContext.getInstance().resetContext(); // Need to load class explicitly in case there are no test cases. // If there are tests, then this is redundant Properties.getInitializedTargetClass(); // TODO: Now all existing test cases have reflection objects pointing to the wrong classloader logger.info("Changing classloader of test suite for criterion: " + criterion); for (TestChromosome test : testSuite.getTestChromosomes()) { DefaultTestCase dtest = (DefaultTestCase) test.getTestCase(); dtest.changeClassLoader(TestGenerationContext.getInstance().getClassLoaderForSUT()); } Properties.CRITERION = oldCriterion; }
@After public void tearDown() { if (DEFAULT_IS_TRACE_ENABLED) { ExecutionTracer.enableTraceCalls(); } else { ExecutionTracer.disableTraceCalls(); } TestGenerationContext.getInstance().resetContext(); ClassReInitializer.resetSingleton(); System.setProperties(currentProperties); Properties.getInstance().resetToDefaults(); }
ExecutionTracer.enableTraceCalls();
ArrayUtil.contains(Properties.CRITERION, Criterion.BRANCH) || ArrayUtil.contains(Properties.CRITERION, Criterion.AMBIGUITY)) ExecutionTracer.enableTraceCalls();
@Before public void setUp() { ClassPathHandler.getInstance().changeTargetCPtoTheSameAsEvoSuite(); Properties.getInstance().resetToDefaults(); Randomness.setSeed(42); Properties.TARGET_CLASS = ""; TestGenerationContext.getInstance().resetContext(); ClassReInitializer.resetSingleton(); Randomness.setSeed(42); currentProperties = (java.util.Properties) System.getProperties().clone(); Properties.CRITERION = new Criterion[] { Criterion.LINE, Criterion.BRANCH, Criterion.EXCEPTION, Criterion.WEAKMUTATION, Criterion.OUTPUT, Criterion.METHOD, Criterion.METHODNOEXCEPTION, Criterion.CBRANCH }; ExecutionTracer.enableTraceCalls(); }
|| ArrayUtil.contains(Properties.CRITERION, Criterion.RHO) || ArrayUtil.contains(Properties.CRITERION, Criterion.AMBIGUITY)) ExecutionTracer.enableTraceCalls();
|| ArrayUtil.contains(Properties.CRITERION, Properties.Criterion.RHO) || ArrayUtil.contains(Properties.CRITERION, Properties.Criterion.AMBIGUITY)) ExecutionTracer.enableTraceCalls();
|| ArrayUtil .contains(Properties.CRITERION, Criterion.AMBIGUITY)) { ExecutionTracer.enableTraceCalls();