[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
This patch addresses a NPE that pops
up on linux while running the indexer portion of tests of the core suite.
- Bogdan
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/ChangeLog,v
retrieving revision 1.93
diff -u -r1.93 ChangeLog
--- ChangeLog 12 Sep 2003 19:11:22 -0000 1.93
+++ ChangeLog 15 Sep 2003 14:17:43 -0000
@@ -1,3 +1,6 @@
+2003-09-15 Bogdan Gheorghe
+ Added asserts to all index lookups in IndexManagerTests
+
2003-09-12 John Camelon
Created QuickParseASTTests::testBug42985().
Moved LokiFailures::testBug40419() to QuickParseASTTests.
Index: indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java,v
retrieving revision 1.15
diff -u -r1.15 IndexManagerTests.java
--- indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java 9 Sep 2003 20:13:37 -0000 1.15
+++ indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java 15 Sep 2003 14:17:43 -0000
@@ -189,9 +189,15 @@
indexManager.setEnabled(testProject,true);
Thread.sleep(1500);
IIndex ind = indexManager.getIndex(testProject.getFullPath(),true,true);
+ assertTrue("Index exists for project",ind != null);
+
char[] prefix = "typeDecl/".toCharArray();
IQueryResult[] qresults = ind.queryPrefix(prefix);
IEntryResult[] eresults = ind.queryEntries(prefix);
+
+ assertTrue("Query Results exist", qresults != null);
+ assertTrue("Entry Results exist", eresults != null);
+
String [] queryResultModel = {"IndexedFile(1: /IndexerTestProject/mail.cpp)"};
String [] entryResultModel ={"EntryResult: word=typeDecl/C/Mail, refs={ 1 }", "EntryResult: word=typeDecl/C/Unknown, refs={ 1 }", "EntryResult: word=typeDecl/C/container, refs={ 1 }", "EntryResult: word=typeDecl/C/first_class, refs={ 1 }", "EntryResult: word=typeDecl/C/postcard, refs={ 1 }"};
@@ -229,10 +235,13 @@
importFile("DocumentManager.cpp","resources/indexer/DocumentManager.cpp");
Thread.sleep(10000);
ind = indexManager.getIndex(testProjectPath,true,true);
+
char[] prefix = "typeDecl/C/CDocumentManager".toCharArray();
String [] entryResultModel ={"EntryResult: word=typeDecl/C/CDocumentManager, refs={ 1 }"};
IEntryResult[] eresults =ind.queryEntries(prefix);
+ assertTrue("Entry Result exists", eresults != null);
+
if (eresults.length != entryResultModel.length)
fail("Entry Result length different from model");
@@ -294,6 +303,8 @@
ind = indexManager.getIndex(testProjectPath,true,true);
char[] prefix = "typeDecl/".toCharArray();
IEntryResult[] eresults = ind.queryEntries(prefix);
+ assertTrue("Entry result found for typdeDecl/", eresults != null);
+
String [] entryResultBeforeModel ={"EntryResult: word=typeDecl/C/CDocumentManager, refs={ 1 }", "EntryResult: word=typeDecl/C/Mail, refs={ 2 }", "EntryResult: word=typeDecl/C/Unknown, refs={ 2 }", "EntryResult: word=typeDecl/C/container, refs={ 2 }", "EntryResult: word=typeDecl/C/first_class, refs={ 2 }", "EntryResult: word=typeDecl/C/postcard, refs={ 2 }"};
if (eresults.length != entryResultBeforeModel.length)
fail("Entry Result length different from model");
@@ -309,6 +320,8 @@
//See if the index is still there
ind = indexManager.getIndex(testProjectPath,true,true);
eresults = ind.queryEntries(prefix);
+ assertTrue("Entry exists", eresults != null);
+
String [] entryResultAfterModel ={"EntryResult: word=typeDecl/C/CDocumentManager, refs={ 1 }"};
if (eresults.length != entryResultAfterModel.length)
fail("Entry Result length different from model");
@@ -333,10 +346,12 @@
assertTrue("Index exists for project",ind != null);
IEntryResult[] typerefreesults = ind.queryEntries(IIndexConstants.TYPE_REF);
+ assertTrue("Type Ref Results exist", typerefreesults != null);
String [] typeDeclEntryResultModel ={"EntryResult: word=typeDecl/C/Mail/Y/X/Z, refs={ 1 }","EntryResult: word=typeDecl/C/Unknown/Y/X/Z, refs={ 1 }","EntryResult: word=typeDecl/C/container/Y/X/Z, refs={ 1 }","EntryResult: word=typeDecl/C/first_class/Y/X/Z, refs={ 1 }","EntryResult: word=typeDecl/C/postcard/Y/X/Z, refs={ 1 }","EntryResult: word=typeDecl/E/test/Y/X/Z, refs={ 1 }","EntryResult: word=typeDecl/V/x/Z, refs={ 1 }"};
IEntryResult[] typedeclresults =ind.queryEntries(IIndexConstants.TYPE_DECL);
-
+ assertTrue("Type Decl Results exist", typedeclresults != null);
+
if (typedeclresults.length != typeDeclEntryResultModel.length)
fail("Entry Result length different from model for typeDecl");
@@ -347,6 +362,7 @@
String [] typeDefEntryResultModel ={"EntryResult: word=typedefDecl/int32, refs={ 1 }"};
IEntryResult[] typedefresults =ind.queryEntries(IIndexConstants.TYPEDEF_DECL);
+ assertTrue("Type Def Results exist", typedefresults != null);
if (typedefresults.length != typeDefEntryResultModel.length)
fail("Entry Result length different from model for typeDef");
@@ -358,6 +374,7 @@
String [] namespaceResultModel = {"EntryResult: word=namespaceDecl/X/Z, refs={ 1 }", "EntryResult: word=namespaceDecl/Y/X/Z, refs={ 1 }", "EntryResult: word=namespaceDecl/Z, refs={ 1 }"};
IEntryResult[] namespaceresults =ind.queryEntries(IIndexConstants.NAMESPACE_DECL);
+ assertTrue("Namespace Results exist", namespaceresults != null);
if (namespaceresults.length != namespaceResultModel.length)
fail("Entry Result length different from model for namespace");
@@ -369,7 +386,8 @@
String [] fieldResultModel = {"EntryResult: word=fieldDecl/array/container/Y/X/Z, refs={ 1 }", "EntryResult: word=fieldDecl/bye/test/Y/X/Z, refs={ 1 }", "EntryResult: word=fieldDecl/cool/test/Y/X/Z, refs={ 1 }", "EntryResult: word=fieldDecl/hi/test/Y/X/Z, refs={ 1 }", "EntryResult: word=fieldDecl/index/container/Y/X/Z, refs={ 1 }", "EntryResult: word=fieldDecl/postage/Mail/Y/X/Z, refs={ 1 }", "EntryResult: word=fieldDecl/sz/container/Y/X/Z, refs={ 1 }", "EntryResult: word=fieldDecl/type/Mail/Y/X/Z, refs={ 1 }", "EntryResult: word=fieldDecl/why/test/Y/X/Z, refs={ 1 }"};
IEntryResult[] fieldresults =ind.queryEntries(IIndexConstants.FIELD_DECL);
-
+ assertTrue("Field Results exist", fieldresults != null);
+
if (fieldresults.length != fieldResultModel.length)
fail("Entry Result length different from model for fieldDecl");
@@ -391,6 +409,7 @@
String [] methodResultModel = {"EntryResult: word=methodDecl/operator<</Mail/Y/X/Z, refs={ 1 }","EntryResult: word=methodDecl/operator=/container/Y/X/Z, refs={ 1 }","EntryResult: word=methodDecl/operator[]/container/Y/X/Z, refs={ 1 }","EntryResult: word=methodDecl/print/Mail/Y/X/Z, refs={ 1 }"};
IEntryResult[] methodresults =ind.queryEntries(IIndexConstants.METHOD_DECL);
+ assertTrue("Entry exists", methodresults != null);
if (methodresults.length != methodResultModel.length)
fail("Entry Result length different from model for functionDecl");
@@ -416,7 +435,8 @@
String [] typeRefEntryResultModel ={"EntryResult: word=typeRef/C/C/B/A, refs={ 1 }", "EntryResult: word=typeRef/C/ForwardA/A, refs={ 1 }", "EntryResult: word=typeRef/E/e1/B/A, refs={ 1 }", "EntryResult: word=typeRef/V/x/B/A, refs={ 1 }"};
IEntryResult[] typerefresults = ind.queryEntries(IIndexConstants.TYPE_REF);
-
+ assertTrue("Entry exists",typerefresults != null);
+
if (typerefresults.length != typeRefEntryResultModel.length)
fail("Entry Result length different from model for typeRef");
@@ -427,7 +447,8 @@
String [] funRefEntryResultModel ={"EntryResult: word=functionRef/something/A, refs={ 1 }"};
IEntryResult[] funRefresults = ind.queryEntries(IIndexConstants.FUNCTION_REF);
-
+ assertTrue("Entry exists",funRefresults != null);
+
if (funRefresults.length != funRefEntryResultModel.length)
fail("Entry Result length different from model for funcRef");
@@ -438,7 +459,8 @@
String [] namespaceRefResultModel = {"EntryResult: word=namespaceRef/A, refs={ 1 }", "EntryResult: word=namespaceRef/B/A, refs={ 1 }"};
IEntryResult[] namespacerefresults = ind.queryEntries(IIndexConstants.NAMESPACE_REF);
-
+ assertTrue("Entry exists",namespacerefresults!=null);
+
if (namespacerefresults.length != namespaceRefResultModel.length)
fail("Entry Result length different from model for namespaceRef");
@@ -449,7 +471,8 @@
String [] fieldRefResultModel = {"EntryResult: word=fieldRef/y/C/B/A, refs={ 1 }"};
IEntryResult[] fieldrefresults = ind.queryEntries(IIndexConstants.FIELD_REF);
-
+ assertTrue("Entry exists",fieldrefresults!=null);
+
if (fieldrefresults.length != fieldRefResultModel.length)
fail("Entry Result length different from model for fieldRef");
@@ -460,7 +483,8 @@
String [] methodRefResultModel = {"EntryResult: word=methodRef/bar/C/B/A, refs={ 1 }"};
IEntryResult[] methodrefresults = ind.queryEntries(IIndexConstants.METHOD_REF);
-
+ assertTrue("Entry exists", methodrefresults != null);
+
if (methodrefresults.length != methodRefResultModel.length)
fail("Entry Result length different from model for methodRef");
@@ -485,6 +509,7 @@
assertTrue("Index exists for project",ind != null);
IEntryResult[] macroresults = ind.queryEntries(IIndexConstants.MACRO_DECL);
+ assertTrue("Entry exists", macroresults != null);
String [] macroResultModel = {"EntryResult: word=macroDecl/CASE, refs={ 1 }", "EntryResult: word=macroDecl/MAX, refs={ 1 }", "EntryResult: word=macroDecl/PRINT, refs={ 1 }"};
@@ -550,7 +575,8 @@
assertTrue("Index exists for project",ind != null);
IEntryResult[] fwdDclResults = ind.queryEntries("typeDecl/C/ForwardA/A".toCharArray());
-
+ assertTrue("Entry exists",fwdDclResults != null);
+
String [] fwdDclModel = {"EntryResult: word=typeDecl/C/ForwardA/A, refs={ 1 }"};
if (fwdDclResults.length != fwdDclModel.length)
@@ -562,7 +588,8 @@
}
IEntryResult[] fwdDclRefResults = ind.queryEntries("typeRef/C/ForwardA/A".toCharArray());
-
+ assertTrue("Entry exists", fwdDclRefResults!= null);
+
String [] fwdDclRefModel = {"EntryResult: word=typeRef/C/ForwardA/A, refs={ 1 }"};
if (fwdDclRefResults.length != fwdDclRefModel.length)