mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-09 09:15:38 +02:00
Remove test interdependencies in CDescriptorTests
Change-Id: I9b7660bed41357337505ec99bc9289071bcbce7e Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com> Reviewed-on: https://git.eclipse.org/r/23733 Tested-by: Hudson CI Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
This commit is contained in:
parent
c35254e018
commit
c8c5a78649
1 changed files with 41 additions and 70 deletions
|
@ -1,5 +1,5 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2004, 2012 QNX Software Systems Ltd and others.
|
||||
* Copyright (c) 2004, 2014 QNX Software Systems Ltd and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
|
@ -9,6 +9,7 @@
|
|||
* QNX Software Systems Ltd - initial API and implementation
|
||||
* Anton Leherbauer (Wind River Systems)
|
||||
* James Blackburn (Broadcom Corp.)
|
||||
* Marc-Andre Laperle (Ericsson)
|
||||
***********************************************************************/
|
||||
package org.eclipse.cdt.core.cdescriptor.tests;
|
||||
|
||||
|
@ -17,7 +18,6 @@ import java.io.InputStream;
|
|||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
|
||||
import junit.extensions.TestSetup;
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
|
@ -42,7 +42,6 @@ import org.eclipse.core.resources.IWorkspaceRoot;
|
|||
import org.eclipse.core.resources.IWorkspaceRunnable;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.junit.Assert;
|
||||
|
||||
public class CDescriptorTests extends BaseTestCase {
|
||||
|
@ -61,46 +60,43 @@ public class CDescriptorTests extends BaseTestCase {
|
|||
}
|
||||
|
||||
public static Test suite() {
|
||||
TestSuite suite = new TestSuite(CDescriptorTests.class.getName());
|
||||
|
||||
// Always run the tests in the same order because they were not written with random order in mind.
|
||||
suite.addTest(new CDescriptorTests("testDescriptorCreation"));
|
||||
suite.addTest(new CDescriptorTests("testDescriptorOwner"));
|
||||
suite.addTest(new CDescriptorTests("testConcurrentDescriptorModification"));
|
||||
suite.addTest(new CDescriptorTests("testConcurrentDifferentStorageElementModification"));
|
||||
suite.addTest(new CDescriptorTests("testConcurrentSameStorageElementModification"));
|
||||
suite.addTest(new CDescriptorTests("testDeadlockDuringProjectCreation"));
|
||||
suite.addTest(new CDescriptorTests("testDescriptorConversion"));
|
||||
suite.addTest(new CDescriptorTests("testExtensionCreation"));
|
||||
suite.addTest(new CDescriptorTests("testExtensionGet"));
|
||||
suite.addTest(new CDescriptorTests("testExtensionData"));
|
||||
suite.addTest(new CDescriptorTests("testExtensionRemove"));
|
||||
suite.addTest(new CDescriptorTests("testProjectDataCreate"));
|
||||
suite.addTest(new CDescriptorTests("testProjectDataDelete"));
|
||||
suite.addTest(new CDescriptorTests("testCProjectDescriptionDescriptorInteraction"));
|
||||
suite.addTest(new CDescriptorTests("testAccumulatingBlankLinesInProjectData"));
|
||||
|
||||
TestSetup wrapper = new TestSetup(suite) {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
oneTimeSetUp();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
oneTimeTearDown();
|
||||
}
|
||||
};
|
||||
return wrapper;
|
||||
TestSuite suite = new TestSuite(CDescriptorTests.class);
|
||||
return suite;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
fProject.open(new NullProgressMonitor());
|
||||
CTestPlugin.getWorkspace().run(new IWorkspaceRunnable() {
|
||||
@Override
|
||||
public void run(IProgressMonitor monitor) throws CoreException {
|
||||
IWorkspaceRoot root = CTestPlugin.getWorkspace().getRoot();
|
||||
IProject project = root.getProject("testDescriptorProject");
|
||||
if (!project.exists()) {
|
||||
project.create(null);
|
||||
} else {
|
||||
project.refreshLocal(IResource.DEPTH_INFINITE, null);
|
||||
}
|
||||
if (!project.isOpen()) {
|
||||
project.open(null);
|
||||
}
|
||||
CCorePlugin.getDefault().getCDescriptorManager().addDescriptorListener(listener);
|
||||
if (!project.hasNature(CProjectNature.C_NATURE_ID)) {
|
||||
addNatureToProject(project, CProjectNature.C_NATURE_ID, null);
|
||||
}
|
||||
fProject = project;
|
||||
CTestPlugin.getWorkspace().run(new IWorkspaceRunnable() {
|
||||
@Override
|
||||
public void run(IProgressMonitor monitor) throws CoreException {
|
||||
CCorePlugin.getDefault().mapCProjectOwner(fProject, projectId, false);
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
fProject.delete(true, true, null);
|
||||
}
|
||||
|
||||
private static void addNatureToProject(IProject proj, String natureId, IProgressMonitor monitor) throws CoreException {
|
||||
|
@ -120,40 +116,7 @@ public class CDescriptorTests extends BaseTestCase {
|
|||
}
|
||||
}
|
||||
|
||||
static void oneTimeSetUp() throws Exception {
|
||||
CTestPlugin.getWorkspace().run(new IWorkspaceRunnable() {
|
||||
@Override
|
||||
public void run(IProgressMonitor monitor) throws CoreException {
|
||||
IWorkspaceRoot root = CTestPlugin.getWorkspace().getRoot();
|
||||
IProject project = root.getProject("testDescriptorProject");
|
||||
if (!project.exists()) {
|
||||
project.create(null);
|
||||
} else {
|
||||
project.refreshLocal(IResource.DEPTH_INFINITE, null);
|
||||
}
|
||||
if (!project.isOpen()) {
|
||||
project.open(null);
|
||||
}
|
||||
CCorePlugin.getDefault().getCDescriptorManager().addDescriptorListener(listener);
|
||||
if (!project.hasNature(CProjectNature.C_NATURE_ID)) {
|
||||
addNatureToProject(project, CProjectNature.C_NATURE_ID, null);
|
||||
}
|
||||
fProject = project;
|
||||
}
|
||||
}, null);
|
||||
}
|
||||
|
||||
static void oneTimeTearDown() throws Exception {
|
||||
fProject.delete(true, true, null);
|
||||
}
|
||||
|
||||
public void testDescriptorCreation() throws Exception {
|
||||
CTestPlugin.getWorkspace().run(new IWorkspaceRunnable() {
|
||||
@Override
|
||||
public void run(IProgressMonitor monitor) throws CoreException {
|
||||
CCorePlugin.getDefault().mapCProjectOwner(fProject, projectId, false);
|
||||
}
|
||||
}, null);
|
||||
ICDescriptor desc = CCorePlugin.getDefault().getCProjectDescription(fProject, true);
|
||||
|
||||
Assert.assertNotNull(fLastEvent);
|
||||
|
@ -346,8 +309,8 @@ public class CDescriptorTests extends BaseTestCase {
|
|||
*/
|
||||
public void testDeadlockDuringProjectCreation() throws Exception {
|
||||
for (int i= 0; i < 10; ++i) {
|
||||
oneTimeTearDown();
|
||||
oneTimeSetUp();
|
||||
tearDown();
|
||||
setUp();
|
||||
Thread t= new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
@ -394,6 +357,8 @@ public class CDescriptorTests extends BaseTestCase {
|
|||
|
||||
public void testExtensionGet() throws Exception {
|
||||
ICDescriptor desc = CCorePlugin.getDefault().getCProjectDescription(fProject, true);
|
||||
desc.create("org.eclipse.cdt.testextension", "org.eclipse.cdt.testextensionID");
|
||||
|
||||
ICExtensionReference extRef[] = desc.get("org.eclipse.cdt.testextension");
|
||||
|
||||
Assert.assertEquals("org.eclipse.cdt.testextension", extRef[0].getExtension());
|
||||
|
@ -402,6 +367,8 @@ public class CDescriptorTests extends BaseTestCase {
|
|||
|
||||
public void testExtensionData() throws Exception {
|
||||
ICDescriptor desc = CCorePlugin.getDefault().getCProjectDescription(fProject, true);
|
||||
desc.create("org.eclipse.cdt.testextension", "org.eclipse.cdt.testextensionID");
|
||||
|
||||
ICExtensionReference extRef[] = desc.get("org.eclipse.cdt.testextension");
|
||||
extRef[0].setExtensionData("testKey", "testValue");
|
||||
|
||||
|
@ -418,6 +385,8 @@ public class CDescriptorTests extends BaseTestCase {
|
|||
|
||||
public void testExtensionRemove() throws Exception {
|
||||
ICDescriptor desc = CCorePlugin.getDefault().getCProjectDescription(fProject, true);
|
||||
desc.create("org.eclipse.cdt.testextension", "org.eclipse.cdt.testextensionID");
|
||||
|
||||
ICExtensionReference extRef[] = desc.get("org.eclipse.cdt.testextension");
|
||||
desc.remove(extRef[0]);
|
||||
|
||||
|
@ -444,6 +413,8 @@ public class CDescriptorTests extends BaseTestCase {
|
|||
public void testProjectDataDelete() throws Exception {
|
||||
ICDescriptor desc = CCorePlugin.getDefault().getCProjectDescription(fProject, true);
|
||||
ICStorageElement data = desc.getProjectStorageElement("testElement");
|
||||
data.createChild("test");
|
||||
|
||||
ICStorageElement[] list = data.getChildrenByName("test");
|
||||
Assert.assertEquals(1, list.length);
|
||||
data.removeChild(list[0]);
|
||||
|
|
Loading…
Add table
Reference in a new issue