Skip to content

Commit ed08f4b

Browse files
committed
Cleanup and simplify builder tests
Affects all tests in org.eclipse.core.tests.internal.builders * Moves assertions erroneously checked in other thread to the main thread * Removes unnecessary try-catch blocks or replaces them with assertThrows statements * Removes unnecessary cleanup operations * Adds missing try-with-resources blocks * Replaces all fail(String, Throwable) calls in preparation for migration to JUnit 4/5 * Renames AllBuildderTests to AllBuilderTests
1 parent 0428204 commit ed08f4b

16 files changed

+1135
-1606
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@
2323
BuildDeltaVerificationTest.class, CustomBuildTriggerTest.class, EmptyDeltaTest.class,
2424
MultiProjectBuildTest.class, RelaxedSchedRuleBuilderTest.class, BuildConfigurationsTest.class,
2525
BuildContextTest.class, ParallelBuildChainTest.class, ComputeProjectOrderTest.class, AutoBuildJobTest.class })
26-
public class AllBuildderTests {
26+
public class AllBuilderTests {
2727

2828
}

resources/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/builders/AutoBuildJobTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,8 @@ private void waitForAutoBuild(long timeoutMillis) throws Throwable {
224224
// inside the ExecutionException
225225
throw e.getCause();
226226
} catch (TimeoutException e) {
227-
fail("This test timed out which means there is no safeguard to avoid waiting indefinitely "
227+
throw new IllegalStateException(
228+
"This test timed out which means there is no safeguard to avoid waiting indefinitely "
228229
+ "for an auto-build job while the JobManager is suspended", e);
229230
}
230231
}

resources/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/builders/BuildConfigurationsTest.java

Lines changed: 51 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,15 @@
1515
package org.eclipse.core.tests.internal.builders;
1616

1717
import java.util.Map;
18-
import org.eclipse.core.resources.*;
18+
import org.eclipse.core.resources.IBuildConfiguration;
19+
import org.eclipse.core.resources.ICommand;
20+
import org.eclipse.core.resources.IFile;
21+
import org.eclipse.core.resources.IProject;
22+
import org.eclipse.core.resources.IProjectDescription;
23+
import org.eclipse.core.resources.IResource;
24+
import org.eclipse.core.resources.IResourceDelta;
25+
import org.eclipse.core.resources.IWorkspaceRoot;
26+
import org.eclipse.core.resources.IncrementalProjectBuilder;
1927
import org.eclipse.core.runtime.CoreException;
2028
import org.eclipse.core.runtime.IProgressMonitor;
2129
import org.eclipse.core.tests.internal.builders.TestBuilder.BuilderRuleCallback;
@@ -125,50 +133,47 @@ public void testCloseAndOpenProject_Bug361675() throws CoreException {
125133
ensureExistsInWorkspace(resources, true);
126134
setupProject(tempProject);
127135

128-
try {
129-
ConfigurationBuilder.clearStats();
130-
131-
tempFile0.setContents(getRandomContents(), true, true, getMonitor());
132-
tempFile1.setContents(getRandomContents(), true, true, getMonitor());
133-
incrementalBuild(1, tempProject, variant0, true, 1, IncrementalProjectBuilder.FULL_BUILD);
134-
incrementalBuild(2, tempProject, variant1, true, 1, IncrementalProjectBuilder.FULL_BUILD);
135-
incrementalBuild(3, tempProject, variant2, true, 1, IncrementalProjectBuilder.FULL_BUILD);
136-
137-
tempFile0.setContents(getRandomContents(), true, true, getMonitor());
138-
incrementalBuild(4, tempProject, variant1, true, 2, IncrementalProjectBuilder.INCREMENTAL_BUILD);
139-
140-
tempFile1.setContents(getRandomContents(), true, true, getMonitor());
141-
incrementalBuild(5, tempProject, variant2, true, 2, IncrementalProjectBuilder.INCREMENTAL_BUILD);
142-
143-
tempProject.close(getMonitor());
144-
ConfigurationBuilder.clearStats();
145-
tempProject.open(getMonitor());
146-
147-
// verify variant0 - both File0 and File1 are expected to have changed since it was last built
148-
incrementalBuild(6, tempProject, variant0, true, 1, IncrementalProjectBuilder.INCREMENTAL_BUILD);
149-
ConfigurationBuilder builder0 = ConfigurationBuilder.getBuilder(tempProject.getBuildConfig(variant0));
150-
assertNotNull("6.10", builder0);
151-
ResourceDeltaVerifier verifier0 = new ResourceDeltaVerifier();
152-
verifier0.addExpectedChange(tempFile0, tempProject, IResourceDelta.CHANGED, IResourceDelta.CONTENT);
153-
verifier0.addExpectedChange(tempFile1, tempProject, IResourceDelta.CHANGED, IResourceDelta.CONTENT);
154-
verifier0.verifyDelta(builder0.deltaForLastBuild);
155-
assertTrue("6.11: " + verifier0.getMessage(), verifier0.isDeltaValid());
156-
157-
// verify variant1 - only File1 is expected to have changed since it was last built
158-
incrementalBuild(7, tempProject, variant1, true, 1, IncrementalProjectBuilder.INCREMENTAL_BUILD);
159-
ConfigurationBuilder builder1 = ConfigurationBuilder.getBuilder(tempProject.getBuildConfig(variant1));
160-
assertNotNull("7.10", builder1);
161-
ResourceDeltaVerifier verifier1 = new ResourceDeltaVerifier();
162-
verifier1.addExpectedChange(tempFile1, tempProject, IResourceDelta.CHANGED, IResourceDelta.CONTENT);
163-
verifier1.verifyDelta(builder1.deltaForLastBuild);
164-
assertTrue("7.11: " + verifier1.getMessage(), verifier1.isDeltaValid());
165-
166-
// verify variant2 - no changes are expected since it was last built
167-
incrementalBuild(8, tempProject, variant2, false, 0, 0);
168-
169-
} finally {
170-
tempProject.delete(true, getMonitor());
171-
}
136+
ConfigurationBuilder.clearStats();
137+
138+
tempFile0.setContents(getRandomContents(), true, true, getMonitor());
139+
tempFile1.setContents(getRandomContents(), true, true, getMonitor());
140+
incrementalBuild(1, tempProject, variant0, true, 1, IncrementalProjectBuilder.FULL_BUILD);
141+
incrementalBuild(2, tempProject, variant1, true, 1, IncrementalProjectBuilder.FULL_BUILD);
142+
incrementalBuild(3, tempProject, variant2, true, 1, IncrementalProjectBuilder.FULL_BUILD);
143+
144+
tempFile0.setContents(getRandomContents(), true, true, getMonitor());
145+
incrementalBuild(4, tempProject, variant1, true, 2, IncrementalProjectBuilder.INCREMENTAL_BUILD);
146+
147+
tempFile1.setContents(getRandomContents(), true, true, getMonitor());
148+
incrementalBuild(5, tempProject, variant2, true, 2, IncrementalProjectBuilder.INCREMENTAL_BUILD);
149+
150+
tempProject.close(getMonitor());
151+
ConfigurationBuilder.clearStats();
152+
tempProject.open(getMonitor());
153+
154+
// verify variant0 - both File0 and File1 are expected to have changed since it
155+
// was last built
156+
incrementalBuild(6, tempProject, variant0, true, 1, IncrementalProjectBuilder.INCREMENTAL_BUILD);
157+
ConfigurationBuilder builder0 = ConfigurationBuilder.getBuilder(tempProject.getBuildConfig(variant0));
158+
assertNotNull("6.10", builder0);
159+
ResourceDeltaVerifier verifier0 = new ResourceDeltaVerifier();
160+
verifier0.addExpectedChange(tempFile0, tempProject, IResourceDelta.CHANGED, IResourceDelta.CONTENT);
161+
verifier0.addExpectedChange(tempFile1, tempProject, IResourceDelta.CHANGED, IResourceDelta.CONTENT);
162+
verifier0.verifyDelta(builder0.deltaForLastBuild);
163+
assertTrue("6.11: " + verifier0.getMessage(), verifier0.isDeltaValid());
164+
165+
// verify variant1 - only File1 is expected to have changed since it was last
166+
// built
167+
incrementalBuild(7, tempProject, variant1, true, 1, IncrementalProjectBuilder.INCREMENTAL_BUILD);
168+
ConfigurationBuilder builder1 = ConfigurationBuilder.getBuilder(tempProject.getBuildConfig(variant1));
169+
assertNotNull("7.10", builder1);
170+
ResourceDeltaVerifier verifier1 = new ResourceDeltaVerifier();
171+
verifier1.addExpectedChange(tempFile1, tempProject, IResourceDelta.CHANGED, IResourceDelta.CONTENT);
172+
verifier1.verifyDelta(builder1.deltaForLastBuild);
173+
assertTrue("7.11: " + verifier1.getMessage(), verifier1.isDeltaValid());
174+
175+
// verify variant2 - no changes are expected since it was last built
176+
incrementalBuild(8, tempProject, variant2, false, 0, 0);
172177
}
173178

174179
/**
@@ -312,11 +317,7 @@ private void clean(int testId, IProject project, String variant, int expectedCou
312317
* Check the behaviour of a build
313318
*/
314319
private void checkBuild(int testId, IProject project, String variant, boolean shouldBuild, int expectedCount, int expectedTrigger) throws CoreException {
315-
try {
316-
project.getBuildConfig(variant);
317-
} catch (CoreException e) {
318-
fail(testId + ".0");
319-
}
320+
project.getBuildConfig(variant);
320321
ConfigurationBuilder builder = ConfigurationBuilder.getBuilder(project.getBuildConfig(variant));
321322
if (builder == null) {
322323
assertFalse(testId + ".1", shouldBuild);

resources/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/builders/BuildContextTest.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,14 @@
1515

1616
import org.eclipse.core.internal.events.BuildContext;
1717
import org.eclipse.core.internal.resources.BuildConfiguration;
18-
import org.eclipse.core.resources.*;
18+
import org.eclipse.core.resources.IBuildConfiguration;
19+
import org.eclipse.core.resources.IBuildContext;
20+
import org.eclipse.core.resources.ICommand;
21+
import org.eclipse.core.resources.IProject;
22+
import org.eclipse.core.resources.IProjectDescription;
23+
import org.eclipse.core.resources.IResource;
24+
import org.eclipse.core.resources.IWorkspaceRoot;
25+
import org.eclipse.core.resources.IncrementalProjectBuilder;
1926
import org.eclipse.core.runtime.CoreException;
2027

2128
/**
@@ -50,16 +57,6 @@ protected void setUp() throws Exception {
5057
setupProject(project2);
5158
}
5259

53-
@Override
54-
protected void tearDown() throws Exception {
55-
super.tearDown();
56-
57-
// Cleanup
58-
project0.delete(true, null);
59-
project1.delete(true, null);
60-
project2.delete(true, null);
61-
}
62-
6360
/**
6461
* Helper method to configure a project with a build command and several buildConfigs.
6562
*/

0 commit comments

Comments
 (0)