Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogdan Gheorghe2005-01-31 11:36:28 -0500
committerBogdan Gheorghe2005-01-31 11:36:28 -0500
commita8e76780a975b56cae0d59b4aa20a827ff710d38 (patch)
tree06ebdfc842b1175fd6496d86369edf598703c5f8
parent9ce0f31118f942c03f46f4319a4684e3556bb942 (diff)
downloadorg.eclipse.cdt-a8e76780a975b56cae0d59b4aa20a827ff710d38.tar.gz
org.eclipse.cdt-a8e76780a975b56cae0d59b4aa20a827ff710d38.tar.xz
org.eclipse.cdt-a8e76780a975b56cae0d59b4aa20a827ff710d38.zip
Patch from Dave Daoust to streamline Index Manager Tests
-rw-r--r--core/org.eclipse.cdt.core.tests/ChangeLog3
-rw-r--r--core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java76
2 files changed, 31 insertions, 48 deletions
diff --git a/core/org.eclipse.cdt.core.tests/ChangeLog b/core/org.eclipse.cdt.core.tests/ChangeLog
index 8941603af6..df779f0054 100644
--- a/core/org.eclipse.cdt.core.tests/ChangeLog
+++ b/core/org.eclipse.cdt.core.tests/ChangeLog
@@ -1,3 +1,6 @@
+2005-01-31 Bogdan Gheorghe
+ Patch from Dave Daoust to streamline Index Manager Tests
+
2004-12-7 Tanya Wolff
incorporated comments from search regression test review
diff --git a/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java b/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java
index be6201fbe1..9b8b890572 100644
--- a/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java
+++ b/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java
@@ -64,8 +64,22 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
super(name);
}
+ public void resetIndexState() {
+ fileIndexed = false;
+ }
+
+ public void waitForIndex(int maxSec) throws Exception {
+ int delay = 0;
+ while (fileIndexed != true && delay < (maxSec * 1000))
+ {
+ Thread.sleep(TIMEOUT);
+ delay += TIMEOUT;
+ }
+ }
+
public static void main(String[] args) {
}
+
/*
* @see TestCase#setUp()
*/
@@ -152,6 +166,7 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
}
private IFile importFile(String fileName, String resourceLocation)throws Exception {
+ resetIndexState();
//Obtain file handle
file = testProject.getProject().getFile(fileName);
//Create file input stream
@@ -162,6 +177,7 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
false, monitor);
}
fileDoc = new IFileDocument(file);
+ waitForIndex(20); // only wait 20 seconds max.
return file;
}
@@ -171,9 +187,8 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
public void testIndexAll() throws Exception {
//Add a file to the project
- fileIndexed = false;
+
importFile("mail.cpp","resources/indexer/mail.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
IIndex ind = indexManager.getIndex(testProject.getFullPath(),true,true);
assertTrue("Index exists for project",ind != null);
@@ -210,22 +225,17 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
//Add a file to the project
- fileIndexed = false;
importFile("mail.cpp","resources/indexer/mail.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
//Make sure project got added to index
IPath testProjectPath = testProject.getFullPath();
IIndex ind = indexManager.getIndex(testProjectPath,true,true);
assertTrue("Index exists for project",ind != null);
//Add a new file to the project, give it some time to index
- fileIndexed = false;
+
importFile("DocumentManager.h","resources/indexer/DocumentManager.h");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
- fileIndexed = false;
importFile("DocumentManager.cpp","resources/indexer/DocumentManager.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
ind = indexManager.getIndex(testProjectPath,true,true);
@@ -248,10 +258,8 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
//Add a file to the project
- fileIndexed = false;
importFile("mail.cpp","resources/indexer/mail.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
-
+
//Make sure project got added to index
IPath testProjectPath = testProject.getFullPath();
IIndex ind = indexManager.getIndex(testProjectPath,true,true);
@@ -282,22 +290,14 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
public void testRemoveFileFromIndex() throws Exception{
//Add a file to the project
- fileIndexed = false;
importFile("mail.cpp","resources/indexer/mail.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
//Make sure project got added to index
IPath testProjectPath = testProject.getFullPath();
IIndex ind = indexManager.getIndex(testProjectPath,true,true);
assertTrue("Index exists for project",ind != null);
- //Add a new file to the project, give it some time to index
- fileIndexed = false;
importFile("DocumentManager.h","resources/indexer/DocumentManager.h");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
-
- fileIndexed = false;
importFile("DocumentManager.cpp","resources/indexer/DocumentManager.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
ind = indexManager.getIndex(testProjectPath,true,true);
@@ -320,8 +320,10 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
// Cleaning up file handles before delete
System.gc();
System.runFinalization();
+ resetIndexState();
resourceHdl.delete(true,monitor);
- Thread.sleep(10000);
+ waitForIndex(10); // wait up to 10 seconds for the index to be deleted.
+
//See if the index is still there
ind = indexManager.getIndex(testProjectPath,true,true);
eresults = ind.queryEntries(prefix);
@@ -339,10 +341,8 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
public void testIndexContents() throws Exception{
- //Add a new file to the project, give it some time to index
- fileIndexed = false;
+ //Add a new file to the project
importFile("extramail.cpp","resources/indexer/extramail.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
//Make sure project got added to index
IPath testProjectPath = testProject.getFullPath();
@@ -454,10 +454,8 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
}
public void testRefs() throws Exception{
- //Add a new file to the project, give it some time to index
- fileIndexed = false;
+ //Add a new file to the project
importFile("reftest.cpp","resources/indexer/reftest.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
//Make sure project got added to index
IPath testProjectPath = testProject.getFullPath();
@@ -527,24 +525,15 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
public void testExactDeclarations() throws Exception
{
-
- fileIndexed = false;
importFile("a.h","resources/dependency/a.h");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
//Make sure project got added to index
IPath testProjectPath = testProject.getFullPath();
IIndex ind = indexManager.getIndex(testProjectPath,true,true);
assertTrue("Index exists for project",ind != null);
-
- fileIndexed = false;
+
importFile("DepTest3.h","resources/dependency/DepTest3.h");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
-
- fileIndexed = false;
importFile("DepTest3.cpp","resources/dependency/DepTest3.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
-
IEntryResult[] eResult = ind.queryEntries(IIndexConstants.CLASS_DECL);
IQueryResult[] qResult = ind.queryPrefix(IIndexConstants.CLASS_DECL);
@@ -579,12 +568,9 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
public void testMD5() throws Exception
{
- fileIndexed = false;
importFile("extramail.cpp","resources/indexer/extramail.cpp");
//importFile("mail.cpp","resources/indexer/mail.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
-
MessageDigest md = MessageDigest.getInstance("MD5");
//MessageDigest md = MessageDigest.getInstance("SHA");
String fileName = testProject.getFile("extramail.cpp").getLocation().toOSString();
@@ -609,10 +595,8 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
public void testMacros() throws Exception
{
- //Add a new file to the project, give it some time to index
- fileIndexed = false;
+ //Add a new file to the project
importFile("extramail.cpp","resources/indexer/extramail.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
//Make sure project got added to index
IPath testProjectPath = testProject.getFullPath();
@@ -634,10 +618,8 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
}
public void testIndexShutdown() throws Exception{
- //Add a new file to the project, give it some time to index
- fileIndexed = false;
+ //Add a new file to the project
importFile("reftest.cpp","resources/indexer/reftest.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
//Make sure project got added to index
IPath testProjectPath = testProject.getFullPath();
@@ -671,10 +653,8 @@ public class IndexManagerTests extends TestCase implements IIndexChangeListener
}
public void testForwardDeclarations() throws Exception{
- //Add a new file to the project, give it some time to index
- fileIndexed = false;
+ //Add a new file to the project
importFile("reftest.cpp","resources/indexer/reftest.cpp");
- while (fileIndexed != true){ Thread.sleep(TIMEOUT);}
//Make sure project got added to index
IPath testProjectPath = testProject.getFullPath();

Back to the top