1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Fixed cleanup in tearDown method.

This commit is contained in:
Sergey Prigogin 2013-03-30 15:10:11 -07:00
parent 35e8c70211
commit 63d44872da

View file

@ -14,8 +14,10 @@ package org.eclipse.cdt.internal.index.tests;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
import junit.framework.Test;
@ -46,10 +48,12 @@ import org.eclipse.core.runtime.Path;
* Tests the behavior of the IIndex API when dealing with multiple projects
*/
public class IndexCompositeTests extends BaseTestCase {
Set<IProject> createdProjects = new HashSet<IProject>();
/*
* Convenience class for setting up projects.
*/
private static class ProjectBuilder {
private class ProjectBuilder {
private final String name;
private final boolean cpp;
private List<IProject> dependencies = new ArrayList<IProject>();
@ -74,6 +78,7 @@ public class IndexCompositeTests extends BaseTestCase {
ICProject result = cpp ?
CProjectHelper.createCCProject(name, "bin", IPDOMManager.ID_NO_INDEXER) :
CProjectHelper.createCProject(name, "bin", IPDOMManager.ID_NO_INDEXER);
createdProjects.add(result.getProject());
IFile lastFile= null;
for (Map.Entry<String, String> entry : path2content.entrySet()) {
@ -131,12 +136,12 @@ public class IndexCompositeTests extends BaseTestCase {
List<ICProject> projects = new ArrayList<ICProject>();
try {
ProjectBuilder pb = new ProjectBuilder("projB" + System.currentTimeMillis(), true);
ProjectBuilder pb = new ProjectBuilder("projB_" + getName(), true);
pb.addFile("h1.h", contents[0]);
ICProject cprojB = pb.create();
projects.add(cprojB);
pb = new ProjectBuilder("projA" + System.currentTimeMillis(), true);
pb = new ProjectBuilder("projA_" + getName(), true);
pb.addFile("h2.h", contents[1]).addDependency(cprojB.getProject());
ICProject cprojA = pb.create();
projects.add(cprojA);
@ -179,17 +184,17 @@ public class IndexCompositeTests extends BaseTestCase {
List<ICProject> projects = new ArrayList<ICProject>();
try {
ProjectBuilder pb = new ProjectBuilder("projC" + System.currentTimeMillis(), true);
ProjectBuilder pb = new ProjectBuilder("projC_" + getName(), true);
pb.addFile("h3.h", contents[0]);
ICProject cprojC = pb.create();
projects.add(cprojC);
pb = new ProjectBuilder("projB" + System.currentTimeMillis(), true);
pb = new ProjectBuilder("projB_" + getName(), true);
pb.addFile("h2.h", contents[1]).addDependency(cprojC.getProject());
ICProject cprojB = pb.create();
projects.add(cprojB);
pb = new ProjectBuilder("projA" + System.currentTimeMillis(), true);
pb = new ProjectBuilder("projA_" + getName(), true);
pb.addFile("h1.h", contents[2]).addDependency(cprojB.getProject());
ICProject cprojA = pb.create();
projects.add(cprojA);
@ -294,17 +299,17 @@ public class IndexCompositeTests extends BaseTestCase {
List<ICProject> projects = new ArrayList<ICProject>();
try {
ProjectBuilder pb = new ProjectBuilder("projB" + System.currentTimeMillis(), true);
ProjectBuilder pb = new ProjectBuilder("projB_" + getName(), true);
pb.addFile("h2.h", contents[0]);
ICProject cprojB = pb.create();
projects.add(cprojB);
pb = new ProjectBuilder("projA" + System.currentTimeMillis(), true);
pb = new ProjectBuilder("projA_" + getName(), true);
pb.addFile("h1.h", contents[1]).addDependency(cprojB.getProject());
ICProject cprojA = pb.create();
projects.add(cprojA);
pb = new ProjectBuilder("projC" + System.currentTimeMillis(), true);
pb = new ProjectBuilder("projC_" + getName(), true);
pb.addFile("h3.h", contents[2]).addDependency(cprojB.getProject());
ICProject cprojC = pb.create();
projects.add(cprojC);
@ -392,17 +397,17 @@ public class IndexCompositeTests extends BaseTestCase {
List<ICProject> projects = new ArrayList<ICProject>();
try {
ProjectBuilder pb = new ProjectBuilder("projC" + System.currentTimeMillis(), true);
ProjectBuilder pb = new ProjectBuilder("projC_" + getName(), true);
pb.addFile("h3.h", contents[0]);
ICProject cprojC = pb.create();
projects.add(cprojC);
pb = new ProjectBuilder("projA" + System.currentTimeMillis(), true);
pb = new ProjectBuilder("projA_" + getName(), true);
pb.addFile("h1.h", contents[2]);
ICProject cprojA = pb.create();
projects.add(cprojA);
pb = new ProjectBuilder("projB" + System.currentTimeMillis(), true);
pb = new ProjectBuilder("projB_" + getName(), true);
pb.addFile("h2.h", contents[1]).addDependency(cprojC.getProject()).addDependency(cprojA.getProject());
ICProject cprojB = pb.create();
projects.add(cprojB);
@ -509,6 +514,10 @@ public class IndexCompositeTests extends BaseTestCase {
protected void tearDown() throws Exception {
if (index != null) {
index.releaseReadLock();
index = null;
}
for (IProject project : createdProjects) {
project.delete(true, npm());
}
super.tearDown();
}