[jboss-cvs] jbosside/core/tests/org.jboss.ide.eclipse.packages.test/src/org/jboss/ide/eclipse/packages/test/build ...
Marshall Culpepper
mculpepper at jboss.com
Tue Feb 27 13:48:57 EST 2007
User: mculpepper
Date: 07/02/27 13:48:57
Modified: core/tests/org.jboss.ide.eclipse.packages.test/src/org/jboss/ide/eclipse/packages/test/build
IncrementalBuilderTest.java BuildTest.java
Log:
found a new more reliable way to wait on an incremental builder (thanks pombreda)
Revision Changes Path
1.2 +9 -28 jbosside/core/tests/org.jboss.ide.eclipse.packages.test/src/org/jboss/ide/eclipse/packages/test/build/IncrementalBuilderTest.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: IncrementalBuilderTest.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/tests/org.jboss.ide.eclipse.packages.test/src/org/jboss/ide/eclipse/packages/test/build/IncrementalBuilderTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- IncrementalBuilderTest.java 26 Feb 2007 19:19:00 -0000 1.1
+++ IncrementalBuilderTest.java 27 Feb 2007 18:48:57 -0000 1.2
@@ -4,9 +4,12 @@
import junit.framework.TestSuite;
import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
import org.jboss.ide.eclipse.core.util.ProjectUtil;
import org.jboss.ide.eclipse.packages.core.model.AbstractPackagesBuildListener;
import org.jboss.ide.eclipse.packages.core.model.IPackage;
@@ -89,33 +92,11 @@
PackagesModel.instance().removePackagesBuildListener(listener);
}
- private void waitForBuilder ()
- {
- long timeout = 1000 * 20;
- long wait = 0;
-
- // wait for incremental builder to finish
- try {
- Thread.sleep(1000 * 3);
- while (PackageBuildDelegate.instance().isBuilding() && wait < timeout)
- {
- Thread.sleep(100);
- wait += 100;
- }
- if (wait > timeout) {
- fail("Timed out ("+(timeout/1000)+"s) waiting for builder");
- }
- } catch (InterruptedException e) {
- e.printStackTrace();
- fail(e.getMessage());
- }
- }
-
public void testSimpleJar_changeFile ()
{
setContents(testXmlFile, testXml_newContents);
- waitForBuilder();
+ waitForAutoBuild();
assertTestXmlContents(testXml_newContents);
@@ -139,7 +120,7 @@
IFile addedXMLFile = project.getFile("added.xml");
setContents(addedXMLFile, addedXml_contents);
- waitForBuilder();
+ waitForAutoBuild();
assertFileContents (simpleJar, "added.xml", addedXml_contents);
}
@@ -154,7 +135,7 @@
fail(e.getMessage());
}
- waitForBuilder();
+ waitForAutoBuild();
assertFalse(addedXML.exists());
@@ -176,7 +157,7 @@
simpleJarFileset.setIncludesPattern("**/*.xml");
- waitForBuilder();
+ waitForAutoBuild();
dir1 = findFile(jarFile, "dir1");
assertNotNull(dir1);
@@ -200,7 +181,7 @@
simpleJarFileset.setIncludesPattern("*.xml");
((PackageNodeImpl)simpleJarFileset).flagAsChanged();
- waitForBuilder();
+ waitForAutoBuild();
File dir1 = findFile(jarFile, "dir1");
assertNull(dir1);
@@ -220,7 +201,7 @@
{
simpleJar.setExploded(true);
((PackageNodeImpl)simpleJar).flagAsChanged();
- waitForBuilder();
+ waitForAutoBuild();
File simpleJarFile = getPackageFile(simpleJar);
assertTrue(simpleJarFile.getDelegate().isDirectory());
1.2 +19 -0 jbosside/core/tests/org.jboss.ide.eclipse.packages.test/src/org/jboss/ide/eclipse/packages/test/build/BuildTest.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: BuildTest.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/tests/org.jboss.ide.eclipse.packages.test/src/org/jboss/ide/eclipse/packages/test/build/BuildTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BuildTest.java 26 Feb 2007 19:19:00 -0000 1.1
+++ BuildTest.java 27 Feb 2007 18:48:57 -0000 1.2
@@ -10,6 +10,8 @@
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
import org.jboss.ide.eclipse.core.test.util.JavaProjectHelper;
@@ -123,6 +125,23 @@
}
}
+ /**
+ * Wait for autobuild notification to occur
+ */
+ public static void waitForAutoBuild() {
+ boolean wasInterrupted = false;
+ do {
+ try {
+ Platform.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
+ wasInterrupted = false;
+ } catch (OperationCanceledException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ wasInterrupted = true;
+ }
+ } while (wasInterrupted);
+ }
+
protected void setContents(IFile file, String contents)
{
ByteArrayInputStream stream = new ByteArrayInputStream(contents.getBytes());
More information about the jboss-cvs-commits
mailing list