public void swapOut() { if (fTestRoot == null) return; if (isRunning() || isStarting() || isKeptAlive()) return; Object[] listeners = fSessionListeners.getListeners(); for (int i = 0; i < listeners.length; ++i) { ITestSessionListener registered = (ITestSessionListener) listeners[i]; if (!registered.acceptsSwapToDisk()) return; } try { File swapFile = getSwapFile(); DLTKTestingModel.exportTestRunSession(this, swapFile); fTestResult = fTestRoot.getTestResult(true); fTestRoot = null; fTestRunnerClient = null; fIdToTest = new HashMap<String, TestElement>(); fCategoryMap = new HashMap<String, TestCategoryElement>(); fIncompleteTestSuites = null; fUnrootedSuite = null; } catch (IllegalStateException e) { DLTKTestingPlugin.log(e); } catch (CoreException e) { DLTKTestingPlugin.log(e); } }
/* (non-Javadoc) * @see org.eclipse.jdt.junit.model.ITestElement#getTestResult(boolean) */ public Result getTestResult(boolean includeChildren) { if (fTestRoot != null) { return fTestRoot.getTestResult(true); } else { return fTestResult; } }