/** {@inheritDoc} */ @Override public void finishCalls() { copyOnWrite(); trace.finishCalls(); }
public static void passedPutStatic(String classNameWithDots, String fieldName) { ExecutionTracer tracer = getExecutionTracer(); if (tracer.disabled) return; if (isThreadNeqCurrentThread()) return; checkTimeout(); tracer.trace.putStaticPassed(classNameWithDots, fieldName); }
/** {@inheritDoc} */ @Override public void branchPassed(int branch, int bytecode_id, double true_distance, double false_distance) { copyOnWrite(); trace.branchPassed(branch, bytecode_id, true_distance, false_distance); }
protected void informObservers_finished(ExecutionResult result) { ExecutionTracer.disable(); try { for (ExecutionObserver observer : observers) { observer.testExecutionFinished(result, scope); } } finally { ExecutionTracer.enable(); } }
/** * Called by the instrumented code each time a new source line is executed */ public static void checkTimeout() { ExecutionTracer tracer = getExecutionTracer(); if (tracer.disabled) return; if (tracer.killSwitch) { // logger.info("Raising TimeoutException as kill switch is active - passedLine"); if(!isInStaticInit()) throw new TestCaseExecutor.TimeoutExceeded(); } }
/** * <p> * copyOnWrite * </p> */ public void copyOnWrite() { if (trace.getProxyCount() > 1) { trace.removeProxy(); trace = trace.clone(); } }
/** {@inheritDoc} */ @Override public ExecutionTrace lazyClone() { ExecutionTraceProxy copy = new ExecutionTraceProxy(trace); trace.addProxy(); return copy; }
/** {@inheritDoc} */ @Override public void linePassed(String className, String methodName, int line) { copyOnWrite(); trace.linePassed(className, methodName, line); }
/** {@inheritDoc} */ @Override public void mutationPassed(int mutationId, double distance) { copyOnWrite(); trace.mutationPassed(mutationId, distance); }
/** {@inheritDoc} */ @Override public void clear() { copyOnWrite(); trace.clear(); }
/** {@inheritDoc} */ @Override public void exitMethod(String classname, String methodname) { copyOnWrite(); trace.exitMethod(classname, methodname); }
/** {@inheritDoc} */ @Override public void enteredMethod(String className, String methodName, Object caller) { copyOnWrite(); trace.enteredMethod(className, methodName, caller); }
/** {@inheritDoc} */ @Override public void setExplicitException(Throwable explicitException) { copyOnWrite(); trace.setExplicitException(explicitException); }
/** {@inheritDoc} */ @Override public void usePassed(Object object, Object caller, int useID) { copyOnWrite(); trace.usePassed(object, caller, useID); }
/** {@inheritDoc} */ @Override public void definitionPassed(Object object, Object caller, int defID) { copyOnWrite(); trace.definitionPassed(object, caller, defID); }
/** {@inheritDoc} */ @Override public void returnValue(String className, String methodName, int value) { copyOnWrite(); trace.returnValue(className, methodName, value); }
/** {@inheritDoc} */ @Override public Map<Integer, Double> getFalseDistances() { return trace.getFalseDistances(); }
/** {@inheritDoc} */ @Override public Map<Integer, Double> getMutationDistances() { return trace.getMutationDistances(); }
/** {@inheritDoc} */ @Override public Set<Integer> getTouchedMutants() { return trace.getTouchedMutants(); }
/** {@inheritDoc} */ @Override public boolean hasFalseDistance(int predicateId) { return trace.hasFalseDistance(predicateId); }