413191: [jvm][e3.6][linux] browser tests crash when run on Eclipse 3.6

Bug: 413191
Change-Id: I438e3b3b55129a1bb3f4b0079f4a20e932ca9b41
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=413191
Signed-off-by: Tomasz Zarna <tomasz.zarna@tasktop.com>
diff --git a/org.eclipse.mylyn.commons.sdk.util/src/org/eclipse/mylyn/commons/sdk/util/CommonTestUtil.java b/org.eclipse.mylyn.commons.sdk.util/src/org/eclipse/mylyn/commons/sdk/util/CommonTestUtil.java
index e36ae89..eee70cc 100644
--- a/org.eclipse.mylyn.commons.sdk.util/src/org/eclipse/mylyn/commons/sdk/util/CommonTestUtil.java
+++ b/org.eclipse.mylyn.commons.sdk.util/src/org/eclipse/mylyn/commons/sdk/util/CommonTestUtil.java
@@ -591,4 +591,8 @@
 		return NetUtil.getProxyForUrl("https://mylyn.org/secure/index.txt") != null;
 	}
 
+	public static boolean skipBrowserTests() {
+		return Boolean.parseBoolean(System.getProperty("mylyn.test.skipBrowserTests"));
+	}
+
 }
diff --git a/org.eclipse.mylyn.commons.tests/src/org/eclipse/mylyn/commons/tests/workbench/browser/BrowserUtilTest.java b/org.eclipse.mylyn.commons.tests/src/org/eclipse/mylyn/commons/tests/workbench/browser/BrowserUtilTest.java
index 1ad8aea..f2ddfa5 100644
--- a/org.eclipse.mylyn.commons.tests/src/org/eclipse/mylyn/commons/tests/workbench/browser/BrowserUtilTest.java
+++ b/org.eclipse.mylyn.commons.tests/src/org/eclipse/mylyn/commons/tests/workbench/browser/BrowserUtilTest.java
@@ -13,6 +13,7 @@
 
 import junit.framework.TestCase;
 
+import org.eclipse.mylyn.commons.sdk.util.CommonTestUtil;
 import org.eclipse.mylyn.commons.workbench.EditorHandle;
 import org.eclipse.mylyn.commons.workbench.browser.AbstractUrlHandler;
 import org.eclipse.mylyn.commons.workbench.browser.BrowserUtil;
@@ -76,12 +77,20 @@
 	}
 
 	public void testUrlHandlerPriorityNullHandle() {
+		if (CommonTestUtil.skipBrowserTests()) {
+			System.err.println("Skipping BrowserUtilTest.testUrlHandlerPriorityNullHandle() to avoid browser crash");
+			return;
+		}
 		BrowserUtil.openUrl("http://mylyn.org", 0);
 		assertTrue(LowPriorityHandler.queried);
 		assertTrue(HighPriorityHandler.queried);
 	}
 
 	public void testUrlHandlerPriorityLow() {
+		if (CommonTestUtil.skipBrowserTests()) {
+			System.err.println("Skipping BrowserUtilTest.testUrlHandlerPriorityLow() to avoid browser crash");
+			return;
+		}
 		LowPriorityHandler.handle = new EditorHandle();
 		IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
 		Object result = BrowserUtil.openUrl(page, "http://mylyn.org", 0);
@@ -91,6 +100,10 @@
 	}
 
 	public void testUrlHandlerPriorityHigh() {
+		if (CommonTestUtil.skipBrowserTests()) {
+			System.err.println("Skipping BrowserUtilTest.testUrlHandlerPriorityHigh() to avoid browser crash");
+			return;
+		}
 		LowPriorityHandler.handle = new EditorHandle();
 		HighPriorityHandler.handle = new EditorHandle();
 		IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();