Bug 369837 - 'Program did not terminate' test failures
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/AbstractAntDebugTest.java b/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/AbstractAntDebugTest.java
index 07b2ac8..f8cbf60 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/AbstractAntDebugTest.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/AbstractAntDebugTest.java
@@ -462,7 +462,9 @@
 
 		Object suspendee= waiter.waitForEvent();
 		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not terminate.", suspendee);
+		if (suspendee == null) {
+			throw new TestAgainException("Retest - The program did not terminate");
+		}
 		AntDebugTarget target = (AntDebugTarget)suspendee;
 		assertTrue("program should have exited", target.isTerminated() || target.isDisconnected());
 		return target;
@@ -514,7 +516,6 @@
 	 * the target is terminated. This avoids defunct processes on linux.
 	 */
 	protected void terminateAndRemove(AntDebugTarget debugTarget) {
-	  
 		if (debugTarget != null && !(debugTarget.isTerminated() || debugTarget.isDisconnected())) {
 			DebugEventWaiter waiter = new DebugElementEventWaiter(DebugEvent.TERMINATE, debugTarget);
 			try {
@@ -531,9 +532,10 @@
 				}
 				debugTarget.terminate();
 				Object event = waiter.waitForEvent();
-				assertNotNull("No terminate event was recieved", event);
+				if (event == null) {
+					throw new TestAgainException("Retest - Program did not terminate");
+				}
                 getLaunchManager().removeLaunch(debugTarget.getLaunch());
-                debugTarget = null;
 			} catch (CoreException e) {
 			}
 		}
@@ -542,7 +544,9 @@
         DebugEventWaiter waiter = new DebugElementEventWaiter(DebugEvent.MODEL_SPECIFIC, this);
         DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[]{new DebugEvent(this, DebugEvent.MODEL_SPECIFIC)});
         Object event = waiter.waitForEvent();
-        assertNotNull("The model specific event was never recieved", event);
+        if (event == null) {
+			throw new TestAgainException("Retest - The model specific event was never recieved");
+		}
 	}
 	
 	/**
diff --git a/ant/org.eclipse.ant.tests.ui/Ant UI Test Suite.launch b/ant/org.eclipse.ant.tests.ui/Ant UI Test Suite.launch
index e7f3296..ea40d75 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant UI Test Suite.launch
+++ b/ant/org.eclipse.ant.tests.ui/Ant UI Test Suite.launch
@@ -1,44 +1,44 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.wst.jsdt.core.tests.model,org.eclipse.wst.jsdt.debug.rhino.tests,org.chromium.sdk,org.chromium.debug.ui,com.ibm.api.scans.servertools,org.eclipse.jdt.core.tests.compiler,org.chromium.debug,org.eclipse.pde.api.tools.tests,org.eclipse.wst.jsdt.debug.chrome,org.eclipse.e4.languages.javascript.junit,org.chromium.debug.core,org.eclipse.wst.jsdt.debug.core.tests,org.eclipse.wst.jsdt.debug.crossfire,org.eclipse.jdt.core.tests.builder,org.eclipse.e4.languages.javascript.junit.test,org.eclipse.wst.jsdt.core.tests.compiler"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../ant-junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUITests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ant.tests.ui.testplugin.AntUITests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.ant.tests.ui"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=128M"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.osgi.services@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.ecf@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.update.core@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.team.svn.ui@default:default,org.eclipse.compare.core@default:default,com.ibm.icu@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.mortbay.jetty.server@default:default,org.eclipse.jdt.ui@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,javax.servlet.jsp@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.jdt@default:default,org.eclipse.compare@default:default,org.polarion.eclipse.team.svn.connector@default:default,org.eclipse.equinox.app@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.databinding.observable@default:default,org.slf4j.api@default:default,ch.qos.logback.classic@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.polarion.eclipse.team.svn.connector.svnkit@default:default,org.objectweb.asm@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.core.boot@default:default,org.eclipse.platform@default:default,org.eclipse.jface@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.wst.jsdt.support.ie@default:default,javax.servlet@default:default,org.eclipse.ui.ide@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.swt@default:default,org.eclipse.core.resources@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.ui.forms@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.pde@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.core.commands@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.help.base@default:default,org.eclipse.help.webapp@default:default,com.ibm.piiclipse.core@default:default,org.eclipse.update.ui@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.team.svn.help@default:default,org.eclipse.equinox.p2.ui.sdk@default:default,org.eclipse.team.core@default:default,org.apache.lucene.analysis@default:default,org.apache.commons.el@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.rcp@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.equinox.p2.ui.sdk.scheduler@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.osgi.util@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.ui@default:default,org.eclipse.team.cvs.ui@default:default,com.jcraft.jsch@default:default,org.eclipse.equinox.event@default:default,org.eclipse.ui.net@default:default,org.eclipse.pde.ds.core@default:default,org.eclipse.sdk@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.pde.launching@default:default,org.eclipse.core.net.linux.x86@default:false,org.eclipse.equinox.http.servlet@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.wst.jsdt.support.firefox@default:default,org.eclipse.platform.doc.isv@default:default,org.apache.commons.logging@default:default,org.eclipse.jface.text@default:default,org.junit4@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.core.net@default:default,org.eclipse.equinox.p2.metadata@default:default,com.ibm.piiclipse.help@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.net4j.jms.api*3.0.0.v20100519-1649@default:default,org.eclipse.pde.junit.runtime@default:default,org.apache.ant@default:default,org.eclipse.core.expressions@default:default,org.apache.commons.httpclient@default:default,org.polarion.eclipse.team.svn.connector.svnkit15@default:default,org.hamcrest.core@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.team.svn@default:default,com.ibm.piiclipse.ui@default:default,org.eclipse.cvs@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.ui.ide.application@default:default,org.eclipse.jdt.compiler.tool@default:false,org.mortbay.jetty.util@default:default,org.eclipse.help.appserver@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.help.ui@default:default,org.eclipse.equinox.http.registry@default:default,org.apache.commons.codec@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.ui.views@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.ui.intro@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.equinox.launcher.gtk.linux.x86@default:false,org.eclipse.core.runtime@default:true,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.swt.gtk.linux.x86@default:false,org.sat4j.core@default:default,org.eclipse.ecf.ssl@default:false,org.apache.lucene@default:default,org.eclipse.ui.browser@default:default,org.eclipse.pde.build@default:default,org.eclipse.net4j.jms.api*3.0.0.v20100614-1655@default:default,org.eclipse.update.configurator@3:true,org.eclipse.jsch.core@default:default,org.eclipse.pde.ua.ui@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.core.jobs@default:default,org.eclipse.team.svn.resource.ignore.rules.jdt@default:default,org.eclipse.core.filesystem.linux.x86@default:false,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.common@2:true,org.eclipse.core.filebuffers@default:default,org.eclipse.pde.ds.ui@default:default,org.eclipse.ui.editors@default:default,org.eclipse.core.databinding.beans@default:default,ch.qos.logback.slf4j@default:false,org.eclipse.jsch.ui@default:default,org.eclipse.equinox.security.ui@default:default,org.apache.jasper@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.equinox.security@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.team.ui@default:default,ch.qos.logback.core@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.jdt.core@default:default,org.eclipse.releng.tools@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.update.core.linux@default:false,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.text@default:default,javax.mail.glassfish@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.help@default:default,org.eclipse.equinox.p2.ql@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.core.databinding@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.polarion.eclipse.team.svn.connector.svnkit16@default:default,org.sat4j.pb@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.search@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.osgi@-1:true,org.eclipse.ecf.provider.filetransfer@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.wst.jsdt.debug.ui@default:default,org.eclipse.core.variables@default:default,org.eclipse.debug.core@default:default,org.eclipse.wst.jsdt.core@default:default,org.eclipse.pde.api.tools.ui@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.debug.ui@default:default,org.eclipse.ant.ui@default:default,org.eclipse.wst.jsdt.doc@default:default,org.mozilla.javascript@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.ant.tests.core@default:default,org.eclipse.ant.tests.ui@default:default,org.eclipse.wst.jsdt.debug.core@default:default,org.eclipse.test.performance@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.wst.jsdt.manipulation@default:default,org.eclipse.wst.jsdt.debug.transport@default:default,org.eclipse.ui.console@default:default,org.eclipse.wst.jsdt.debug.rhino.debugger@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.pde.api.tools@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.launching@default:default,org.eclipse.wst.jsdt.ui@default:default,org.eclipse.wst.jsdt.debug.rhino@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>

+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">

+<booleanAttribute key="append.args" value="true"/>

+<booleanAttribute key="askclear" value="false"/>

+<booleanAttribute key="automaticAdd" value="true"/>

+<booleanAttribute key="automaticValidate" value="false"/>

+<stringAttribute key="bootstrap" value=""/>

+<stringAttribute key="checked" value="[NONE]"/>

+<booleanAttribute key="clearConfig" value="true"/>

+<booleanAttribute key="clearws" value="true"/>

+<booleanAttribute key="clearwslog" value="false"/>

+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>

+<booleanAttribute key="default" value="true"/>

+<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.wst.jsdt.core.tests.model,org.eclipse.wst.jsdt.debug.rhino.tests,org.chromium.sdk,org.chromium.debug.ui,com.ibm.api.scans.servertools,org.eclipse.jdt.core.tests.compiler,org.chromium.debug,org.eclipse.pde.api.tools.tests,org.eclipse.wst.jsdt.debug.chrome,org.eclipse.e4.languages.javascript.junit,org.chromium.debug.core,org.eclipse.wst.jsdt.debug.core.tests,org.eclipse.wst.jsdt.debug.crossfire,org.eclipse.jdt.core.tests.builder,org.eclipse.e4.languages.javascript.junit.test,org.eclipse.wst.jsdt.core.tests.compiler"/>

+<booleanAttribute key="includeOptional" value="true"/>

+<stringAttribute key="location" value="${workspace_loc}/../ant-junit-workspace"/>

+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">

+<listEntry value="/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUITests.java"/>

+</listAttribute>

+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">

+<listEntry value="1"/>

+</listAttribute>

+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>

+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>

+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>

+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>

+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>

+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ant.tests.ui.testplugin.AntUITests"/>

+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>

+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.ant.tests.ui"/>

+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>

+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=128M"/>

+<stringAttribute key="pde.version" value="3.3"/>

+<stringAttribute key="product" value="org.eclipse.sdk.ide"/>

+<booleanAttribute key="run_in_ui_thread" value="true"/>

+<stringAttribute key="selected_target_plugins" value="org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.osgi.services@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.ecf@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.update.core@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.team.svn.ui@default:default,org.eclipse.compare.core@default:default,com.ibm.icu@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.mortbay.jetty.server@default:default,org.eclipse.jdt.ui@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,javax.servlet.jsp@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.jdt@default:default,org.eclipse.compare@default:default,org.polarion.eclipse.team.svn.connector@default:default,org.eclipse.equinox.app@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.databinding.observable@default:default,org.slf4j.api@default:default,ch.qos.logback.classic@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.polarion.eclipse.team.svn.connector.svnkit@default:default,org.objectweb.asm@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.core.boot@default:default,org.eclipse.platform@default:default,org.eclipse.jface@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.wst.jsdt.support.ie@default:default,javax.servlet@default:default,org.eclipse.ui.ide@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.swt@default:default,org.eclipse.core.resources@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.ui.forms@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.pde@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.core.commands@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.help.base@default:default,org.eclipse.help.webapp@default:default,com.ibm.piiclipse.core@default:default,org.eclipse.update.ui@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.team.svn.help@default:default,org.eclipse.equinox.p2.ui.sdk@default:default,org.eclipse.team.core@default:default,org.apache.lucene.analysis@default:default,org.apache.commons.el@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.rcp@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.equinox.p2.ui.sdk.scheduler@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.osgi.util@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.ui@default:default,org.eclipse.team.cvs.ui@default:default,com.jcraft.jsch@default:default,org.eclipse.equinox.event@default:default,org.eclipse.ui.net@default:default,org.eclipse.pde.ds.core@default:default,org.eclipse.sdk@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.pde.launching@default:default,org.eclipse.core.net.linux.x86@default:false,org.eclipse.equinox.http.servlet@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.wst.jsdt.support.firefox@default:default,org.eclipse.platform.doc.isv@default:default,org.apache.commons.logging@default:default,org.eclipse.jface.text@default:default,org.junit4@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.core.net@default:default,org.eclipse.equinox.p2.metadata@default:default,com.ibm.piiclipse.help@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.net4j.jms.api*3.0.0.v20100519-1649@default:default,org.eclipse.pde.junit.runtime@default:default,org.apache.ant@default:default,org.eclipse.core.expressions@default:default,org.apache.commons.httpclient@default:default,org.polarion.eclipse.team.svn.connector.svnkit15@default:default,org.hamcrest.core@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.team.svn@default:default,com.ibm.piiclipse.ui@default:default,org.eclipse.cvs@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.ui.ide.application@default:default,org.eclipse.jdt.compiler.tool@default:false,org.mortbay.jetty.util@default:default,org.eclipse.help.appserver@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.help.ui@default:default,org.eclipse.equinox.http.registry@default:default,org.apache.commons.codec@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.ui.views@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.ui.intro@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.equinox.launcher.gtk.linux.x86@default:false,org.eclipse.core.runtime@default:true,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.swt.gtk.linux.x86@default:false,org.sat4j.core@default:default,org.eclipse.ecf.ssl@default:false,org.apache.lucene@default:default,org.eclipse.ui.browser@default:default,org.eclipse.pde.build@default:default,org.eclipse.net4j.jms.api*3.0.0.v20100614-1655@default:default,org.eclipse.update.configurator@3:true,org.eclipse.jsch.core@default:default,org.eclipse.pde.ua.ui@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.core.jobs@default:default,org.eclipse.team.svn.resource.ignore.rules.jdt@default:default,org.eclipse.core.filesystem.linux.x86@default:false,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.common@2:true,org.eclipse.core.filebuffers@default:default,org.eclipse.pde.ds.ui@default:default,org.eclipse.ui.editors@default:default,org.eclipse.core.databinding.beans@default:default,ch.qos.logback.slf4j@default:false,org.eclipse.jsch.ui@default:default,org.eclipse.equinox.security.ui@default:default,org.apache.jasper@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.equinox.security@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.team.ui@default:default,ch.qos.logback.core@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.jdt.core@default:default,org.eclipse.releng.tools@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.update.core.linux@default:false,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.text@default:default,javax.mail.glassfish@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.help@default:default,org.eclipse.equinox.p2.ql@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.core.databinding@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.polarion.eclipse.team.svn.connector.svnkit16@default:default,org.sat4j.pb@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.search@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.osgi@-1:true,org.eclipse.ecf.provider.filetransfer@default:default"/>

+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.wst.jsdt.debug.ui@default:default,org.eclipse.core.variables@default:default,org.eclipse.debug.core@default:default,org.eclipse.wst.jsdt.core@default:default,org.eclipse.pde.api.tools.ui@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.debug.ui@default:default,org.eclipse.ant.ui@default:default,org.eclipse.wst.jsdt.doc@default:default,org.mozilla.javascript@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.ant.tests.core@default:default,org.eclipse.ant.tests.ui@default:default,org.eclipse.wst.jsdt.debug.core@default:default,org.eclipse.test.performance@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.wst.jsdt.manipulation@default:default,org.eclipse.wst.jsdt.debug.transport@default:default,org.eclipse.ui.console@default:default,org.eclipse.wst.jsdt.debug.rhino.debugger@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.pde.api.tools@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.launching@default:default,org.eclipse.wst.jsdt.ui@default:default,org.eclipse.wst.jsdt.debug.rhino@default:default"/>

+<booleanAttribute key="show_selected_only" value="false"/>

+<booleanAttribute key="tracing" value="false"/>

+<booleanAttribute key="useCustomFeatures" value="false"/>

+<booleanAttribute key="useDefaultConfig" value="true"/>

+<booleanAttribute key="useDefaultConfigArea" value="false"/>

+<booleanAttribute key="useProduct" value="true"/>

+</launchConfiguration>

diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java
index 55b7d75..73a5827 100644
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java
+++ b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java
@@ -39,6 +39,10 @@
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.Assert;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.debug.core.DebugEvent;
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.ILaunch;
@@ -56,9 +60,15 @@
 import org.eclipse.jface.text.ITypedRegion;
 import org.eclipse.jface.text.Position;
 import org.eclipse.swt.graphics.Color;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.console.IHyperlink;
 import org.eclipse.ui.internal.console.ConsoleHyperlinkPosition;
 import org.eclipse.ui.internal.console.IOConsolePartition;
+import org.eclipse.ui.intro.IIntroManager;
+import org.eclipse.ui.intro.IIntroPart;
+import org.eclipse.ui.progress.UIJob;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
@@ -69,7 +79,7 @@
 public abstract class AbstractAntUITest extends TestCase {
     
     public static String ANT_EDITOR_ID= "org.eclipse.ant.ui.internal.editor.AntEditor";
-    
+    private boolean welcomeClosed = false;
     private IDocument currentDocument;
 
     /**
@@ -106,9 +116,40 @@
     protected void setUp() throws Exception {
     	super.setUp();
     	assertProject();
+    	assertWelcomeScreenClosed();
     }
     
     /**
+	 * Ensure the welcome screen is closed because in 4.x the debug perspective opens a giant fast-view causing issues
+	 *  
+	 * @throws Exception
+	 * @since 3.8
+	 */
+	void assertWelcomeScreenClosed() throws Exception {
+		if(!welcomeClosed && PlatformUI.isWorkbenchRunning()) {
+			final IWorkbench wb = PlatformUI.getWorkbench();
+			if(wb != null) {
+				UIJob job = new UIJob("close welcome screen for Ant test suite") {
+					public IStatus runInUIThread(IProgressMonitor monitor) {
+						IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
+						if(window != null) {
+							IIntroManager im = wb.getIntroManager();
+							IIntroPart intro = im.getIntro();
+							if(intro != null) {
+								welcomeClosed = im.closeIntro(intro);
+							}
+						}
+						return Status.OK_STATUS;
+					}
+				};
+				job.setPriority(Job.INTERACTIVE);
+				job.setSystem(true);
+				job.schedule();
+			}
+		}
+	}
+    
+    /**
      * Asserts that the testing project has been setup in the test workspace
      * @throws Exception
      *