1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Fix for Search Test suite (to take into account new Search Engine)

Fix for reference tests in Search Test suite
This commit is contained in:
Bogdan Gheorghe 2005-04-22 15:12:07 +00:00
parent 9ddf68d139
commit 365b5f320c
3 changed files with 60 additions and 17 deletions

View file

@ -510,10 +510,10 @@ public class SourceIndexerTests extends TestCase implements IIndexChangeListener
IIndex ind = sourceIndexer.getIndex(testProjectPath,true,true); IIndex ind = sourceIndexer.getIndex(testProjectPath,true,true);
assertTrue("Index exists for project",ind != null); //$NON-NLS-1$ assertTrue("Index exists for project",ind != null); //$NON-NLS-1$
String [] typeRefEntryResultModel ={"EntryResult: word=typeRef/C/C/B/A, refs={ 1 }, offsets={ [ 2142] }", String [] typeRefEntryResultModel ={"EntryResult: word=typeRef/C/C/B/A, refs={ 1 }, offsets={ [ 2263, 2279, 2298] }",
"EntryResult: word=typeRef/E/e1/B/A, refs={ 1 }, offsets={ [ 2104] }", "EntryResult: word=typeRef/E/e1/B/A, refs={ 1 }, offsets={ [ 2340] }",
"EntryResult: word=typeRef/G/ForwardA/A, refs={ 1 }, offsets={ [ 225] }", "EntryResult: word=typeRef/G/ForwardA/A, refs={ 1 }, offsets={ [ 237] }",
"EntryResult: word=typeRef/V/x/B/A, refs={ 1 }, offsets={ [ 2128] }"}; "EntryResult: word=typeRef/V/x/B/A, refs={ 1 }, offsets={ [ 2247] }"};
IEntryResult[] typerefresults = ind.queryEntries(IndexerOutput.TYPE_REF); IEntryResult[] typerefresults = ind.queryEntries(IndexerOutput.TYPE_REF);
assertTrue("Entry exists",typerefresults != null); //$NON-NLS-1$ assertTrue("Entry exists",typerefresults != null); //$NON-NLS-1$
@ -526,7 +526,7 @@ public class SourceIndexerTests extends TestCase implements IIndexChangeListener
assertEquals(typeRefEntryResultModel[i],typerefresults[i].toString()); assertEquals(typeRefEntryResultModel[i],typerefresults[i].toString());
} }
String [] funRefEntryResultModel ={"EntryResult: word=functionRef/something/A, refs={ 1 }, offsets={ [ 259] }"};//$NON-NLS-1$ String [] funRefEntryResultModel ={"EntryResult: word=functionRef/something/A, refs={ 1 }, offsets={ [ 2316] }"};//$NON-NLS-1$
IEntryResult[] funRefresults = ind.queryEntries(IndexerOutput.FUNCTION_REF); IEntryResult[] funRefresults = ind.queryEntries(IndexerOutput.FUNCTION_REF);
assertTrue("Entry exists",funRefresults != null); //$NON-NLS-1$ assertTrue("Entry exists",funRefresults != null); //$NON-NLS-1$
@ -538,7 +538,7 @@ public class SourceIndexerTests extends TestCase implements IIndexChangeListener
assertEquals(funRefEntryResultModel[i],funRefresults[i].toString()); assertEquals(funRefEntryResultModel[i],funRefresults[i].toString());
} }
String [] namespaceRefResultModel = {"EntryResult: word=namespaceRef/A, refs={ 1 }, offsets={ [ 210] }", "EntryResult: word=namespaceRef/B/A, refs={ 1 }, offsets={ [ 288] }"}; //$NON-NLS-1$ //$NON-NLS-2$ String [] namespaceRefResultModel = {"EntryResult: word=namespaceRef/A, refs={ 1 }, offsets={ [ 2228, 2241, 2257, 2273, 2292, 2313, 2334] }", "EntryResult: word=namespaceRef/B/A, refs={ 1 }, offsets={ [ 2231, 2244, 2260, 2276, 2295, 2337] }"}; //$NON-NLS-1$ //$NON-NLS-2$
IEntryResult[] namespacerefresults = ind.queryEntries(IndexerOutput.NAMESPACE_REF); IEntryResult[] namespacerefresults = ind.queryEntries(IndexerOutput.NAMESPACE_REF);
assertTrue("Entry exists",namespacerefresults!=null); //$NON-NLS-1$ assertTrue("Entry exists",namespacerefresults!=null); //$NON-NLS-1$
@ -550,7 +550,7 @@ public class SourceIndexerTests extends TestCase implements IIndexChangeListener
assertEquals(namespaceRefResultModel[i],namespacerefresults[i].toString()); assertEquals(namespaceRefResultModel[i],namespacerefresults[i].toString());
} }
String [] fieldRefResultModel = {"EntryResult: word=fieldRef/y/C/B/A, refs={ 1 }, offsets={ [ 2161] }"}; //$NON-NLS-1$ String [] fieldRefResultModel = {"EntryResult: word=fieldRef/y/C/B/A, refs={ 1 }, offsets={ [ 2282] }"}; //$NON-NLS-1$
IEntryResult[] fieldrefresults = ind.queryEntries(IndexerOutput.FIELD_REF); IEntryResult[] fieldrefresults = ind.queryEntries(IndexerOutput.FIELD_REF);
assertTrue("Entry exists",fieldrefresults!=null); //$NON-NLS-1$ assertTrue("Entry exists",fieldrefresults!=null); //$NON-NLS-1$
@ -562,7 +562,7 @@ public class SourceIndexerTests extends TestCase implements IIndexChangeListener
assertEquals(fieldRefResultModel[i],fieldrefresults[i].toString()); assertEquals(fieldRefResultModel[i],fieldrefresults[i].toString());
} }
String [] methodRefResultModel = {"EntryResult: word=methodRef/bar/C/B/A, refs={ 1 }, offsets={ [ 2184] }"}; //$NON-NLS-1$ String [] methodRefResultModel = {"EntryResult: word=methodRef/bar/C/B/A, refs={ 1 }, offsets={ [ 2301] }"}; //$NON-NLS-1$
IEntryResult[] methodrefresults = ind.queryEntries(IndexerOutput.METHOD_REF); IEntryResult[] methodrefresults = ind.queryEntries(IndexerOutput.METHOD_REF);
assertTrue("Entry exists", methodrefresults != null); //$NON-NLS-1$ assertTrue("Entry exists", methodrefresults != null); //$NON-NLS-1$
@ -731,7 +731,7 @@ public class SourceIndexerTests extends TestCase implements IIndexChangeListener
IEntryResult[] fwdDclRefResults = ind.queryEntries("typeRef/G/ForwardA/A".toCharArray()); //$NON-NLS-1$ IEntryResult[] fwdDclRefResults = ind.queryEntries("typeRef/G/ForwardA/A".toCharArray()); //$NON-NLS-1$
assertTrue("Entry exists", fwdDclRefResults!= null); //$NON-NLS-1$ assertTrue("Entry exists", fwdDclRefResults!= null); //$NON-NLS-1$
String [] fwdDclRefModel = {"EntryResult: word=typeRef/G/ForwardA/A, refs={ 1 }, offsets={ [ 225] }"}; //$NON-NLS-1$ String [] fwdDclRefModel = {"EntryResult: word=typeRef/G/ForwardA/A, refs={ 1 }, offsets={ [ 237] }"}; //$NON-NLS-1$
if (fwdDclRefResults.length != fwdDclRefModel.length) if (fwdDclRefResults.length != fwdDclRefModel.length)
fail("Entry Result length different from model for forward declarations refs"); //$NON-NLS-1$ fail("Entry Result length different from model for forward declarations refs"); //$NON-NLS-1$

View file

@ -33,11 +33,13 @@ import org.eclipse.cdt.core.search.ICSearchPattern;
import org.eclipse.cdt.core.search.ICSearchScope; import org.eclipse.cdt.core.search.ICSearchScope;
import org.eclipse.cdt.core.search.IMatch; import org.eclipse.cdt.core.search.IMatch;
import org.eclipse.cdt.core.search.SearchEngine; import org.eclipse.cdt.core.search.SearchEngine;
import org.eclipse.cdt.core.testplugin.CProjectHelper;
import org.eclipse.cdt.internal.core.browser.cache.TypeCacheManager; import org.eclipse.cdt.internal.core.browser.cache.TypeCacheManager;
import org.eclipse.cdt.internal.core.index.sourceindexer.SourceIndexer; import org.eclipse.cdt.internal.core.index.sourceindexer.SourceIndexer;
import org.eclipse.cdt.internal.core.search.indexing.IndexManager; import org.eclipse.cdt.internal.core.search.indexing.IndexManager;
import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Path;
/** /**
@ -68,6 +70,10 @@ public class SearchRegressionTests extends BaseTestFramework implements ICSearch
protected void setUp() throws Exception { protected void setUp() throws Exception {
super.setUp(); super.setUp();
try{ try{
if (project == null){
cproject = CProjectHelper.createCCProject("RegressionTestProject", "bin"); //$NON-NLS-1$ //$NON-NLS-2$
project = cproject.getProject();
}
project.setSessionProperty(IndexManager.indexerIDKey, sourceIndexerID); project.setSessionProperty(IndexManager.indexerIDKey, sourceIndexerID);
project.setSessionProperty( SourceIndexer.activationKey, new Boolean( true ) ); project.setSessionProperty( SourceIndexer.activationKey, new Boolean( true ) );
} catch ( CoreException e ) { //boo } catch ( CoreException e ) { //boo
@ -90,6 +96,8 @@ public class SearchRegressionTests extends BaseTestFramework implements ICSearch
sourceIndexer.removeIndexChangeListener( this ); sourceIndexer.removeIndexChangeListener( this );
try{ try{
project.setSessionProperty( SourceIndexer.activationKey, new Boolean( false ) ); project.setSessionProperty( SourceIndexer.activationKey, new Boolean( false ) );
project.delete(true,true,new NullProgressMonitor());
project = null;
} catch ( CoreException e ) { //boo } catch ( CoreException e ) { //boo
} }
super.tearDown(); super.tearDown();
@ -157,11 +165,11 @@ public class SearchRegressionTests extends BaseTestFramework implements ICSearch
suite.addTest( new SearchRegressionTests("testClassStructReference") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testClassStructReference") ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testNamespaceDeclaration") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testNamespaceDeclaration") ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testNamespaceDefinition") ); //$NON-NLS-1$ suite.addTest( new FailingTest( new SearchRegressionTests("testNamespaceDefinition"),92296)); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testNamespaceReference") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testNamespaceReference") ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testMethodDeclaration") ); //$NON-NLS-1$ suite.addTest( new FailingTest( new SearchRegressionTests("testMethodDeclaration"), 92299) ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testMethodDefinition") ); //$NON-NLS-1$ suite.addTest( new FailingTest( new SearchRegressionTests("testMethodDefinition"), 92296)); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testMethodReference") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testMethodReference") ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testMethodReferenceOperator") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testMethodReferenceOperator") ); //$NON-NLS-1$
suite.addTest( new FailingTest( new SearchRegressionTests("testMethodReferenceImplicitOperator"), 80117 ) ); //defect80117 //$NON-NLS-1$ suite.addTest( new FailingTest( new SearchRegressionTests("testMethodReferenceImplicitOperator"), 80117 ) ); //defect80117 //$NON-NLS-1$
@ -177,23 +185,23 @@ public class SearchRegressionTests extends BaseTestFramework implements ICSearch
suite.addTest( new SearchRegressionTests("testDestructorReference") ); //defect79792 //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testDestructorReference") ); //defect79792 //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testFunctionDeclaration") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testFunctionDeclaration") ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testFunctionDefinition") ); //$NON-NLS-1$ suite.addTest( new FailingTest(new SearchRegressionTests("testFunctionDefinition"), 92296) ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testFunctionReference") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testFunctionReference") ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testFieldDeclaration") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testFieldDeclaration") ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testBitFieldDeclaration") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testBitFieldDeclaration") ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testFieldDefinition") ); //$NON-NLS-1$ suite.addTest( new FailingTest(new SearchRegressionTests("testFieldDefinition"),92296 )); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testFieldReference") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testFieldReference") ); //$NON-NLS-1$
suite.addTest( new FailingTest( new SearchRegressionTests("testNestedFieldReference"), 76203 ) ); //defect76203//$NON-NLS-1$ suite.addTest( new FailingTest( new SearchRegressionTests("testNestedFieldReference"), 76203 ) ); //defect76203//$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testVarDeclaration") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testVarDeclaration") ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testVarDefinition") ); //$NON-NLS-1$ suite.addTest( new FailingTest(new SearchRegressionTests("testVarDefinition"), 92296) ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testVarReference") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testVarReference") ); //$NON-NLS-1$
suite.addTest( new FailingTest( new SearchRegressionTests("testVarDeclarationArgument"), 75901 ) ); //defect75901 //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testVarDeclarationArgument")); //defect75901 //$NON-NLS-1$
//var in initializer list of constructor not found //var in initializer list of constructor not found
suite.addTest( new FailingTest( new SearchRegressionTests("testVarReferenceInitializer"), 72735 ) ); //defect72735 //$NON-NLS-1$ suite.addTest( new FailingTest( new SearchRegressionTests("testVarReferenceInitializer"), 72735 ) ); //defect72735 //$NON-NLS-1$
//definition of a var in an argument list is not found //definition of a var in an argument list is not found
suite.addTest( new FailingTest( new SearchRegressionTests("testVarDefinitionArgument"), 75901 ) ); //defect75901 //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testVarDefinitionArgument") ); //defect75901 //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testUnionDeclaration") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testUnionDeclaration") ); //$NON-NLS-1$
suite.addTest( new SearchRegressionTests("testUnionReference") ); //$NON-NLS-1$ suite.addTest( new SearchRegressionTests("testUnionReference") ); //$NON-NLS-1$

View file

@ -20,6 +20,7 @@ import java.io.Writer;
import junit.framework.Test; import junit.framework.Test;
import junit.framework.TestSuite; import junit.framework.TestSuite;
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.parser.CodeReader; import org.eclipse.cdt.core.parser.CodeReader;
import org.eclipse.cdt.core.parser.IParser; import org.eclipse.cdt.core.parser.IParser;
import org.eclipse.cdt.core.parser.NullLogService; import org.eclipse.cdt.core.parser.NullLogService;
@ -31,7 +32,13 @@ import org.eclipse.cdt.core.parser.IParser.ISelectionParseResult;
import org.eclipse.cdt.core.parser.ast.IASTNode; import org.eclipse.cdt.core.parser.ast.IASTNode;
import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement; import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
import org.eclipse.cdt.core.parser.tests.CompleteParseBaseTest.FullParseCallback; import org.eclipse.cdt.core.parser.tests.CompleteParseBaseTest.FullParseCallback;
import org.eclipse.cdt.core.testplugin.CProjectHelper;
import org.eclipse.cdt.internal.core.browser.cache.TypeCacheManager;
import org.eclipse.cdt.internal.core.index.sourceindexer.SourceIndexer;
import org.eclipse.cdt.internal.core.search.indexing.IndexManager;
import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
/** /**
* @author aniefer * @author aniefer
@ -89,6 +96,34 @@ public class SelectionRegressionTest extends BaseTestFramework {
return suite; return suite;
} }
protected void setUp() throws Exception {
super.setUp();
try{
if (project == null){
cproject = CProjectHelper.createCCProject("RegressionTestProject", "bin"); //$NON-NLS-1$ //$NON-NLS-2$
project = cproject.getProject();
}
project.setSessionProperty(IndexManager.indexerIDKey, sourceIndexerID);
project.setSessionProperty( SourceIndexer.activationKey, new Boolean( true ) );
} catch ( CoreException e ) { //boo
}
TypeCacheManager typeCacheManager = TypeCacheManager.getInstance();
typeCacheManager.setProcessTypeCacheEvents(false);
}
protected void tearDown() throws Exception {
if( project == null || !project.exists() )
return;
try{
project.setSessionProperty( SourceIndexer.activationKey, new Boolean( false ) );
project.delete(true,true,new NullProgressMonitor());
project = null;
} catch ( CoreException e ) { //boo
}
super.tearDown();
}
protected IASTNode getSelection(IFile code, int startOffset, int endOffset) throws Exception { protected IASTNode getSelection(IFile code, int startOffset, int endOffset) throws Exception {
return getSelection( code, startOffset, endOffset, ParserLanguage.CPP ); return getSelection( code, startOffset, endOffset, ParserLanguage.CPP );
} }