[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