summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager_test.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@digia.com>2013-07-18 10:57:19 +0200
committerNikolai Kosjar <nikolai.kosjar@digia.com>2013-08-08 12:12:08 +0200
commit7583039b87c2908d40017ba1c245fed0b471c0f9 (patch)
tree841318daad7e0ee6263a67140e27b2d97f600bec /src/plugins/cpptools/cppmodelmanager_test.cpp
parent4bc61ecac4701a0e4f4fa5c7e48986dcd687c11a (diff)
downloadqt-creator-7583039b87c2908d40017ba1c245fed0b471c0f9.tar.gz
CppTools: Do not call GC() more than necessary
Currently GC() is invoked if - 5 CppEditors were closed or the last CppEditor was closed - a project is about to be removed - a session is about to be unloaded Thus, for the following use cases, too much GC() calls (can) happen: - File > Close All - Close All Projects and Editors - Changing the session Fixed by introducing a timer. Change-Id: I9c984d9de735fc8c6ee77a518e9fb5b63dba5881 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager_test.cpp')
-rw-r--r--src/plugins/cpptools/cppmodelmanager_test.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager_test.cpp b/src/plugins/cpptools/cppmodelmanager_test.cpp
index 669c086d52..7e649a9c01 100644
--- a/src/plugins/cpptools/cppmodelmanager_test.cpp
+++ b/src/plugins/cpptools/cppmodelmanager_test.cpp
@@ -472,6 +472,8 @@ void CppToolsPlugin::test_modelmanager_snapshot_after_two_projects()
/// though it might not be actually generated in the build dir.
void CppToolsPlugin::test_modelmanager_extraeditorsupport_uiFiles()
{
+ ModelManagerTestHelper helper;
+
TestDataDirectory testDataDirectory(QLatin1String("testdata_guiproject1"));
const QString projectFile = testDataDirectory.file(QLatin1String("testdata_guiproject1.pro"));
@@ -515,13 +517,15 @@ void CppToolsPlugin::test_modelmanager_extraeditorsupport_uiFiles()
// Close Project
ProjectExplorer::SessionManager *sm = pe->session();
sm->removeProject(project);
- ModelManagerTestHelper::verifyClean();
+ helper.waitForFinishedGc();
}
/// QTCREATORBUG-9828: Locator shows symbols of closed files
/// Check: The garbage collector should be run if the last CppEditor is closed.
void CppToolsPlugin::test_modelmanager_gc_if_last_cppeditor_closed()
{
+ ModelManagerTestHelper helper;
+
TestDataDirectory testDataDirectory(QLatin1String("testdata_guiproject1"));
const QString file = testDataDirectory.file(QLatin1String("main.cpp"));
@@ -541,6 +545,7 @@ void CppToolsPlugin::test_modelmanager_gc_if_last_cppeditor_closed()
// Close file/editor
em->closeEditor(editor, /*askAboutModifiedEditors=*/ false);
+ helper.waitForFinishedGc();
// Check: File is removed from the snapshpt
QVERIFY(!mm->workingCopy().contains(file));