/** * <p> * Constructor for StrongMutationTestFitness. * </p> * * @param mutation * a {@link org.evosuite.coverage.mutation.Mutation} object. */ public StrongMutationTestFitness(Mutation mutation) { super(mutation); for (AssertionTraceObserver<?> observer : observers) { logger.debug("StrongMutation adding observer " + observer); TestCaseExecutor.getInstance().addObserver(observer); } }
public RegressionAssertionGenerator() { super(); TestCaseExecutor.getInstance().newObservers(); TestCaseExecutor.getInstance().addObserver(primitiveObserver); TestCaseExecutor.getInstance().addObserver(comparisonObserver); TestCaseExecutor.getInstance().addObserver(sameObserver); if (!Properties.REGRESSION_DISABLE_SPECIAL_ASSERTIONS) { TestCaseExecutor.getInstance().addObserver(inspectorObserver); } TestCaseExecutor.getInstance().addObserver(fieldObserver); TestCaseExecutor.getInstance().addObserver(nullObserver); }
/** * <p> * Constructor for AssertionGenerator. * </p> */ public AssertionGenerator() { TestCaseExecutor.getInstance().addObserver(primitiveObserver); TestCaseExecutor.getInstance().addObserver(comparisonObserver); TestCaseExecutor.getInstance().addObserver(inspectorObserver); TestCaseExecutor.getInstance().addObserver(fieldObserver); TestCaseExecutor.getInstance().addObserver(nullObserver); TestCaseExecutor.getInstance().addObserver(sameObserver); if(!Properties.isRegression()) TestCaseExecutor.getInstance().addObserver(arrayObserver); TestCaseExecutor.getInstance().addObserver(arrayLengthObserver); TestCaseExecutor.getInstance().addObserver(containsTraceObserver); }
/** * Default constructor */ public MutationAssertionGenerator() { for (Mutation m : MutationPool.getMutants()) { mutants.put(m.getId(), m); } TestCaseExecutor.getInstance().newObservers(); TestCaseExecutor.getInstance().addObserver(primitiveObserver); TestCaseExecutor.getInstance().addObserver(comparisonObserver); TestCaseExecutor.getInstance().addObserver(sameObserver); TestCaseExecutor.getInstance().addObserver(inspectorObserver); TestCaseExecutor.getInstance().addObserver(fieldObserver); TestCaseExecutor.getInstance().addObserver(nullObserver); TestCaseExecutor.getInstance().addObserver(arrayObserver); TestCaseExecutor.getInstance().addObserver(arrayLengthObserver); TestCaseExecutor.getInstance().addObserver(containsTraceObserver); }
public InputCoverageSuiteFitness() { // Add observer TestCaseExecutor executor = TestCaseExecutor.getInstance(); InputObserver observer = new InputObserver(); executor.addObserver(observer); //TODO: where to remove observer?: executor.removeObserver(observer); determineCoverageGoals(); totalGoals = inputCoverageMap.size(); }
public OutputCoverageSuiteFitness() { // Add observer TestCaseExecutor executor = TestCaseExecutor.getInstance(); OutputObserver observer = new OutputObserver(); executor.addObserver(observer); //TODO: where to remove observer?: executor.removeObserver(observer); determineCoverageGoals(); totalGoals = outputCoverageGoals.size(); }
/** * Constructor - fitness is specific to a method * * @param goal the coverage goal * @throws IllegalArgumentException */ public InputCoverageTestFitness(InputCoverageGoal goal) throws IllegalArgumentException { if (goal == null) { throw new IllegalArgumentException("goal cannot be null"); } this.goal = goal; // add the observer to TestCaseExecutor if it is not included yet boolean hasObserver = false; TestCaseExecutor executor = TestCaseExecutor.getInstance(); for (ExecutionObserver ob : executor.getExecutionObservers()){ if (ob instanceof InputObserver){ hasObserver = true; break; } } if (!hasObserver){ InputObserver observer = new InputObserver(); executor.addObserver(observer); logger.info("Added observer for input coverage"); } }
/** * Constructor - fitness is specific to a method * * @param goal the coverage goal * @throws IllegalArgumentException */ public OutputCoverageTestFitness(OutputCoverageGoal goal) throws IllegalArgumentException { if (goal == null) { throw new IllegalArgumentException("goal cannot be null"); } this.goal = goal; // add the observer to TestCaseExecutor if it is not included yet boolean hasObserver = false; TestCaseExecutor executor = TestCaseExecutor.getInstance(); for (ExecutionObserver ob : executor.getExecutionObservers()){ if (ob instanceof OutputObserver){ hasObserver = true; break; } } if (!hasObserver){ OutputObserver observer = new OutputObserver(); executor.addObserver(observer); logger.info("Added observer for output coverage"); } }
/** * Some criteria require re-execution with observers. Make sure the results are up-to-date * * @param requiredCriteria * @param origResults * @return */ private List<ExecutionResult> getUpdatedResults(List<Properties.Criterion> requiredCriteria, List<ExecutionResult> origResults) { List<ExecutionObserver> newObservers = new ArrayList<ExecutionObserver>(); if(requiredCriteria.contains(Properties.Criterion.INPUT)) { newObservers.add(new InputObserver()); } if(requiredCriteria.contains(Properties.Criterion.OUTPUT)) { newObservers.add(new OutputObserver()); } if(newObservers.isEmpty()) { return origResults; } for(ExecutionObserver observer : newObservers) TestCaseExecutor.getInstance().addObserver(observer); List<ExecutionResult> newResults = new ArrayList<ExecutionResult>(); for(ExecutionResult result : origResults) { ExecutionResult newResult = TestCaseExecutor.getInstance().runTest(result.test); newResults.add(newResult); } for(ExecutionObserver observer : newObservers) TestCaseExecutor.getInstance().removeObserver(observer); return newResults; }
@SuppressWarnings({ "rawtypes", "unchecked", "unused" }) private void createConcretePrimitives(TestCase test) { // Execute test to collect concrete values TestCaseExecutor executor = TestCaseExecutor.getInstance(); ConcreteValueObserver observer = new ConcreteValueObserver(); executor.addObserver(observer); executor.execute(test); executor.removeObserver(observer); // Now replace references to concrete values with new primitive statements Map<Integer, Object> concreteValues = observer.getConcreteValues(); List<Integer> positions = new ArrayList<Integer>(concreteValues.keySet()); Collections.sort(positions, Collections.reverseOrder()); for (Integer position : positions) { Object value = concreteValues.get(position); Statement statement = test.getStatement(position); PrimitiveStatement primitive = PrimitiveStatement.getPrimitiveStatement(test, new GenericClass( value.getClass())); primitive.setValue(value); VariableReference replacement = test.addStatement(primitive, position); test.replace(statement.getReturnValue(), replacement); } }
/** * <p> * inline * </p> * * @param test * a {@link org.evosuite.testcase.TestCase} object. */ public void inline(TestCase test) { this.test = test; TestCaseExecutor executor = TestCaseExecutor.getInstance(); executor.addObserver(this); executor.execute(test); executor.removeObserver(this); removeUnusedVariables(test); assert (test.isValid()); }
/** * Run the test against this contract and determine whether it reports a * failure * * @param test * a {@link org.evosuite.testcase.TestCase} object. * @return a boolean. */ public boolean fails(TestCase test) { ContractChecker.setActive(false); TestCaseExecutor executor = TestCaseExecutor.getInstance(); SingleContractChecker checker = new SingleContractChecker(this); executor.addObserver(checker); TestCaseExecutor.runTest(test); executor.removeObserver(checker); //ContractChecker.setActive(true); return !checker.isValid(); }
TestCaseExecutor.getInstance().addObserver(symbolicExecObserver);
TestCaseExecutor.getInstance().addObserver(observer); observer.clearPools();
private TestSuiteChromosome generateTests() { // Make sure target class is loaded at this point TestCluster.getInstance(); ContractChecker checker = null; if (Properties.CHECK_CONTRACTS) { checker = new ContractChecker(); TestCaseExecutor.getInstance().addObserver(checker); } TestGenerationStrategy strategy = TestSuiteGeneratorHelper.getTestGenerationStrategy(); TestSuiteChromosome testSuite = strategy.generateTests(); if (Properties.CHECK_CONTRACTS) { TestCaseExecutor.getInstance().removeObserver(checker); } StatisticsSender.executedAndThenSendIndividualToMaster(testSuite); TestSuiteGeneratorHelper.getBytecodeStatistics(); ClientServices.getInstance().getClientNode().publishPermissionStatistics(); writeObjectPool(testSuite); /* * PUTGeneralizer generalizer = new PUTGeneralizer(); for (TestCase test * : tests) { generalizer.generalize(test); // ParameterizedTestCase put * = new ParameterizedTestCase(test); } */ return testSuite; }