[552989] Add instrumentation to help debug failing tests
diff --git a/org.eclipse.modisco.infra.common.core/META-INF/MANIFEST.MF b/org.eclipse.modisco.infra.common.core/META-INF/MANIFEST.MF
index dc4763e..55cd967 100644
--- a/org.eclipse.modisco.infra.common.core/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.infra.common.core/META-INF/MANIFEST.MF
@@ -15,7 +15,9 @@
  org.eclipse.pde.core,
  org.eclipse.emf.edit,
  org.eclipse.jdt.apt.core,
- com.ibm.icu;bundle-version="4.2.1"
+ com.ibm.icu;bundle-version="4.2.1",
+ org.eclipse.ui.workbench,
+ org.eclipse.swt
 Export-Package: org.eclipse.modisco.infra.common.core.internal;
   x-friends:="org.eclipse.modisco.dev.core,
    org.eclipse.modisco.doc,
diff --git a/org.eclipse.modisco.infra.common.core/src/org/eclipse/modisco/infra/common/core/internal/utils/FileUtils.java b/org.eclipse.modisco.infra.common.core/src/org/eclipse/modisco/infra/common/core/internal/utils/FileUtils.java
index f8a0ce6..cd8aede 100644
--- a/org.eclipse.modisco.infra.common.core/src/org/eclipse/modisco/infra/common/core/internal/utils/FileUtils.java
+++ b/org.eclipse.modisco.infra.common.core/src/org/eclipse/modisco/infra/common/core/internal/utils/FileUtils.java
@@ -47,7 +47,10 @@
 import org.eclipse.jdt.core.JavaModelException;

 import org.eclipse.modisco.infra.common.core.internal.CommonModiscoActivator;

 import org.eclipse.modisco.infra.common.core.logging.MoDiscoLogger;

+import org.eclipse.swt.widgets.Display;

+import org.eclipse.ui.IWorkbench;

 import org.osgi.framework.Bundle;

+import org.eclipse.ui.PlatformUI;

 

 public final class FileUtils {

 

@@ -183,9 +186,51 @@
 				IStatus status = new Status(IStatus.ERROR, CommonModiscoActivator.PLUGIN_ID,

 						message);

 				multiStatus.add(status);

+				System.out.println("bad: " + file + " - " + message);

 			}

+			wait(100000);

 			throw new CoreException(multiStatus);

 		}

+		else {

+			for (IMarker marker : markers) {

+				String message = (String) marker.getAttribute(IMarker.MESSAGE);

+				System.out.println("ok: " + file + " - " + message);

+			}

+			

+		}

+	}

+

+	public static void wait(int delayTimeInMilliseconds) {

+		for (int i = 0; i < delayTimeInMilliseconds; i += 100) {

+			flushEvents();

+			try {

+				Thread.sleep(100);

+			} catch (InterruptedException e) {}

+		}

+	}

+

+	public static void flushEvents() {

+		IWorkbench workbench = PlatformUI.getWorkbench();

+		Display display = workbench.getDisplay();

+		for (int i = 0; i < 10; i++) {

+			while (display.readAndDispatch());

+		}

+		/*		for (int i = 0; i < 10; i++) {

+			IWorkbench workbench = PlatformUI.getWorkbench();

+			try {

+				while (workbench.getDisplay().readAndDispatch())

+					;

+			}

+//			catch (InterruptedException e) {

+//				throw e;

+//			}

+			catch (Throwable e) {

+				if (e instanceof InterruptedException) {

+					throw (InterruptedException)e;

+				}

+				e.printStackTrace();

+			}

+		} */

 	}

 

 	/**

diff --git a/org.eclipse.modisco.infra.query.tests/pom.xml b/org.eclipse.modisco.infra.query.tests/pom.xml
index 6cdea07..89d957e 100644
--- a/org.eclipse.modisco.infra.query.tests/pom.xml
+++ b/org.eclipse.modisco.infra.query.tests/pom.xml
@@ -35,19 +35,126 @@
             <artifactId>target-platform-configuration</artifactId>

             <configuration>

                <dependency-resolution>

-                  <extraRequirements xmlns="">

+                 <extraRequirements xmlns="">

+                     <!--requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.swtbot.eclipse.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.swtbot.ide.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.swtbot.eclipse.test.junit.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.swtbot.forms.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.swtbot.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement-->

                      <requirement>

                         <type>p2-installable-unit</type>

                         <id>org.eclipse.modisco.sdk.feature.feature.group</id>

                         <versionRange>0.0.0</versionRange>

                      </requirement>

+                     <!--requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.jdt.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.pde.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement-->

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.sdk.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.rcp.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.emf.sdk.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <!--requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.uml2.sdk.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.ocl.all.sdk.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.emf.transaction.sdk.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.emf.query.sdk.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.emf.validation.sdk.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

+                     <-requirement>

+                        <type>p2-installable-unit</type>

+                        <id>org.eclipse.emf.facet.sdk.feature.feature.group</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement>

                      <requirement>

                         <type>eclipse-plugin</type>

-                        <id>org.eclipse.osgi.compatibility.state</id>

-                        <versionRange>[1.1.0,2.0.0)</versionRange>

-                     </requirement>

+                        <id>org.hamcrest</id>

+                        <versionRange>0.0.0</versionRange>

+                     </requirement-->

                   </extraRequirements>

                </dependency-resolution>

+	          <environments>

+	            <!--environment>

+	              <os>win32</os>

+	              <ws>win32</ws>

+	              <arch>x86</arch>

+	            </environment-->

+	            <environment>

+	              <os>win32</os>

+	              <ws>win32</ws>

+	              <arch>x86_64</arch>

+	            </environment>

+	            <!--environment>

+	              <os>linux</os>

+	              <ws>gtk</ws>

+	              <arch>x86</arch>

+	            </environment-->

+	            <environment>

+	              <os>linux</os>

+	              <ws>gtk</ws>

+	              <arch>x86_64</arch>

+	            </environment>

+	            <!--environment>

+	              <os>macosx</os>

+	              <ws>cocoa</ws>

+	              <arch>x86_64</arch>

+	            </environment-->

+	          </environments>

             </configuration>

             <executions>

                <execution>