From c1c856a38e517c809ee9787b9bcf9aa9b176cffd Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Wed, 5 May 2010 13:33:51 +0000 Subject: [PATCH] Fixes for occasional JUnit failures --- .../tests/IndexCPPTemplateResolutionTest.java | 15 ++++++++++++++- .../internal/index/tests/IndexLocationTest.java | 7 +++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPTemplateResolutionTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPTemplateResolutionTest.java index 726808116df..1185f2c58db 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPTemplateResolutionTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPTemplateResolutionTest.java @@ -21,13 +21,13 @@ import org.eclipse.cdt.core.dom.ast.ASTTypeUtil; import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IBasicType; +import org.eclipse.cdt.core.dom.ast.IBasicType.Kind; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IFunctionType; import org.eclipse.cdt.core.dom.ast.IParameter; import org.eclipse.cdt.core.dom.ast.IScope; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.ITypedef; -import org.eclipse.cdt.core.dom.ast.IBasicType.Kind; import org.eclipse.cdt.core.dom.ast.cpp.ICPPBase; import org.eclipse.cdt.core.dom.ast.cpp.ICPPBasicType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassScope; @@ -76,6 +76,19 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa public static class ProjectWithDepProj extends IndexCPPTemplateResolutionTest { public ProjectWithDepProj() {setStrategy(new ReferencedProject(true));} public static TestSuite suite() {return suite(ProjectWithDepProj.class);} + + // template class XT; + + // #include "header.h" + // template class XT {}; + // void test() { + // XT<> x; + // }; + @Override + public void testDefaultTemplateArgInHeader_264988() throws Exception { + // Not supported across projects (the composite index does not merge + // default values of template parameters). + } } public static void addTests(TestSuite suite) { diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexLocationTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexLocationTest.java index d1df8b5351d..5cb26d45b70 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexLocationTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexLocationTest.java @@ -186,17 +186,20 @@ public class IndexLocationTest extends BaseTestCase { IFolder content= cproject.getProject().getFolder("content"); content.createLink(new Path(location.getParentFile().getAbsolutePath()), IResource.NONE, null); + final IFile file = content.getFile("external2.h"); + assertTrue(file.exists()); ICProject cproject2= CProjectHelper.createCProject("LocationTests2"+System.currentTimeMillis(), "bin", IPDOMManager.ID_NO_INDEXER); deleteOnTearDown(cproject2); IFolder content2= cproject2.getProject().getFolder("content"); content2.createLink(new Path(location.getParentFile().getAbsolutePath()), IResource.NONE, null); + assertTrue(content2.getFile("external2.h").exists()); - waitForIndexer(cproject2); + IIndex index = CCorePlugin.getIndexManager().getIndex(cproject); + TestSourceReader.waitUntilFileIsIndexed(index, file, 10000); CCorePlugin.getIndexManager().reindex(cproject); waitForIndexer(cproject); - IIndex index = CCorePlugin.getIndexManager().getIndex(cproject); index.acquireReadLock(); try { IBinding[] bs= index.findBindings("External".toCharArray(), IndexFilter.ALL, NPM);