diff options
Diffstat (limited to 'core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/DependencyTests.java')
-rw-r--r-- | core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/DependencyTests.java | 708 |
1 files changed, 0 insertions, 708 deletions
diff --git a/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/DependencyTests.java b/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/DependencyTests.java deleted file mode 100644 index 2dfd006bdda..00000000000 --- a/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/DependencyTests.java +++ /dev/null @@ -1,708 +0,0 @@ -/* - * Created on Sep 25, 2003 - */ -package org.eclipse.cdt.core.indexer.tests; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.Set; -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.core.model.ICProject; -import org.eclipse.cdt.core.search.BasicSearchResultCollector; -import org.eclipse.cdt.core.search.ICSearchConstants; -import org.eclipse.cdt.core.search.ICSearchPattern; -import org.eclipse.cdt.core.search.ICSearchResultCollector; -import org.eclipse.cdt.core.search.ICSearchScope; -import org.eclipse.cdt.core.search.IMatch; -import org.eclipse.cdt.core.search.SearchEngine; -import org.eclipse.cdt.internal.core.index.impl.IFileDocument; -import org.eclipse.cdt.internal.core.search.PathCollector; -import org.eclipse.cdt.internal.core.search.PatternSearchJob; -import org.eclipse.cdt.internal.core.search.indexing.IndexManager; -import org.eclipse.cdt.internal.core.search.matching.CSearchPattern; -import org.eclipse.cdt.internal.core.search.processing.IJob; -import org.eclipse.cdt.internal.core.sourcedependency.DependencyQueryJob; -import org.eclipse.cdt.internal.core.sourcedependency.UpdateDependency; -import org.eclipse.cdt.testplugin.CProjectHelper; -import org.eclipse.cdt.testplugin.CTestPlugin; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; - - /** - * @author bgheorgh - */ - public class DependencyTests extends TestCase { - IFile file; - IFileDocument fileDoc; - IProject testProject; - NullProgressMonitor monitor; - IndexManager indexManager; - IWorkspace workspace; - BasicSearchResultCollector resultCollector; - SearchEngine searchEngine; - ICSearchScope scope; - - public static Test suite() { - TestSuite suite = new TestSuite(DependencyTests.class.getName()); - - suite.addTest(new DependencyTests("testDependencyTree")); - suite.addTest(new DependencyTests("testDepTable")); - suite.addTest(new DependencyTests("testDepSourceChangeTree")); - suite.addTest(new DependencyTests("testDepHeaderChangeTree")); - suite.addTest(new DependencyTests("testDepHeaderChangeReindex")); - suite.addTest(new DependencyTests("testDepSourceChangeTable")); - suite.addTest(new DependencyTests("testDepHeaderChangeTable")); - suite.addTest(new DependencyTests("testUpdateDependancyNPE")); - return suite; - } - /** - * @param name - */ - public DependencyTests(String name) { - super(name); - // TODO Auto-generated constructor stub - } - /* - * @see TestCase#setUp() - */ - protected void setUp() throws Exception { - super.setUp(); - //Create temp project - testProject = createProject("DepTestProject"); - - testProject.setSessionProperty(IndexManager.activationKey,new Boolean(true)); - - if (testProject==null) - fail("Unable to create project"); - - indexManager = CCorePlugin.getDefault().getCoreModel().getIndexManager(); - indexManager.reset(); - - workspace = ResourcesPlugin.getWorkspace(); - - scope = SearchEngine.createWorkspaceScope(); - monitor = new NullProgressMonitor(); - resultCollector = new BasicSearchResultCollector(); - - searchEngine = new SearchEngine(); - } - /* - * @see TestCase#tearDown() - */ - protected void tearDown() { - try { - super.tearDown(); - } catch (Exception e1) { - } - //Delete project - if (testProject.exists()){ - try { - System.gc(); - System.runFinalization(); - testProject.delete(true,monitor); - } catch (CoreException e) { - fail(getMessage(e.getStatus())); - } - } - } - - private String getMessage(IStatus status) { - StringBuffer message = new StringBuffer("["); - message.append(status.getMessage()); - if (status.isMultiStatus()) { - IStatus children[] = status.getChildren(); - for (int i = 0; i < children.length; i++) { - message.append(getMessage(children[i])); - } - } - message.append("]"); - return message.toString(); - } - - public void testDependencyTree() throws Exception{ - //Add a file to the project - importFile("c.h","resources/dependency/c.h"); - importFile("a.h","resources/dependency/a.h"); - importFile("Inc1.h","resources/dependency/Inc1.h"); - importFile("DepTest.h","resources/dependency/DepTest.h"); - importFile("d.h","resources/dependency/d.h"); - importFile("DepTest2.h","resources/dependency/DepTest2.h"); - IFile depTest = importFile("DepTest.cpp","resources/dependency/DepTest.cpp"); - IFile depTest2 = importFile("DepTest2.cpp","resources/dependency/DepTest2.cpp"); - //Enable indexing on the created project - //By doing this, we force the Dependency Manager to do a g() - - IndexManager indexManager = CCorePlugin.getDefault().getCoreModel().getIndexManager(); - //indexManager.setEnabled(testProject,true); - - - String[] depTestModel = {File.separator + "DepTestProject" + File.separator + "d.h", File.separator + "DepTestProject" + File.separator + "Inc1.h", File.separator + "DepTestProject" + File.separator + "c.h", File.separator + "DepTestProject" + File.separator + "a.h", File.separator + "DepTestProject" + File.separator + "DepTest.h"}; - String[] depTest2Model = {File.separator + "DepTestProject" + File.separator + "d.h", File.separator + "DepTestProject" + File.separator + "DepTest2.h"}; - - ArrayList includes = new ArrayList(); - indexManager.performConcurrentJob(new DependencyQueryJob(testProject,depTest,indexManager,includes),ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,null,null); - - String[] depTestModelLocal = convertToLocalPath(depTestModel); - String[] depTestIncludes = new String[includes.size()]; - Iterator includesIterator = includes.iterator(); - int i=0; - while(includesIterator.hasNext()){ - depTestIncludes[i] = (String) includesIterator.next(); - i++; - } - - if (depTestModelLocal.length != depTestIncludes.length) - fail("Number of included files differsfrom model"); - - Arrays.sort(depTestModelLocal); - Arrays.sort(depTestIncludes); - - for (i=0;i<depTestIncludes.length; i++) - { - assertEquals(depTestModelLocal[i],depTestIncludes[i]); - } - - ArrayList includes2 = new ArrayList(); - indexManager.performConcurrentJob(new DependencyQueryJob(testProject,depTest2,indexManager,includes2),ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,null,null); - - String[] depTest2ModelLocal = convertToLocalPath(depTest2Model); - String[] depTest2Includes = new String[includes2.size()]; - Iterator includes2Iterator = includes2.iterator(); - i=0; - while(includes2Iterator.hasNext()){ - depTest2Includes[i] = (String) includes2Iterator.next(); - i++; - } - - if (depTest2ModelLocal.length != depTest2Includes.length) - fail("Number of included files differsfrom model"); - - Arrays.sort(depTest2ModelLocal); - Arrays.sort(depTest2Includes); - - for (i=0;i<depTest2Includes.length; i++) - { - assertEquals(depTest2ModelLocal[i],depTest2Includes[i]); - } - } - - public void testDepTable() throws Exception{ - //Add a file to the project - - IFile cH = importFile("c.h","resources/dependency/c.h"); - IFile aH = importFile("a.h","resources/dependency/a.h"); - IFile Inc1H = importFile("Inc1.h","resources/dependency/Inc1.h"); - IFile dH = importFile("d.h","resources/dependency/d.h"); - IFile depTestH = importFile("DepTest.h","resources/dependency/DepTest.h"); - IFile depTest2H = importFile("DepTest2.h","resources/dependency/DepTest2.h"); - IFile depTest2C = importFile("DepTest2.cpp","resources/dependency/DepTest2.cpp"); - IFile depTestC = importFile("DepTest.cpp","resources/dependency/DepTest.cpp"); - - PathCollector pathCollector = new PathCollector(); - getTableRefs(dH, pathCollector); - - String[] dHModel = {IPath.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest2.cpp", IPath.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest.cpp", IPath.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest2.h"}; - String[] iPath = pathCollector.getPaths(); - - if (dHModel.length != iPath.length) - fail("Number of included files differsfrom model"); - - Arrays.sort(dHModel); - Arrays.sort(iPath); - - for (int i=0;i<iPath.length; i++) - { - assertEquals(iPath[i],dHModel[i]); - } - - pathCollector = new PathCollector(); - getTableRefs(Inc1H, pathCollector); - - String[] Inc1HModel = {IPath.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest.cpp",IPath.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest.h"}; - iPath = pathCollector.getPaths(); - - if (Inc1HModel.length != iPath.length) - fail("Number of included files differsfrom model"); - - Arrays.sort(Inc1HModel); - Arrays.sort(iPath); - - for (int i=0;i<iPath.length; i++) - { - assertEquals(iPath[i],Inc1HModel[i]); - } - } - - public void testDepSourceChangeTable() throws Exception{ - - //Add a file to the project - IFile cH = importFile("c.h","resources/dependency/c.h"); - IFile aH = importFile("a.h","resources/dependency/a.h"); - IFile Inc1H = importFile("Inc1.h","resources/dependency/Inc1.h"); - IFile dH = importFile("d.h","resources/dependency/d.h"); - IFile depTestH = importFile("DepTest.h","resources/dependency/DepTest.h"); - IFile depTestC = importFile("DepTest.cpp","resources/dependency/DepTest.cpp"); - - String[] beforeModel = {Path.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest.cpp"}; - - PathCollector pathCollector = new PathCollector(); - getTableRefs(depTestH, pathCollector); - - String[] iPath = pathCollector.getPaths(); - - compareArrays(iPath,beforeModel); - - pathCollector = new PathCollector(); - getTableRefs(dH, pathCollector); - - iPath = pathCollector.getPaths(); - - compareArrays(iPath,beforeModel); - - pathCollector = new PathCollector(); - getTableRefs(Inc1H, pathCollector); - - iPath = pathCollector.getPaths(); - String[] inc1Model = {Path.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest.cpp",Path.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest.h"}; - compareArrays(iPath,inc1Model); - - pathCollector = new PathCollector(); - getTableRefs(aH, pathCollector); - - iPath = pathCollector.getPaths(); - - compareArrays(iPath,inc1Model); - - pathCollector = new PathCollector(); - getTableRefs(cH, pathCollector); - - iPath = pathCollector.getPaths(); - - String[] cHModel = {Path.SEPARATOR + "DepTestProject" + Path.SEPARATOR + "Inc1.h", Path.SEPARATOR + "DepTestProject" + Path.SEPARATOR + "DepTest.cpp", Path.SEPARATOR + "DepTestProject" + Path.SEPARATOR + "a.h", Path.SEPARATOR + "DepTestProject" + Path.SEPARATOR + "DepTest.h"}; - compareArrays(iPath,cHModel); - - editCode(depTestC,"#include \"DepTest.h\"","//#include \"DepTest.h\""); - - - pathCollector = new PathCollector(); - getTableRefs(depTestH, pathCollector); - - iPath = pathCollector.getPaths(); - - if (iPath.length != 0) - fail("Number of included files differs from model"); - - - pathCollector = new PathCollector(); - getTableRefs(dH, pathCollector); - - iPath = pathCollector.getPaths(); - - compareArrays(iPath,beforeModel); - - pathCollector = new PathCollector(); - getTableRefs(Inc1H, pathCollector); - - iPath = pathCollector.getPaths(); - - if (iPath.length != 1) - fail("Number of included files differs from model"); - - pathCollector = new PathCollector(); - getTableRefs(aH, pathCollector); - - iPath = pathCollector.getPaths(); - - if (iPath.length != 1) - fail("Number of included files differs from model"); - - - pathCollector = new PathCollector(); - getTableRefs(cH, pathCollector); - - iPath = pathCollector.getPaths(); - - if (iPath.length != 3) - fail("Number of included files differs from model"); - - } - - public void testDepSourceChangeTree() throws Exception{ -// Add a file to the project - IFile cH = importFile("c.h","resources/dependency/c.h"); - IFile aH = importFile("a.h","resources/dependency/a.h"); - IFile Inc1H = importFile("Inc1.h","resources/dependency/Inc1.h"); - IFile depTestH = importFile("DepTest.h","resources/dependency/DepTest.h"); - IFile dH = importFile("d.h","resources/dependency/d.h"); - IFile depTest2H = importFile("DepTest2.h","resources/dependency/DepTest2.h"); - IFile depTestC = importFile("DepTest.cpp","resources/dependency/DepTest.cpp"); - IFile depTest2C = importFile("DepTest2.cpp","resources/dependency/DepTest2.cpp"); - - IndexManager indexManager = CCorePlugin.getDefault().getCoreModel().getIndexManager(); - - String[] preDepTestModel = {File.separator + "DepTestProject" + File.separator + "DepTest.h", File.separator + "DepTestProject" + File.separator + "Inc1.h", File.separator + "DepTestProject" + File.separator + "a.h", File.separator + "DepTestProject" + File.separator + "c.h", File.separator + "DepTestProject" + File.separator + "d.h"}; - - ArrayList includes = new ArrayList(); - indexManager.performConcurrentJob(new DependencyQueryJob(testProject,depTestC,indexManager,includes),ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,null, null); - - String[] preDepTestModelLocal = convertToLocalPath(preDepTestModel); - String[] preDepTestIncludes = new String[includes.size()]; - - Iterator includesIterator = includes.iterator(); - int i=0; - while(includesIterator.hasNext()){ - preDepTestIncludes[i] = (String) includesIterator.next(); - i++; - } - - if (preDepTestModelLocal.length != preDepTestIncludes.length) - fail("Number of included files differs from model"); - - Arrays.sort(preDepTestModelLocal); - Arrays.sort(preDepTestIncludes); - - for (i=0;i<preDepTestIncludes.length; i++){ - assertEquals(preDepTestModelLocal[i],preDepTestIncludes[i]); - } - - editCode(depTestC,"#include \"DepTest.h\"","//#include \"DepTest.h\""); - String[] postDepTestModel = {File.separator + "DepTestProject" + File.separator + "d.h"}; - - ArrayList includes2 = new ArrayList(); - - testProject.refreshLocal(IResource.DEPTH_INFINITE,null); - - indexManager.performConcurrentJob(new DependencyQueryJob(testProject,depTestC,indexManager,includes2),ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,null, null); - - - String[] postDepTestModelLocal = convertToLocalPath(postDepTestModel); - String[] postDepTestIncludes = new String[includes2.size()]; - - Iterator includesIterator2 = includes2.iterator(); - - int j=0; - while(includesIterator2.hasNext()){ - postDepTestIncludes[j] = (String) includesIterator2.next(); - j++; - } - - if (postDepTestModelLocal.length != postDepTestIncludes.length) - fail("Number of included files differs from model"); - - Arrays.sort(postDepTestModelLocal); - Arrays.sort(postDepTestIncludes); - - for (i=0;i<postDepTestIncludes.length; i++){ - assertEquals(postDepTestModelLocal[i],postDepTestIncludes[i]); - } - - } - - public void testDepHeaderChangeTree() throws Exception{ - // Add a file to the project - IFile cH = importFile("c.h","resources/dependency/c.h"); - IFile aH = importFile("a.h","resources/dependency/a.h"); - IFile depTest3H = importFile("DepTest3.h","resources/dependency/DepTest3.h"); - IFile depTest3C = importFile("DepTest3.cpp","resources/dependency/DepTest3.cpp"); - - IndexManager indexManager = CCorePlugin.getDefault().getCoreModel().getIndexManager(); - - String[] preDepTestModel = {File.separator + "DepTestProject" + File.separator + "DepTest3.h", File.separator + "DepTestProject" + File.separator + "a.h", File.separator + "DepTestProject" + File.separator + "c.h"}; - - ArrayList includes = new ArrayList(); - indexManager.performConcurrentJob(new DependencyQueryJob(testProject,depTest3C,indexManager,includes),ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,null, null); - - String[] preDepTestModelLocal = convertToLocalPath(preDepTestModel); - String[] preDepTestIncludes = new String[includes.size()]; - - Iterator includesIterator = includes.iterator(); - int i=0; - while(includesIterator.hasNext()){ - preDepTestIncludes[i] = (String) includesIterator.next(); - i++; - } - - if (preDepTestModelLocal.length != preDepTestIncludes.length) - fail("Number of included files differs from model"); - - Arrays.sort(preDepTestModelLocal); - Arrays.sort(preDepTestIncludes); - - for (i=0;i<preDepTestIncludes.length; i++){ - assertEquals(preDepTestModelLocal[i],preDepTestIncludes[i]); - } - - editCode(aH,"#include \"c.h\"","//#include \"c.h\""); - String[] postDepTestModel = {File.separator + "DepTestProject" + File.separator + "DepTest3.h", File.separator + "DepTestProject" + File.separator + "a.h"}; - - ArrayList includes2 = new ArrayList(); - - testProject.refreshLocal(IResource.DEPTH_INFINITE,null); - - indexManager.performConcurrentJob(new DependencyQueryJob(testProject,depTest3C,indexManager,includes2),ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,null, null); - - - String[] postDepTestModelLocal = convertToLocalPath(postDepTestModel); - String[] postDepTestIncludes = new String[includes2.size()]; - - Iterator includesIterator2 = includes2.iterator(); - - int j=0; - while(includesIterator2.hasNext()){ - postDepTestIncludes[j] = (String) includesIterator2.next(); - j++; - } - - assertEquals(postDepTestModelLocal.length, postDepTestIncludes.length); - - Arrays.sort(postDepTestModelLocal); - Arrays.sort(postDepTestIncludes); - - for (i=0;i<postDepTestIncludes.length; i++){ - assertEquals(postDepTestModelLocal[i],postDepTestIncludes[i]); - } - - } - - public void testDepHeaderChangeTable() throws Exception{ - - // Add a file to the project - IFile cH = importFile("c.h","resources/dependency/c.h"); - IFile aH = importFile("a.h","resources/dependency/a.h"); - IFile depTest3H = importFile("DepTest3.h","resources/dependency/DepTest3.h"); - IFile depTest3C = importFile("DepTest3.cpp","resources/dependency/DepTest3.cpp"); - - String[] beforeModel = {Path.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest3.cpp"}; - String[] cHModel = {Path.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest3.cpp", IPath.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "a.h", IPath.SEPARATOR + "DepTestProject" + IPath.SEPARATOR + "DepTest3.h"}; - String[] aHModel = {Path.SEPARATOR + "DepTestProject" + Path.SEPARATOR + "DepTest3.cpp", Path.SEPARATOR + "DepTestProject" + Path.SEPARATOR + "DepTest3.h"}; - PathCollector pathCollector = new PathCollector(); - getTableRefs(depTest3H, pathCollector); - - String[] iPath = pathCollector.getPaths(); - - compareArrays(iPath,beforeModel); - - pathCollector = new PathCollector(); - getTableRefs(cH, pathCollector); - - iPath = pathCollector.getPaths(); - - compareArrays(iPath,cHModel); - - pathCollector = new PathCollector(); - getTableRefs(aH, pathCollector); - - iPath = pathCollector.getPaths(); - - compareArrays(iPath,aHModel); - - - editCode(aH,"#include \"c.h\"","//#include \"c.h\""); - - pathCollector = new PathCollector(); - getTableRefs(depTest3H, pathCollector); - - iPath = pathCollector.getPaths(); - - compareArrays(iPath,beforeModel); - - pathCollector = new PathCollector(); - getTableRefs(cH, pathCollector); - - iPath = pathCollector.getPaths(); - - if (iPath.length != 0) - fail("Number of included files differs from model"); - - pathCollector = new PathCollector(); - getTableRefs(aH, pathCollector); - - iPath = pathCollector.getPaths(); - - compareArrays(iPath,aHModel); - - } - - public void testUpdateDependancyNPE() { - IResource nonExistantResource = ResourcesPlugin.getWorkspace().getRoot().getProject("non-existant-project-aha"); - - assertFalse(nonExistantResource.exists()); - assertNull(nonExistantResource.getLocation()); - - IJob job = new UpdateDependency(nonExistantResource); - assertFalse(job.execute(new NullProgressMonitor())); - } - - - public void testDepHeaderChangeReindex() throws Exception{ - // Add a file to the project - IFile cH = importFile("c.h","resources/dependency/c.h"); - IFile aH = importFile("a.h","resources/dependency/a.h"); - IFile depTest3H = importFile("DepTest3.h","resources/dependency/DepTest3.h"); - IFile depTest3C = importFile("DepTest3.cpp","resources/dependency/DepTest3.cpp"); - - ICSearchPattern pattern = SearchEngine.createSearchPattern( "Z", ICSearchConstants.TYPE, ICSearchConstants.DECLARATIONS, true ); - - search(workspace,pattern,scope,resultCollector); - - Set resultSet = resultCollector.getSearchResults(); - if (resultSet.size() != 1) - fail("Expected 1 match"); - - Iterator iter = resultSet.iterator(); - IMatch match = (IMatch) iter.next(); - if (!(match.getName().equals("Z")) && - (match.getElementType() != 64 )) - fail("Wrong search result"); - - editCode(depTest3H,"#include \"a.h\"","//#include \"a.h\""); - - search(workspace,pattern,scope,resultCollector); - - resultSet = resultCollector.getSearchResults(); - - if (resultSet.size() != 1) - fail("Expected no matches"); - } - - - private String[] convertToLocalPath(String[] model) { - IPath defaultPath = Platform.getLocation(); - String pathString = defaultPath.toOSString(); - char endChar = pathString.charAt(pathString.length() - 1); - if (endChar == '/' || - endChar == '\\') - { - pathString = pathString.substring(0, pathString.length() - 1); - } - String[] tempLocalArray = new String[model.length]; - for (int i=0;i<model.length;i++){ - StringBuffer buffer = new StringBuffer(); - buffer.append(pathString); - buffer.append(model[i]); - tempLocalArray[i]=buffer.toString(); - } - return tempLocalArray; - } - - private void getTableRefs(IFile tempFile, PathCollector pathCollector) throws InterruptedException{ - - ICSearchScope scope = SearchEngine.createWorkspaceScope(); - CSearchPattern pattern = CSearchPattern.createPattern(tempFile.getLocation().toOSString(),ICSearchConstants.INCLUDE, ICSearchConstants.REFERENCES,ICSearchConstants.EXACT_MATCH,true); - IndexManager indexManager = CCorePlugin.getDefault().getCoreModel().getIndexManager(); - indexManager.performConcurrentJob( - new PatternSearchJob( - (CSearchPattern) pattern, - scope, - pathCollector, - indexManager - ), - ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, - null, null ); - } - - private void editCode(IFile tempFile, String beforeString, String afterString) throws IOException, CoreException, InterruptedException{ - FileReader fileReader = null; - try { - fileReader = new FileReader(tempFile.getLocation().toOSString()); - } catch (FileNotFoundException e) { - fail(e.getMessage()); - } - - BufferedReader buff = new BufferedReader(fileReader); - String tempString; - File tempUtilFile= new File(tempFile.getLocation().toOSString() + "TempFile"); - FileWriter writer = new FileWriter(tempUtilFile); - - try { - while ((tempString = buff.readLine())!= null ) { - if (tempString.equals(beforeString)){ - writer.write(afterString + "\n" ); - writer.flush(); - } - else{ - writer.write(tempString + "\n" ); - writer.flush(); - } - - } - } catch (IOException e1) { - fail(e1.getMessage()); - } - writer.close(); - buff.close(); - - FileInputStream buff2 = new FileInputStream(tempUtilFile); - tempFile.setContents(buff2,true,false,null); - tempFile.refreshLocal(IResource.DEPTH_INFINITE, null); - //buff2.close(); - - - } - - private void compareArrays(String[] first, String[] second){ - - if (first.length != second.length) - fail("Number of included files differs from model"); - - Arrays.sort(first); - Arrays.sort(second); - - for (int i=0;i<first.length; i++) - { - assertEquals(first[i],second[i]); - } - } - - protected void search(IWorkspace workspace, ICSearchPattern pattern, ICSearchScope scope, ICSearchResultCollector collector) { - try { - searchEngine.search( workspace, pattern, scope, collector, false ); - } catch (InterruptedException e) { - } - } - - /* - * Utils - */ - private IProject createProject(String projectName) throws CoreException - { - ICProject cproject = CProjectHelper.createCCProject(projectName, "bin"); - return cproject.getProject(); - - } - - private IFile importFile(String fileName, String resourceLocation)throws Exception{ - String testCaseName = this.getName(); - //Obtain file handle - file = testProject.getProject().getFile(fileName); - //Create file input stream - monitor = new NullProgressMonitor(); - if (!file.exists()) { - file.create(new FileInputStream( - CTestPlugin.getDefault().getFileInPlugin(new Path(resourceLocation))), - false, monitor); - } - fileDoc = new IFileDocument(file); - return file; - } -} |