summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cpptoolsunittestfiles.pri
Commit message (Collapse)AuthorAgeFilesLines
* Merge CppTools into CppEditorChristian Kandeler2021-09-011-11/+0
| | | | | | | | | | | | | | | | There was no proper separation of responsibilities between these plugins. In particular, CppTools had lots of editor-related functionality, so it's not clear why it was separated out in the first place. In fact, for a lot of code, it seemed quite arbitrary where it was put (just one example: switchHeaderSource() was in CppTools, wheras switchDeclarationDefinition() was in CppEditor). Merging the plugins will enable us to get rid of various convoluted pseudo-abstractions that were only introduced to keep up the artificial separation. Change-Id: Iafc3bce625b4794f6d4aa03df6cddc7f2d26716a Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CppTools: Move SendDocumentTracker tests into pluginChristian Kandeler2021-07-221-4/+2
| | | | | | Change-Id: I1d0532b5d0e155f6d53c683d01c4a92e4bae3ce9 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CompilationDatabaseProjectManager: Move tests to pluginChristian Kandeler2021-07-221-4/+2
| | | | | | Change-Id: Ife4ee68cdbd1560830f294610f8fab40653a4f5b Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CppTools: Move ProjectFileCategorizer tests to pluginChristian Kandeler2021-07-221-4/+2
| | | | | Change-Id: I51d66d9ff9a14e2dd04cf25448ccc8c85bcbce97 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Unit test: Remove some now-unused CppTools sourcesChristian Kandeler2021-07-201-4/+2
| | | | | | Change-Id: I61a0d15ade5093c6e7eeb005efed5704764fe7a1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CppTools: Move HeaderPathsFilter tests to pluginChristian Kandeler2021-07-201-4/+2
| | | | | Change-Id: Iecbb0942bed51002e85b96f6cc2ab034622cd07f Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CppTools: Move ProjectInfoGenerator tests into the pluginChristian Kandeler2021-07-161-2/+0
| | | | | Change-Id: I40d4b0b9751e77a5bb605349c86b37ad3935ca59 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CppTools: Move ProjectPartChooser tests into the pluginChristian Kandeler2021-07-051-2/+0
| | | | | Change-Id: Ic2ef95d4d6a5bd65cbc611b66a0b297c7468bbcb Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CppTools: Move CompilerOptionsBuilder tests to pluginChristian Kandeler2021-07-021-2/+0
| | | | | | | ... where they belong. Change-Id: Ifc6aebc218f9f85ffeb6a4b7121f97379b53b69d Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CppTools: Introduce HeaderPathFilterMarco Bubke2018-12-171-0/+2
| | | | | | | | | We went the filtering of the header path outside of the compiler options builder so merge the PCHs. Task-number: QTCREATORBUG-21693 Change-Id: Ia1126813a5049e39d7c6e7d60bf449aa17012d02 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* CppTools: merge CompilerOptionsBuilder with Clang oneIvan Donchevskii2017-10-231-2/+0
| | | | | | | Since it's never used for other compilers. Change-Id: I9512692d1dc9f9a701ea2453b7d50005478bed5d Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* Convert macros from plain QByteArray to a vector of structsMarco Bubke2017-09-141-4/+0
| | | | | | | | | | | The old code model expected the macros as C++ formatted text ("#define Foo 42) but newer targets like the Clang codemodel expect key value arguments like "-DFoo=42". So instead of parsing the text again and again we use an abstract data description. Task-number: QTCREATORBUG-17915 Change-Id: I0179fd13c48a581e91ee79bba9d42d501c26f19f Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CppTools/ProjectManagers: Reduce ui blocking when loading projectsNikolai Kosjar2017-02-201-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ${AnyProject}::updateCppCodeModel() did two potentially not that cheap operations in the ui thread: (1) Querying the MimeDatabase for the mime type for the source files of the project. In 99.9% of the cases no files need to be read for this as the file extension will resolve the type. The expensiveness comes from the sheer number of files that can occur. (2) Calling compilers with the "(sub)project's compiler command line" to determine the macros. While the caches avoid redundant calls, the number of the unique compiler calls makes this still a ui-freezing experience. These two operations are moved into a worker thread. For this, the expensive compiler calls are encapsulated in thread safe lambdas ("runners") in order to keep the "mutexed" data minimal. The original API calls of the toolchains are implemented in terms of the runners. While adapting the project managers, remove also the calls to setProjectLanguage(). These are redundant because all of the project managers already set a proper value in the constructor. Also, currently there is no need (client) to report back detection of C sources in project parts. This also keeps CppProjectUpdater simple. There is still room for improvement: * Run the compiler calls in parallel instead of sequence. * Ensure that the mime type for a file is determined exactly once. Change-Id: I2efc4e132ee88e3c8f264012ec8fafe3d86c404f Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Fix exports for shared librariesMarco Bubke2017-01-161-1/+1
| | | | | | | | We use "shared" to define a shared library and not dll. Change-Id: Ia97ebd0042a7ef0f33eadaa448d9a44b42331ad1 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* CppTools: Extract ProjectPartChooserNikolai Kosjar2016-12-161-1/+2
| | | | | | | ...and put it under tests. Change-Id: Id4bd2391abd1dfdc23640e871453558566cb0693 Reviewed-by: David Schulz <david.schulz@qt.io>
* Clang: Consolidate all ClangCompilerOptionsBuilder into one implementationMarco Bubke2016-12-151-0/+2
| | | | | | | | We used the same code in different but don't shared it. From a bug fixing perspective it's actually not that smart. Change-Id: Iaaffc883229e259ff77f95b5cf0a8f0d8b5117df Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* CppTools: Refactor ProjectPartBuilderNikolai Kosjar2016-12-131-2/+12
| | | | | | | | | | | ...and add some basic tests. Introduce the abstractions ProjectInterface and ToolChainInterface in order to break the dependency to the ProjectExplorer. Also, some simple logic can go there to simplify the (Base)ProjectPartBuilder. Change-Id: I6c50a1804ce62098b87109931eb171f5c2542937 Reviewed-by: David Schulz <david.schulz@qt.io>
* CppTools: Classify ambiguous headers depending on other filesNikolai Kosjar2016-12-121-2/+4
| | | | | | | | | | | | | | This applies for all project managers, except qmake. The qmake project manager will make use of this in follow up changes. Before, "foo.h" was always recognized as a CXXHeader. Now, it depends on the other files. E.g. in a file list {"foo.h", "foo.c"} foo.h is now a CHeader. In {"foo.h", "foo.c", "bar.cpp"} the file "foo.h" is ambiguous and we will create two project parts, one where it is a CHeader, the other where it is a CXXHeader. Change-Id: I50505163368742584b1380c284d42cbe07cb4fc9 Reviewed-by: David Schulz <david.schulz@qt.io>
* Clang: Add clang refactoringMarco Bubke2016-08-041-1/+5
| | | | | | Change-Id: I2e3f36f810276da3f8dc7dcc587b06f8edb586d3 GPush-Base: d02f51b48fc752fddcdef6dcb32b3f7f6c0195a3 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Ignore certain warnings in header filesNikolai Kosjar2016-02-251-2/+6
| | | | | | | | | We already had this workarounded, but it got lost in the refactorings. Task-number: QTCREATORBUG-12067 Change-Id: Ie01f9d41f25d17d1b595204748634bc87ef44378 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* CppTools: Enable not exporting symbolsNikolai Kosjar2015-11-261-0/+6
| | | | | | | | Having a dllexport in the sources for a TEMPLATE=app project (e.g. unittest.pro) will create a library on Windows, which is not needed. Change-Id: I0d454cdb7e3eb862200766ea101d41cef2758986 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* Clang: Add revision and completion managementMarco Bubke2015-09-281-0/+3
Reparsing a document is expensive so we should avoid it by all means. In this patch we prevent that the same document is send again. It isn't send too in advance of a code completion if there was no changes before the the completion position. Change-Id: I0bb786ba1d4e7ce08611a518cb32f8cf8f4d0037 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>