fStopAction.setEnabled(false);
fStopAction.setEnabled(lastLaunchIsKeptAlive());
	public void testRunEnded(long elapsedTime){		fExecutedTests--;		String[] keys= {elapsedTimeAsString(elapsedTime)};		String msg= JUnitMessages.getFormattedString("TestRunnerViewPart.message.finish", keys); //$NON-NLS-1$		if (hasErrorsOrFailures())			postError(msg);		else			setInfoMessage(msg);					postSyncRunnable(new Runnable() {							public void run() {				if(isDisposed()) 					return;					fStopAction.setEnabled(false);				if (fFailures.size() > 0) {					selectFirstFailure();				}				updateViewIcon();				if (fDirtyListener == null) {					fDirtyListener= new DirtyListener();					JavaCore.addElementChangedListener(fDirtyListener);				}				for (Enumeration e= fTestRunTabs.elements(); e.hasMoreElements();) {					TestRunTab v= (TestRunTab) e.nextElement();					v.aboutToEnd();				}			}		});			stopUpdateJob();	}