private void addToArchive(F target, T solution) { this.uncovered.remove(target); this.covered.put(target, solution); this.removeNonCoveredTargetOfAMethod(target); this.hasBeenUpdated = true; ExecutionResult result = solution.getLastExecutionResult(); if (result != null && (result.hasTimeout() || result.hasTestException())) { AtMostOnceLogger.warn(logger, "A solution with a timeout/exception result has been added to the archive. The covered goal was " + target.toString()); } }
if (result.hasTimeout() || result.hasTestException()) { continue;
if (result.hasTimeout() || result.hasTestException()) { continue;
if (result.hasTimeout() || result.hasTestException()) { continue;
if (result.hasTimeout() || result.hasTestException()) { hasTimeoutOrTestException = true; continue;
/** * Iterate over all execution results and summarize statistics * * @param results * @param coveredLines * @return */ private boolean analyzeTraces(List<ExecutionResult> results, Set<Integer> coveredLines) { boolean hasTimeoutOrTestException = false; for (ExecutionResult result : results) { if (result.hasTimeout() || result.hasTestException()) { hasTimeoutOrTestException = true; continue; } TestChromosome test = new TestChromosome(); test.setTestCase(result.test); test.setLastExecutionResult(result); test.setChanged(false); for (Integer goalID : this.lineGoals.keySet()) { TestFitnessFunction goal = this.lineGoals.get(goalID); double fit = goal.getFitness(test, result); // archive is updated by the TestFitnessFunction class if (fit == 0.0) { coveredLines.add(goalID); // helper to count the number of covered goals this.toRemoveLines.add(goalID); // goal to not be considered by the next iteration of the evolutionary algorithm } } } return hasTimeoutOrTestException; }
/** * Iterate over all execution results and summarize statistics * * @param results * @param coveredLines * @return */ private boolean analyzeTraces(List<ExecutionResult> results, Set<Integer> coveredLines) { boolean hasTimeoutOrTestException = false; for (ExecutionResult result : results) { if (result.hasTimeout() || result.hasTestException()) { hasTimeoutOrTestException = true; continue; } TestChromosome test = new TestChromosome(); test.setTestCase(result.test); test.setLastExecutionResult(result); test.setChanged(false); for (Integer goalID : this.lineGoals.keySet()) { TestFitnessFunction goal = this.lineGoals.get(goalID); double fit = goal.getFitness(test, result); // archive is updated by the TestFitnessFunction class if (fit == 0.0) { coveredLines.add(goalID); // helper to count the number of covered goals this.toRemoveLines.add(goalID); // goal to not be considered by the next iteration of the evolutionary algorithm } } } return hasTimeoutOrTestException; }
if (result.hasTimeout() || result.hasTestException()) { hasTimeoutOrTestException = true; continue;
c.setChanged(false); if (result.hasTimeout() || result.hasTestException()){ for (FitnessFunction<T> f : currentGoals) c.setFitness(f, Double.MAX_VALUE);
/** * Iterate over all execution results and summarise statistics. * * @param results * @param coveredStatements * @return */ private boolean analyzeTraces(List<ExecutionResult> results, Set<TestFitnessFunction> coveredStatements) { boolean hasTimeoutOrTestException = false; for (ExecutionResult result : results) { if (result.hasTimeout() || result.hasTestException()) { hasTimeoutOrTestException = true; continue; } TestChromosome test = new TestChromosome(); test.setTestCase(result.test); test.setLastExecutionResult(result); test.setChanged(false); for (TestFitnessFunction goal : this.statementGoals) { double fit = goal.getFitness(test, result); // archive is updated by the TestFitnessFunction class if (fit == 0.0) { coveredStatements.add(goal); // helper to count the number of covered goals this.toRemoveStatements.add(goal); // goal to not be considered by the next iteration of the evolutionary algorithm } } } return hasTimeoutOrTestException; }
if (result.hasTimeout() || result.hasTestException()) { hasTimeoutOrTestException = true; break;
if (result.hasTimeout() || result.hasTestException()) { hasTimeoutOrTestException = true; break;
if (result.hasTimeout() || result.hasTestException() || result.noThrownExceptions()) return;
.removeIf(t -> t.isChanged() || (t.getLastExecutionResult() != null && (t.getLastExecutionResult().hasTimeout() || t.getLastExecutionResult().hasTestException())));
/** * If there is an exception in a superconstructor, then the corresponding * constructor might not be included in the execution trace * * @param results * @param callCount */ private static boolean hasConstructorException(ExecutionResult result, String className, String methodName) { if (result.hasTimeout() || result.hasTestException() || result.noThrownExceptions()) return false; Integer exceptionPosition = result.getFirstPositionOfThrownException(); if(!result.test.hasStatement(exceptionPosition)){ return false; } Statement statement = result.test.getStatement(exceptionPosition); if (statement instanceof ConstructorStatement) { ConstructorStatement c = (ConstructorStatement) statement; String constructorClassName = c.getConstructor().getName(); String constructorMethodName = "<init>" + Type.getConstructorDescriptor(c.getConstructor().getConstructor()); if(constructorClassName.equals(className) && constructorMethodName.equals(methodName)) { return true; } } return false; }
Map<String, Integer> callCount) { if (result.hasTimeout() || result.hasTestException() || result.noThrownExceptions()) { return;
ExecutionResult candidateSolutionExecution = candidateSolution.getLastExecutionResult(); if (currentSolutionExecution != null && (currentSolutionExecution.hasTimeout() || currentSolutionExecution.hasTestException())) { && !candidateSolutionExecution.hasTestException()) { return true;
"expect to know at least one fitness for goalInstruction"); if (result.hasTimeout() || result.hasTestException()){ updateIndividual(this, individual, Double.MAX_VALUE); return Double.MAX_VALUE;
if (test.getLastExecutionResult().hasTimeout() || test.getLastExecutionResult().hasTestException()) { logger.info("Skipping test with timeout or exception"); continue;
boolean hasTimeoutOrTestException = false; for (ExecutionResult result : results) { if (result.hasTimeout() || result.hasTestException()) { hasTimeoutOrTestException = true; continue;