Commit Graph

8097 Commits

Author SHA1 Message Date
Tobias Hunger
1aaed7477e SettingsAccessor: Add tests to save/load values
Change-Id: I08870a91c725eb6c5344545d8d829fc98a3231bc
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-11-22 12:28:13 +00:00
Tobias Hunger
0a202e4c29 SettingsAccessor: Use optional as return value of findIssues
Change-Id: Ib7ef8ec408f812a71735939514d98cf8755d292b
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-11-22 11:59:08 +00:00
Tobias Hunger
6044b84e14 SettingsAccessor: Add tests for findIssues
Change-Id: Ib78c2c93dc9404087efe485fdaaad69595aa0125
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-11-22 11:59:02 +00:00
Tobias Hunger
b8f2d746d0 SettingsAccessor: Add methods to upgrade to a specific version
Change-Id: If368f4a35d3702dbf680b1306ca6311070aa9bb5
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-11-22 11:58:56 +00:00
Tobias Hunger
5d6c2ca159 SettingsAccessor: Do not change data on invalid upgrade attempts
Make sure that the input data is returned unchanged if an invalid update
attempt is attempted.

Update tests accordingly.

Change-Id: If5c410bf1a757f984593bda871763af64d8dd972
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-11-22 11:58:50 +00:00
Tobias Hunger
9246a77a2f SettingsAccessor: Add tests for version upgrading
Change-Id: Ie41433b507bdd68b834a6fc1879f3f1b71f7b4ff
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-11-22 11:58:41 +00:00
Tobias Hunger
0269503dd8 SettingsAccessor: Improve SettingsAccessor::isBetterMatch
Improve the behavior of isBetterMatch, so that it now handles
invalid versions as well as invalid ids. Simplify code where possible.

Change-Id: I2e65c0cc01d32fa77df8b5ec0d62b765e6c458f7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-11-22 10:16:25 +00:00
Tobias Hunger
cacab453f7 SettingsAccessor: Add test for version upgrader registration
Change-Id: I04195b84b551333ef34f0f193d5c2237ad1c86c6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-11-22 08:59:48 +00:00
Ulf Hermann
5e0639542f Add some sanity to the clang detection code for qmake build
llvm-config can usually be found in PATH on systems which have standard
paths at all. There is no need to specify LLVM_INSTALL_DIR then.
Furthermore, llvm-config has an option --bindir which will tell us the
directory where clang can be found (if installed). No need to apply
strange heuristics based on LLVM_INSTALL_DIR. Finally, we can check
within each .pro file for the conditions to be met using qmake's
require() function. This way we don't need to fiddle with
LLVM_INSTALL_DIR in unrelated places.

Change-Id: I1a6ab092b06de40dfbfa4a9e7053451360fd24c8
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-11-22 08:47:05 +00:00
Nikolai Kosjar
cbc9b61f19 Fix qbs build due to duplicated product names
Change-Id: I053a9c43ecdba5c447ca0ac664a3038698486b09
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-11-21 11:09:02 +00:00
Tobias Hunger
eda0daec81 SettingsAccessor: Add test
Change-Id: I872dffb6489ba5dbb766e9a9a924eb199254b0cf
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-11-20 15:10:34 +00:00
Marco Bubke
9678c86e40 Sqlite: Fix double throwing for reset
We do want prevent throwing again for reset if we already have thrown an
exception but we want to throw if there was no exception.

Change-Id: Iaf9fffb872ccd579a8ccde02381b5e5d30d5c4cb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-11-13 15:45:41 +00:00
Orgad Shaneh
d9cb19b229 Merge remote-tracking branch 'origin/4.5'
Change-Id: I60fca091b2eac67259580acba5ae934c16d74a83
2017-11-11 19:54:32 +02:00
hjk
0965b9752d Debugger: Add one more enum dumper autotest
I cannot reproduce the issue from the bug report anymore, but
having a test for it should not hurt.

Task-number: QTCREATORBUG-18529
Change-Id: If7464e45c14bbe316bf7ed1c68ea1f2692093005
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-11-10 11:36:55 +00:00
hjk
7194500d57 Debugger: Fix autotests with Qt 5.10
QTemporaryDir changed behavior, possibly by 3d6cbe3 in qtbase:
QTemporaryDir("ABC").path() in produces
    - in 5.6: something like ABCzDcwHP
    - in 5.10: something like /working/dir/ABC.HAZrEm

Change-Id: Ic51f30f54e1b8f9a8ca302b1b43640a45074ab0f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-11-10 11:30:19 +00:00
Robert Loehning
f9c0069903 Squish: Update test for sorting
Change-Id: I79a68377425b3596ec25c98e12c46ed59d439249
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-11-09 15:49:32 +00:00
Eike Ziller
b05637131c Merge remote-tracking branch 'origin/4.5'
Conflicts:
	src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp

Change-Id: I726babe61e28db14d06a6a1a5c570e148745b458
2017-11-09 14:32:00 +01:00
Robert Loehning
84c0390bdc Squish: Update Creator's sources to v4.4.1
Change-Id: I95ba4de5ec0148b602d91b684dabc09e954d52ca
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-11-08 16:47:39 +00:00
Christian Stenger
1305068375 Test: Fix typo
Change-Id: I0e7ca842f550cbb0853221c9b843192c2675bc73
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-11-08 10:48:25 +00:00
Eike Ziller
a9e4e3608e Merge remote-tracking branch 'origin/4.5'
Change-Id: I0194bdeda71e33fd5bc9cb3eb7a9198ae72815ed
2017-11-07 15:10:36 +01:00
Christian Stenger
d0fe839451 DumperTest: Fix compile failure for gcc4.9
Change-Id: I1d97324a12a4d0974f1930351f337c381851d011
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-11-07 09:45:41 +00:00
Orgad Shaneh
a6cda6dbe0 Merge remote-tracking branch 'origin/4.5'
Change-Id: I16e3bb9ee3a1e6dc6edf7a65f8a137a25cda4fe3
2017-11-05 16:49:17 +02:00
Orgad Shaneh
38e9a52f6c FuzzyMatcher: Improve tests readability
Change-Id: I4fba4fd741c785a0d4b03f6e308cef3d93d6bf1b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-11-04 16:12:14 +00:00
Orgad Shaneh
4300041d24 FuzzyMatcher: Improve wildcard matching
Make it equivalent to current wildcard implementation, and replace the
current one with FuzzyMatcher.

Change-Id: If83a4a8dfc7c8930bd92b49972647a519886a831
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-11-04 16:12:03 +00:00
Orgad Shaneh
e9b4d3a48a Rename CamelHumpMatcher -> FuzzyMatcher
Change-Id: Ia8a2eeb985bcdd500b4faf9605e5092a52dad372
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-11-02 21:35:03 +00:00
Orgad Shaneh
bacfc28a36 CppTools: Match also function arguments in locator
Useful when there are several overloads for the same function.

Change-Id: I325bda7d2fdf4108f71a61d5473cd55310c51c28
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-11-02 09:26:17 +00:00
Orgad Shaneh
8a2adfef6c Clang: Remove outdated macro
Minimum version is now 5.0.

Change-Id: Ia75a26d28e676881b8e45832cae02826d176bd5b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-11-01 07:47:18 +00:00
Orgad Shaneh
0b76a8864c Merge remote-tracking branch 'origin/4.5'
Change-Id: I7bc3615fb4bbafffa9636d731d8840445352b592
2017-10-30 21:44:13 +02:00
Orgad Shaneh
be673acb3e Add CameHumpMatcher autotest to qbs build
Change-Id: Ia019822ecc8d9ab1a19a17a7965fd5e9a4178bc9
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-10-30 19:39:14 +00:00
Orgad Shaneh
92c1659df2 CamelHump: Prefer plain match over camel hump
For example:
Matching "lit" against "LiteralTable" should highlight "Lit" and not "Li"
and "T" from Table.

Change-Id: I8a0a9d0b0b90403745e85b1d3d20deaa551416eb
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-10-30 19:38:57 +00:00
Tobias Hunger
bc3d4d86fa GccToolChain: Improve retrieval/caching of compiler data
* Use one template to implement both Caches
* Use shared_ptr to the caches. This is necessary to not crash
  when the toolchains get deleted while the compiler is being run
* Pass language to header path retrieval code and use that information
* Add unit tests for cache used by the toolchain

Change-Id: Ic31e7c4c1ed8158af7f2cdfda8104255efb06aea
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-10-27 15:11:28 +00:00
Nikolai Kosjar
5ba40cb7fb Clang: Require LLVM/Clang >= 5.0.0
...for the code model parts and declare 5.0 as the supported version for
the clang static analyzer.

Adapt versions and tests, remove code assuming clang <= 5.0.

LLVM/Clang 5 was released on 07 Sep 2017.

Task-number: QTCREATORBUG-18931
Task-number: QTCREATORBUG-18657
Task-number: QTCREATORBUG-17187
Task-number: QTCREATORBUG-14881
Change-Id: I53b00258ca06a1d2e57f9379dacc54b310687295
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-27 14:21:19 +00:00
Marco Bubke
2382824d7b UnitTest: Fix google benchmark
Change-Id: I3ea223c161d49c2f78751c07916398682b70767c
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-10-26 11:25:27 +00:00
Orgad Shaneh
1c5d4d9f3b Fix tests compilation
Change-Id: I58cfe84b950e15ad9600aa25fc5e3cacd99626ee
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-10-26 06:15:24 +00:00
Eike Ziller
7f626b1182 Merge remote-tracking branch 'origin/4.5'
Change-Id: Iceaa4ca40b5318744bde8a76c6d3ccca08df71bb
2017-10-25 16:07:21 +02:00
Ivan Donchevskii
81f5c1c8ec Clang: implement globalRename based on clang Index
Has the same limitations as findUsages.

Change-Id: I8de4df2ecbfd8a4f3073666994398dc43af0d73c
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-10-25 13:35:48 +00:00
Marco Bubke
68589a3fbc Disable GCC warning for noexcept
GCC >= 6.4 is generating warnings for function signature with noexcept. In
C++ 17 noexcept is part of the function signature. But the warning is
catching cases where a changed signature is not a problem, because it is
a template it self.

Task-number: QTCREATORBUG-18959
Change-Id: Ia6fa79c10e16d8c96a53c849ea15dcec94538fbe
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-10-24 14:24:08 +00:00
Ivan Donchevskii
050b4dd2f5 Clang: implement findUsages with existing index
Functionality is limited to the abilities of
current index which is not updated and is
generated only at project open.
Search box temporarily doesn't allow to "Search again".

Change-Id: Id1047f27ad0aafc901f06aa51ad38ceab95eaebb
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-10-24 10:46:52 +00:00
David Schulz
2bd1ea30b9 Debugger: port python debug test to python 3
Change-Id: I1e546b8c151f59432292118a0a6b4d913196e79b
Reviewed-by: hjk <hjk@qt.io>
2017-10-24 10:11:09 +00:00
Marco Bubke
b9d268977e Clang: Add usage functions to symbol query
Change-Id: If68a5119c863e616fea40275136d028abcf441f3
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-23 18:13:44 +00:00
Marco Bubke
0a3df84533 Sqlite: Use string view as result value
String view is returning simply the string pointer and the size from the
database. In that way we remove useless copies to an intermediate data
type.

Change-Id: I3354061938c52df585e91054a97c900ae4cd39b3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-23 18:03:32 +00:00
Marco Bubke
507d99f03c UnitTests: Use memory database
Tests get more reliable if the database is not shared between different
tests and the testing is speed up by not accessing the file system.

Change-Id: Ieb3c5495df4f0fae2293111949792774b01bf913
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-23 17:59:20 +00:00
Ivan Donchevskii
b10f8484c7 CppTools: merge CompilerOptionsBuilder with Clang one
Since it's never used for other compilers.

Change-Id: I9512692d1dc9f9a701ea2453b7d50005478bed5d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-10-23 12:46:34 +00:00
Nikolai Kosjar
f19facd378 Clang: Add more CLANG-UPGRADE-CHECK markers
Change-Id: I9ee553f29fa7a7f60291e2d7d2a56062dc722b9d
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-10-23 11:02:18 +00:00
Marco Bubke
2a41031273 UnitTests: Add utility functions for test
Having a global temporaryDirPath makes changes much easier.

Change-Id: Iec92bba7b7eca5b0e893ebee9f457734deba8cc8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-21 13:39:31 +00:00
Marco Bubke
ce4d7e9d0e Utils: Fix smallstring move assignment
Before the string was simply swapped with the other string which can lead
to an unexpected behavior for xvalues. Now the destructor of the source is
called and it is default initialized.

foo = std::move(bar);

bar would now hold the value of foo.

Change-Id: Ibea3f18333a168634b7faf2fdaf9b5b52c82d5cc
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-20 14:36:37 +00:00
Eike Ziller
bb9663529b Merge remote-tracking branch 'origin/4.5'
Change-Id: Ie83666bd18e899dabf5190c360027bf02abecdaf
2017-10-19 13:01:12 +02:00
Christian Stenger
38d307ffb8 Squish: Adapt test to improved compiler detection
QC now finds some more compilers.

Change-Id: Icbf8d29a24c3360d2d7d8ed73011f705dd156aa8
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-10-19 10:28:56 +00:00
Nikolai Kosjar
7cbc7af022 Clang: Fix completion after qualification (::)
...and maybe other cases.

Since

    Clang: fix findStartOfName handling
    commit 82d0650b11

the proposal's base position was calculated wrong. As a result, an early
return triggert in CodeAssistantPrivate::displayProposal (call to
newProposal->hasItemsToPropose(prefix, reason)) and no completions were
displayed.

Fix by ensuring that the added code from the mentioned commit is only
called when needed, namely only for function expressions.

Task-number: QTCREATORBUG-19083
Change-Id: I8f23c9b7186f9d81159939c8b3ef475a09bbe760
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-10-19 07:43:21 +00:00
Marco Bubke
5e0b207a89 Clang: Improve locking of string cache
The string cache is only very seldom written but very often read. To
improve thread scaling it is faster to lock it only for write operations.
So we use a shared mutex which is locked in shared mode for read
operations and locked exclusively for write operations.

Change-Id: I7dfd4a02c5484683e4d0becd39269c0146126a96
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-18 13:13:29 +00:00