diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/index/provider/test/AbstractDummyProvider.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/index/provider/test/AbstractDummyProvider.java index 454c3a23d46..bd598b8266f 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/index/provider/test/AbstractDummyProvider.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/index/provider/test/AbstractDummyProvider.java @@ -24,11 +24,15 @@ public class AbstractDummyProvider implements IReadOnlyPDOMProvider { public AbstractDummyProvider() {} public IPDOMDescriptor[] getDescriptors(ICConfigurationDescription config) { + if (!DummyProviderTraces.getInstance().enabled) + return new IPDOMDescriptor[0]; DummyProviderTraces.getInstance().getCfgsTrace(getClass()).add(config); return new IPDOMDescriptor[0]; } public boolean providesFor(ICProject project) throws CoreException { + if (!DummyProviderTraces.getInstance().enabled) + return true; DummyProviderTraces.getInstance().getProjectsTrace(getClass()).add(project); return true; } diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/index/provider/test/DummyProviderTraces.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/index/provider/test/DummyProviderTraces.java index 89f17401ce0..74337ff3c30 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/index/provider/test/DummyProviderTraces.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/index/provider/test/DummyProviderTraces.java @@ -20,7 +20,10 @@ public class DummyProviderTraces { static DummyProviderTraces instance = new DummyProviderTraces(); public static DummyProviderTraces getInstance() { return instance; } - + + /** Flag indicates if test is enabled, so we should trace projects and configs */ + public volatile boolean enabled; + private DummyProviderTraces() {} Map/**/ id2prjTrace= new HashMap(); diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexProviderManagerTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexProviderManagerTest.java index 28a587a59bf..dbbfa413924 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexProviderManagerTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexProviderManagerTest.java @@ -94,8 +94,15 @@ public class IndexProviderManagerTest extends IndexTestBase { return suite(IndexProviderManagerTest.class); } + @Override + protected void setUp() throws Exception { + DPT.enabled = true; + super.setUp(); + } + @Override protected void tearDown() throws Exception { + DPT.enabled = false; IndexProviderManager ipm= ((PDOMManager)CCorePlugin.getIndexManager()).getIndexProviderManager(); ipm.reset(); ipm.startup(); }