summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager_test.cpp
Commit message (Collapse)AuthorAgeFilesLines
* CppEditor/CppTools: Tests: Fix potential race conditionNikolai Kosjar2013-12-121-32/+27
| | | | | | | | ...when updating the code model. Change-Id: Ifc55b7d0bb795b9cfd72465990991bc2cc907846 Reviewed-by: Christian Stenger <christian.stenger@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: split defines into project-defined and toolchain-defined.Erik Verbruggen2013-12-101-7/+7
| | | | | | | | So we can ignore possibly problematic toolchain-defines, while can still unconditionally apply project-defines. Change-Id: I7cb96f35a963d080011fe888ef71bfc098dd33ef Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* CppEditor: Ensure utf8 encoded working copy from the preprocessor dialogNikolai Kosjar2013-11-121-1/+1
| | | | | Change-Id: Ifbc2adeff83cbef9841da872e15a5b9dd8379a3d Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Revert "EditorManager: Fix crash when closing an editor upon activation"Orgad Shaneh2013-10-081-5/+5
| | | | | | | | | | | | | | | Deleting an editor while currentEditorChanged is apparently not a good idea. Use a queued connection instead. This reverts commits 243a6259618e69b8da9ac2438480c449754f7f77, 447c4ed37f8904ca733d6e6253ad19bb0388f209, d9602ca550c53e60a5229bfec9539e41fa5a694c and 31034870389a512e3450e32ed990e1622bd6e679. Change-Id: Iccbee25fb77714963faa6f7184d1f5f53ed348a6 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* fix build against qt4Oswald Buddenhagen2013-10-021-1/+1
| | | | | Change-Id: I1884f6e61dcae95817da10f0ead67f2df99b4ec7 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* CppTools: De-duplicate some code in cppmodelmanager_test.cppNikolai Kosjar2013-10-021-187/+129
| | | | | Change-Id: I371e986c9b41fec5cddf05e3f7849c5e0b9e6b69 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Tests: Move TestDataDir into plugintestutils.{h,cpp}Nikolai Kosjar2013-10-021-2/+1
| | | | | Change-Id: I76d5e421258eda85907e56762a59894ce7f84f13 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: add code-model support for defines-per-editor.Erik Verbruggen2013-10-011-0/+96
| | | | | | | The UI side will come in another commit. Change-Id: I1038a438587fe4cef70408f7f627d08837fc192d Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* CppTools: honor pre-compiled headers in the code-model.Erik Verbruggen2013-10-011-0/+100
| | | | | | | Task-number: QTCREATORBUG-476 Change-Id: I82ed92acdcda551d2c6a9ca221832ac20117a08f Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* CppTools: Fix test_modelmanager_defines_per_projectNikolai Kosjar2013-10-011-1/+1
| | | | | Change-Id: Ia2e4dc776d3040d2ccb13d9b029c2f0cc8db0fcd Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: Only parse with appropriate defines for open editors.Erik Verbruggen2013-10-011-5/+108
| | | | | | | | | | | | If two files from different (sub-)projects include the same header file, and the defined macros differ for both files, the header file will be parsed with only the appropriate macros for the including file. Task-number: QTCREATORBUG-9802 Task-number: QTCREATORBUG-1249 Change-Id: I560490afa287b3bb1e863bce1bb4f57af36ad56e Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* CppEditor/CppTools: Fix plugin tests in master.Nikolai Kosjar2013-10-011-2/+3
| | | | | Change-Id: Ia641c70f8c72cf762cf571cdd505385d28492b7c Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: change working-copy to work on UTF-8 encoded QByteArrays.Erik Verbruggen2013-09-111-1/+1
| | | | | | | | | | | | These not only take less space than UTF-16 encoded QStrings, but due to the caching in the CppEditorSupport also take less time to build. This patch also fixes a number of possible encoding issues, where files and constant strings were (falsely) assumed to be UTF-8. Change-Id: Ib6f91c9a94ebed5b5dfbd4eb2998825c62c72784 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* SessionManager: Apply 'static' patternhjk2013-09-051-7/+6
| | | | | Change-Id: I370f72fcf7a24216ee189979ce6b5c8bfc5f4140 Reviewed-by: David Schulz <david.schulz@digia.com>
* EditorManager: Use static pattern, adjust surrounding codehjk2013-08-301-6/+4
| | | | | Change-Id: I3255a0150cd9a730336456c5a9f986eb74fefbff Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Tests: Extract TestDataDir to the corepluginNikolai Kosjar2013-08-201-52/+19
| | | | | Change-Id: Ie290c07c07c13134a57f328e9ae876b2af6974db Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* CppTools: Test: Skip framework test on Windows.David Schulz2013-08-191-0/+10
| | | | | | | The soft links inside the framework can't be resolved. Change-Id: I9f328bc074091236fb33eee63e725e49efeac5c9 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* Fix compilation with Qt4Orgad Shaneh2013-08-141-1/+1
| | | | | Change-Id: Icad8723e26f7f9d89098e04c09c9dbd2d5539902 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* CppTools: Rework handling of ProjectInfo changesNikolai Kosjar2013-08-131-4/+210
| | | | | | | | | | | | | | | | | (a) The code model manager figures out by itself which files were added or removed from the project. If this was done successfully, check also the timestamp of the common files and reindex if necessary. (b) A full reindexing is only triggered if the project configuration changes (defines, includes, framework paths). (c) If project files were removed, the garbage collector is called. Task-number: QTCREATORBUG-9730 Change-Id: Ib855614b070880576233a3525813617c967a72f3 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* CppTools: Do not garbage collect files in the working copyNikolai Kosjar2013-08-081-0/+35
| | | | | | | | | | ...except the configuration file if no projects are open. For this case there is no need to keep the configuration file around. Task-number: QTCREATORBUG-9829 Change-Id: I51b01b30c17cbc1ced491ef2c47c338dae6ed983 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* CppTools: Do not call GC() more than necessaryNikolai Kosjar2013-08-081-1/+6
| | | | | | | | | | | | | | | | | 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>
* EditorManager: Make closeEditor publicOrgad Shaneh2013-08-071-2/+1
| | | | | | | | And use it where appropriate Change-Id: I0f37b8aada6eaa9be6743724b91a59173a01cb0c Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: David Schulz <david.schulz@digia.com>
* Merge remote-tracking branch 'origin/2.8'Oswald Buddenhagen2013-07-251-27/+130
|\ | | | | | | | | | | | | Conflicts: src/plugins/cpptools/cppmodelmanager.cpp Change-Id: I0e69dfad951eb81d8008f5ca05e8fb6999ae2c8a
| * CppTools: Check if project has changed before reparsingNikolai Kosjar2013-07-221-10/+61
| | | | | | | | | | | | | | | | | | This introduces an API change for the project managers. Those are not expected to call updateSourceFiles() anymore. Task-number: QTCREATORBUG-9581 Change-Id: I77befd29fb851c9acf87204d571da00183c9cd05 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
| * CppTools: Tests: Clean up cppmodelmanager_test.cppNikolai Kosjar2013-07-221-17/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * First construct a ProjectPart completely, then append it to the ProjectInfo. Doing it the other way around will lead to inconsistencies since some attributes of ProjectInfo are calculated/updated when a ProjectPart is appended. This has no effect on the current tests. * Remove created *.user file when test finishes. * Add comments describing what the tests do. * Rename test methods to some more desribtive names. Change-Id: I5eeed05d0aef19f8094ff488dedcced74f0814f8 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | CppTools: Garbage collect if the last CppEditor is closedNikolai Kosjar2013-07-171-0/+31
|/ | | | | | | Task-number: QTCREATORBUG-9828 Change-Id: Ie0ef9757cedb772702e49542b58d5b589506aa9e Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: Fix resolving ui_* files in CppPreprocessorNikolai Kosjar2013-07-021-0/+53
| | | | | | | | | | | | | The working copy contains the artificial ui_* files and therefore we have to consider it while resolving include files. Task-number: QTCREATORBUG-9683 Change-Id: Icb3387b4cd885b3652bae3f1da465d3e0f633332 Reviewed-by: Christian Stenger <christian.stenger@digia.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Robert Loehning <robert.loehning@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* CppTools: Fix snapshot in case another project is openedNikolai Kosjar2013-06-281-0/+82
| | | | | | | | | | | When a second project was opened the snapshot was reset. That resulted in all kinds of problems since from then on the code model effectively was not aware of the files of the first project. The regression was introduced by commit a0d6df7b. Change-Id: I1ccc9de68177205b49a4ba8ead2bc8abe4592b32 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* C++: Fix 'already seen files' when indexingNikolai Kosjar2013-05-231-2/+64
| | | | | | | | | | | | | | | | | | Resetting the environment (after each *.cpp file) did not clear the already seen files (m_included). Because of that the succeeding header files were not parsed correctly - the environments of the mistakenly already seen header files were not merged in. Note that this change slow downs the parsing/indexing of files to its original speed, as it was before the problematic commit (and it is in 2.7): commit 82e347095c4bdb7a6419d28798639e60591e3992 C++: Untangle include file resolving from loading. Task-number: QTCREATORBUG-9205 Change-Id: Iea57b7c59ea04a3c8843fd1291f4c375382958fc Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: Tests: Generalize for using different test data dirsNikolai Kosjar2013-05-231-32/+62
| | | | | | | ...for the modelmanager tests. Change-Id: I91f163df1ed958a3915ce263b12e3e30cda0b78f Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: moved the CppPreprocessor into its own file.Erik Verbruggen2013-04-261-1/+1
| | | | | Change-Id: I399d667a1fccb376fadbd6ab8fbba243e86d8f4b Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* C++: also refresh files not in the project when project changes.Erik Verbruggen2013-04-161-0/+48
| | | | | | | | | System headers and other file which are not explicitly mentioned in the project must be reparsed when the project changes. Task-number: QTCREATORBUG-9056 Change-Id: I32f1206d241a078a4d9b15fac5813f365a1ba303 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* Clean headers in CppTools.Friedemann Kleint2013-04-101-2/+0
| | | | | | | | Ran script to remove inludes on a trial-and-error basis and manually corrected it. Change-Id: Ic8464ea084ca1ab401e9f4a7d0183b92b4038902 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* CppTools: Use namespace CppTools consistentlyTobias Hunger2013-04-081-3/+3
| | | | | | | | | There were quite a few classes using CPlusPlus namespace in the CppTools plugin. Rename them and do some other small namespace related coding style fixups. Change-Id: I093fc1f3fc394fd9923e3f18d5f66522e288f21d Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* fix include style relating to cplusplus librariesOswald Buddenhagen2013-04-031-1/+3
| | | | | | | | | | | ... and adjust INCLUDEPATH accordingly. while i'm at messing with include statements, also re-order the include blocks according to policy and sort them within bigger blocks. Change-Id: I7762abfd7c4ecf59432b99db2f424e4fa25733a5 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* CppTools: improved languages support in ProjectPartSergey Shambir2013-03-211-7/+9
| | | | | | | | | | | | | | Please, read blueprint here: http://qt-project.org/wiki/Blueprint-for-language-specs-system Removed feature from QbsProjectManager: it not longer splits project on separate C and C++ parts, because Qt version used only by clang parser (not native) and can be ignored for pure C and Objective-C without C++. Change-Id: I1c561f7f9f915cc6cb8579d19db74e8352f54c1e Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* Incremented year in copyright infoRobert Loehning2013-02-011-1/+1
| | | | | Change-Id: Ia11f4d7a94465de7f12cc390855e54e3256e5455 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* C++: test for walking includes in frameworks.Erik Verbruggen2013-01-241-0/+46
| | | | | | Change-Id: Id31ce6b40d72351cfaefa5035469b87662526853 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: add unittest for modelmanager path cleaning.Erik Verbruggen2012-12-201-0/+92
Change-Id: I30815b191654cba5eedf92a9afd2ed1b48af8b87 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>