diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/standardbuilder/core/tests/ScannerConfigConsoleParserTests.java b/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/builder/tests/ScannerConfigConsoleParserTests.java
similarity index 99%
rename from build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/standardbuilder/core/tests/ScannerConfigConsoleParserTests.java
rename to build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/builder/tests/ScannerConfigConsoleParserTests.java
index ba5c2be29de..ff1835375c9 100644
--- a/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/standardbuilder/core/tests/ScannerConfigConsoleParserTests.java
+++ b/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/builder/tests/ScannerConfigConsoleParserTests.java
@@ -8,7 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
*******************************************************************************/
-package org.eclipse.cdt.standardbuilder.core.tests;
+package org.eclipse.cdt.make.builder.tests;
import java.util.ArrayList;
import java.util.List;
diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/standardbuilder/core/tests/ScannerConfigDiscoveryTests.java b/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/builder/tests/ScannerConfigDiscoveryTests.java
similarity index 91%
rename from build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/standardbuilder/core/tests/ScannerConfigDiscoveryTests.java
rename to build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/builder/tests/ScannerConfigDiscoveryTests.java
index fe5c628284b..1595d42c3b3 100644
--- a/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/standardbuilder/core/tests/ScannerConfigDiscoveryTests.java
+++ b/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/builder/tests/ScannerConfigDiscoveryTests.java
@@ -8,7 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
*******************************************************************************/
-package org.eclipse.cdt.standardbuilder.core.tests;
+package org.eclipse.cdt.make.builder.tests;
import java.io.ByteArrayInputStream;
import java.util.Map;
@@ -21,8 +21,8 @@ import org.eclipse.cdt.core.parser.IScannerInfo;
import org.eclipse.cdt.make.core.MakeCorePlugin;
import org.eclipse.cdt.make.core.MakeProjectNature;
import org.eclipse.cdt.make.core.scannerconfig.ScannerConfigNature;
+import org.eclipse.cdt.make.core.tests.StandardBuildTestHelper;
import org.eclipse.cdt.make.internal.core.scannerconfig2.PerProjectSICollector;
-import org.eclipse.cdt.managedbuilder.testplugin.ManagedBuildTestHelper;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
@@ -50,7 +50,7 @@ public class ScannerConfigDiscoveryTests extends TestCase {
protected void setUp() throws Exception {
fMonitor = new NullProgressMonitor();
- fCProject = ManagedBuildTestHelper.createProject("SCD", (IPath)null, MakeCorePlugin.MAKE_PROJECT_ID, null);
+ fCProject = StandardBuildTestHelper.createProject("SCD", (IPath)null, MakeCorePlugin.MAKE_PROJECT_ID);
fCFile = fCProject.getProject().getFile("main.c");
if (!fCFile.exists()) {
fCFile.create(new ByteArrayInputStream(" \n".getBytes()), false, fMonitor);
@@ -58,7 +58,7 @@ public class ScannerConfigDiscoveryTests extends TestCase {
}
protected void tearDown() throws Exception {
- ManagedBuildTestHelper.removeProject("SCDC");
+ StandardBuildTestHelper.removeProject("SCDC");
}
public void testGetCCompilerBuiltins() throws CoreException {
diff --git a/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/builder/tests/StandardBuildTests.java b/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/builder/tests/StandardBuildTests.java
index 241dc53cf47..755760d82df 100644
--- a/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/builder/tests/StandardBuildTests.java
+++ b/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/builder/tests/StandardBuildTests.java
@@ -54,6 +54,10 @@ public class StandardBuildTests extends TestCase {
suite.addTest(new StandardBuildTests("testProjectSettings"));
suite.addTest(new StandardBuildTests("testProjectConversion"));
suite.addTest(new StandardBuildTests("testProjectCleanup"));
+
+ suite.addTestSuite(ScannerConfigConsoleParserTests.class);
+ suite.addTestSuite(ScannerConfigDiscoveryTests.class);
+
return suite;
}
diff --git a/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/core/tests/StandardBuildTestHelper.java b/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/core/tests/StandardBuildTestHelper.java
new file mode 100644
index 00000000000..45d7e953351
--- /dev/null
+++ b/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/core/tests/StandardBuildTestHelper.java
@@ -0,0 +1,269 @@
+package org.eclipse.cdt.make.core.tests;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+
+import junit.framework.Assert;
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceDescription;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+
+public class StandardBuildTestHelper {
+ /* (non-Javadoc)
+ * Create a new project named name
or return the project in
+ * the workspace of the same name if it exists.
+ *
+ * @param name The name of the project to create or retrieve.
+ * @return
+ * @throws CoreException
+ */
+ static public IProject createProject(
+ final String name,
+ final IPath location,
+ final String projectId)
+ throws CoreException {
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+ final IProject newProjectHandle = root.getProject(name);
+ IProject project = null;
+
+ if (!newProjectHandle.exists()) {
+ IWorkspace workspace = ResourcesPlugin.getWorkspace();
+ IWorkspaceDescription workspaceDesc = workspace.getDescription();
+ workspaceDesc.setAutoBuilding(false);
+ workspace.setDescription(workspaceDesc);
+ IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName());
+ //description.setLocation(root.getLocation());
+ project = CCorePlugin.getDefault().createCProject(description, newProjectHandle, new NullProgressMonitor(), projectId);
+ } else {
+ project = newProjectHandle;
+ }
+
+ // Open the project if we have to
+ if (!project.isOpen()) {
+ project.open(new NullProgressMonitor());
+ }
+
+ return project;
+ }
+
+ /**
+ * Remove the IProject
with the name specified in the argument from the
+ * receiver's workspace.
+ *
+ * @param name
+ */
+ static public void removeProject(String name) {
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+ final IProject project = root.getProject(name);
+ if (project.exists()) {
+ IWorkspace workspace = ResourcesPlugin.getWorkspace();
+ IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
+ public void run(IProgressMonitor monitor) throws CoreException {
+ System.gc();
+ System.runFinalization();
+ project.delete(true, true, null);
+ }
+ };
+ NullProgressMonitor monitor = new NullProgressMonitor();
+ try {
+ workspace.run(runnable, root, IWorkspace.AVOID_UPDATE, monitor);
+ } catch (CoreException e2) {
+ Assert.assertTrue(false);
+ }
+ }
+ }
+
+ static public boolean compareBenchmarks(final IProject project, IPath testDir, IPath[] files) {
+ IWorkspace workspace = ResourcesPlugin.getWorkspace();
+ IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
+ public void run(IProgressMonitor monitor) throws CoreException {
+ project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
+ }
+ };
+ try {
+ NullProgressMonitor monitor = new NullProgressMonitor();
+ workspace.run(runnable, workspace.getRoot(), IWorkspace.AVOID_UPDATE, monitor);
+ } catch (Exception e) {
+ Assert.fail("File " + files[0].lastSegment() + " - project refresh failed.");
+ }
+ for (int i=0; i 1) {
+ IPath newDir = tmpSrcDir;
+ do {
+ IPath dir = file.uptoSegment(1);
+ newDir = newDir.append(dir);
+ file = file.removeFirstSegments(1);
+ succeed = newDir.toFile().mkdir();
+ } while (file.segmentCount() > 1);
+ }
+ IPath destFile = tmpSrcDir.append(files[i]);
+ FileWriter writer = null;
+ try {
+ writer = new FileWriter(destFile.toFile());
+ } catch (Exception e) {
+ Assert.fail("File " + files[i].toString() + " could not be written.");
+ }
+ try {
+ int c;
+ do {
+ c = srcReader.read();
+ if (c == -1) break;
+ writer.write(c);
+ } while (c != -1);
+ srcReader.close();
+ writer.close();
+ } catch (Exception e) {
+ Assert.fail("File " + file.toString() + " could not be copied.");
+ }
+ }
+ }
+ }
+ }
+ return tmpSrcDir;
+ }
+
+ static public void deleteTempDir(IPath tmpSubDir, IPath[] files) {
+ IPath tmpSrcDir = null;
+ String userDirStr = System.getProperty("user.home");
+ if (userDirStr != null) {
+ IPath userDir = Path.fromOSString(userDirStr);
+ tmpSrcDir = userDir.append(tmpSubDir);
+ if (userDir.toString().equalsIgnoreCase(tmpSrcDir.toString())) {
+ Assert.fail("Temporary sub-directory cannot be the empty string.");
+ } else {
+ File tmpSrcDirFile = tmpSrcDir.toFile();
+ if (!tmpSrcDirFile.exists()) {
+ Assert.fail("Temporary directory " + tmpSrcDirFile.toString() + " does not exist.");
+ } else {
+ for (int i=0; i