1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-09-04 22:23:28 +02:00

Clean up projects created during test

Part of #117
This commit is contained in:
Jonah Graham 2022-10-27 10:17:24 -04:00
parent 68e326120f
commit 62179bc863

View file

@ -42,6 +42,7 @@ import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.core.settings.model.ICSourceEntry; import org.eclipse.cdt.core.settings.model.ICSourceEntry;
import org.eclipse.cdt.core.testplugin.CProjectHelper; import org.eclipse.cdt.core.testplugin.CProjectHelper;
import org.eclipse.cdt.core.testplugin.CTestPlugin; import org.eclipse.cdt.core.testplugin.CTestPlugin;
import org.eclipse.cdt.core.testplugin.util.BaseTestCase5;
import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
@ -118,8 +119,8 @@ public class CModelTests extends TestCase {
* Called after every test case method. * Called after every test case method.
*/ */
@Override @Override
protected void tearDown() { protected void tearDown() throws CoreException {
// release resources here and clean-up BaseTestCase5.assertWorkspaceIsEmpty();
} }
public static TestSuite suite() { public static TestSuite suite() {
@ -273,44 +274,53 @@ public class CModelTests extends TestCase {
} }
public void testCElementVisitorLeave() throws Exception { public void testCElementVisitorLeave() throws Exception {
ICProject testProject; ICProject testProject = null;
String projectName = "bug257609"; try {
testProject = CProjectHelper.createCProject(projectName, "none", IPDOMManager.ID_NO_INDEXER); String projectName = "bug257609";
testProject = CProjectHelper.createCProject(projectName, "none", IPDOMManager.ID_NO_INDEXER);
IFolder testFolder = testProject.getProject().getFolder("test"); IFolder testFolder = testProject.getProject().getFolder("test");
testFolder.create(true, true, monitor); testFolder.create(true, true, monitor);
IFolder subFolder1 = testFolder.getFolder("1"); IFolder subFolder1 = testFolder.getFolder("1");
subFolder1.create(true, true, monitor); subFolder1.create(true, true, monitor);
IFolder subFolder2 = testFolder.getFolder("2"); IFolder subFolder2 = testFolder.getFolder("2");
subFolder2.create(true, true, monitor); subFolder2.create(true, true, monitor);
IFolder subFolder3 = subFolder2.getFolder("3"); IFolder subFolder3 = subFolder2.getFolder("3");
subFolder3.create(true, true, monitor); subFolder3.create(true, true, monitor);
IFile file0 = testFolder.getFile("test0.c"); IFile file0 = testFolder.getFile("test0.c");
file0.create(new ByteArrayInputStream(new byte[0]), true, monitor); file0.create(new ByteArrayInputStream(new byte[0]), true, monitor);
List<String> expected = Arrays.asList("visit " + projectName, "visit " + projectName, "visit test", "visit 1", List<String> expected = Arrays.asList("visit " + projectName, "visit " + projectName, "visit test",
"leave 1", "visit 2", "visit 3", "leave 3", "leave 2", "visit test0.c", "leave test0.c", "leave test", "visit 1", "leave 1", "visit 2", "visit 3", "leave 3", "leave 2", "visit test0.c", "leave test0.c",
"leave " + projectName, "leave " + projectName); "leave test", "leave " + projectName, "leave " + projectName);
final List<String> actual = new ArrayList<>(); final List<String> actual = new ArrayList<>();
testProject.accept(new ICElementVisitor() { testProject.accept(new ICElementVisitor() {
@Override @Override
public boolean visit(ICElement element) throws CoreException { public boolean visit(ICElement element) throws CoreException {
if (".settings".equals(element.getElementName())) { if (".settings".equals(element.getElementName())) {
return false; return false;
}
actual.add("visit " + element.getResource().getName());
return true;
} }
actual.add("visit " + element.getResource().getName());
return true;
}
@Override @Override
public void leave(ICElement element) throws CoreException { public void leave(ICElement element) throws CoreException {
if (".settings".equals(element.getElementName())) { if (".settings".equals(element.getElementName())) {
return; return;
}
actual.add("leave " + element.getResource().getName());
} }
actual.add("leave " + element.getResource().getName()); });
assertEquals(expected, actual);
} finally {
try {
if (testProject != null) {
testProject.getProject().delete(true, true, monitor);
}
} catch (CoreException e) {
} }
}); }
assertEquals(expected, actual);
} }
// bug 275609 // bug 275609