Commit Graph

6972 Commits

Author SHA1 Message Date
Jarek Kobus
8724a4efbb Use QtcProcess for clangbackend
Change-Id: Ifdcdba765409a09861f81dd3dff405115a986801
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-03 14:06:56 +00:00
Jarek Kobus
a454b3dc23 Use QProcess' / process lanuncher's exit code
Change-Id: I802116c45847daf9a647771ee293aef8463fc3c7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-03 10:56:19 +00:00
Jarek Kobus
597750507e Implement process channel forwarding in process launcher
Change-Id: I9e526eb40ebc46284f773d10ec0e285a009c524d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-03 10:56:12 +00:00
Eike Ziller
253c4e55b6 CMake build: Compile QmlDesigner autotests
We cannot do this via a static library, because the tests need
to compile the same files with different defines
(QMLDESIGNER_TEST). Add a function which extends a target
with the corresponding files.

Also do not hardcode resource directories in the test -
the Qt Creator app bundle is no longer in a "bin/" subdirectory
on macOS. Use the build system provided IDE_*_PATH
variables instead.

Change-Id: I21850eba3cb47b4dcfd5e66227183b2d1ff35ff2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-02 10:09:57 +00:00
Christian Kandeler
284817fae6 Merge CppTools into CppEditor
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>
2021-09-01 14:53:58 +00:00
Christian Stenger
9eee8e4b84 Tests: Add test for async copying via FilePath
Change-Id: Idbc18d43ea81d395cc76f7bf9cfb32df1350b3ed
Reviewed-by: hjk <hjk@qt.io>
2021-09-01 11:41:51 +00:00
hjk
5830641d0f Valgrind: Make callgrind work on docker
Callgrind on Remote Linux did not work for years, so its safe to ignore
the remains from the previous remote support and start over.

This here now handles the local case and the case where callgrind
runs together with the debuggee in the same docker container.

Guessing at the output file name is replaced by specifiying it in
advance.

Cross-setups are not yet supported.

Change-Id: I97edeb4eab7475727eddb26d25f8bec650a7eeb9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-01 09:27:24 +00:00
Jarek Kobus
15c183fce6 Set process state to NotRunning after FailedToStart error
Remove the process in process launcher after error has appeared.
Remove unneeded stopStopProcedure as we are disconnecting from
process' signals inside removeProcess().
In order to behave as much similar to what QProcess does,
provide a test that:
- ensures the FailedToStart error is synchronously emitted
  when waitForStarted is being executed
- ensures that process state is reset to NotRunning after
  FailedToStart error
- 2nd call to start/waitForStarted doesn't block on
  waitForStarted

Change-Id: I139354421d037739f1cc1a2685b66f1e5b6170c8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-31 12:09:36 +00:00
Eike Ziller
987ad3fe9c Merge remote-tracking branch 'origin/5.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/android/androidconfigurations.cpp

Change-Id: Icd2b0fda2b2653656285bbbe457c30c9cd414d3f
2021-08-30 12:15:37 +02:00
Christian Stenger
aca5e375f4 Tests: Fix build without ShaderTools
Change-Id: Id22a91c440ea08fdab42e864d54587836e043584
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-08-27 13:38:45 +00:00
Alessandro Portale
595a4a621d Tests: Avoid Qt6-related deprecation warnings
Qt::AA_EnableHighDpiScaling and Qt::AA_UseHighDpiPixmaps are deprecated

Change-Id: I36a289f00feeaa472ee911a567c2a6160e259317
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-26 14:00:14 +00:00
Christian Stenger
68c2741587 Tests: Unify build for debugger tests
Latest breakages suggest to unify this as qmake was not linking
directly against utils when building some of the debugger related
tests except on Windows.
CMake and Qbs builds are untouched as they did link against utils
before already.

Change-Id: I0541964417546294b4b82aceac06f7322b1bef64
Reviewed-by: hjk <hjk@qt.io>
2021-08-26 12:11:55 +00:00
The Qt Project
2028d1c620 Merge "Merge remote-tracking branch 'origin/5.0'" 2021-08-26 11:07:04 +00:00
Christian Stenger
3d2a0ae2a6 Tests: Fix compile with qmake on Linux
Amends 244e940c94.

Change-Id: Ic1a308d44c51caae53c60dac7d08510b936896fd
Reviewed-by: hjk <hjk@qt.io>
2021-08-26 09:42:03 +00:00
Eike Ziller
0777b65db3 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	src/plugins/android/androidconfigurations.cpp

Change-Id: If8dc2cdf131811e08ca147c6f58dbb3ed3bf7227
2021-08-26 11:09:08 +02:00
hjk
9796f88fd5 Docker: Add valgrind and perf to Docker build and run test images
Change-Id: If1154852ef069e890a1fc0d07ab6cbbe3bd3bea4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-26 07:03:24 +00:00
Christian Stenger
244e940c94 Tests: Fix build with qmake
Change-Id: I926dcee9d6a6e535cb06c19096db74565f484224
Reviewed-by: hjk <hjk@qt.io>
2021-08-25 12:18:15 +00:00
Jarek Kobus
6c45764fa1 Rename test case, use both verbs in passive voice
waitForStartAndFinished -> waitForStartedAndFinished.

Change-Id: I44440a21cd91105b84227e13d1ea3d5b9490148f
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2021-08-25 07:54:31 +00:00
Jarek Kobus
43b82bfc5f Add a test for waitingForStarted and waitingForFinished
Change-Id: I2d38bb2d37a71aad6d762aa68f1f3b329a4fa302
Reviewed-by: hjk <hjk@qt.io>
2021-08-24 18:24:41 +00:00
Christian Stenger
ee111ce3cc Tests: Fix qmake build
Change-Id: I4132efec68fd0e5b830417fd828ddff7ff141f5c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-08-23 20:13:18 +00:00
Robert Löhning
4455dd2ece Squish: Prepare tst_WELP01 for Qt 6
Working around the wildcard issue...

Change-Id: I3d3b8e0360762ea72c39a49274df271fc0090e8b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-23 09:28:25 +00:00
Robert Löhning
0824aa2ce3 Squish: Use tab visibility hack on Windows, too
Change-Id: I6e5f4b75747b703ab46e2f3776b134aff8b34ac0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-23 09:26:39 +00:00
Robert Löhning
3d20cc68e5 Squish: Update tst_memberoperator
Change-Id: I929ef6dc2db7c9efdd0c33c42aa44268595bc75d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-23 09:26:24 +00:00
Robert Löhning
f1c5c1fc03 Squish: Stabilize tst_memberoperator
Frequently wait for the editor again to avoid the
"Error in type() invocation".

Change-Id: Id8e5971e6ef8fbb8dfb59fbb971a2212557adf72
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-23 09:26:17 +00:00
Christian Kandeler
e0e8fda580 ClangCodeModel: Use clangd for completion and function hint
Change-Id: I80160f3a40da18ac178682afe6caba5e5af6e3eb
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-08-23 09:06:31 +00:00
Cristian Adam
54c5322322 CppTools: Code model fix for C++20, MSVC, and newer CMake versions
Starting with version 3.20 CMake adds -std:c++20, which breaks the
code model when using MSVC.

Clang-cl 12 doesn't know about -std:c++20, but clang driver knows
about -std=c++20.

Fixes: QTCREATORBUG-26146
Change-Id: I696842e11b0a9ba8849455d2f81f8dde6dd95a27
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-08-20 15:28:57 +00:00
Alessandro Portale
e803e76d28 Tests: Fix CMake build with Qt 6.2-Beta3+ and WITH_TESTS
NO_CREATE_PLUGIN_TARGET -> NO_PLUGIN

Amends: c568ab89c5

Change-Id: I579a5ec14a147c4cf641915c224ddee7ac573b80
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-08-20 14:15:43 +00:00
Christian Kandeler
2e77362da0 Fix some compiler warnings
Change-Id: I8d7feef99b8f59b29efe9caae02aa75cdf5ac597
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-20 10:28:20 +00:00
Eike Ziller
b09b6bd747 Merge remote-tracking branch 'origin/5.0'
Change-Id: I370268624bd6e91e7b44fa236e913f5f55867e17
2021-08-20 09:50:30 +02:00
hjk
142a34464f Utils: Avoid adding duplicated slashs in FilePath::pathAppended
Change-Id: I791412906e94a967a61d9b3212b704936c447183
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-08-20 05:33:34 +00:00
Robert Löhning
468b2aec2d Squish: Update tst_WELP01
The "Get Started Now" button opens a different page.

Change-Id: I99b4b492afae3d5389eabbf9f3661d3653a2460f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-19 11:15:21 +00:00
Robert Löhning
939fb7cb0c Squish: Fix storing breakpoint locations on Windows
Not changing Linux or Mac.

Change-Id: Idcc22c9d960ced7145b10651f75c78a740714cff
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-19 11:15:00 +00:00
Jarek Kobus
9966cc4bcc Start and stop the process launcher in tst_qtcprocess
Change-Id: Ib28450d10c699abe3964f8bef2ff24baae0074f7
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-19 07:44:48 +00:00
Christian Stenger
28d2674b54 Utils: Adjust FilePath::relativePath()
When using the same path for the anchor and the relative path
we end up in an empty path which is conceptually wrong.
Especially when passing such a result directly without further
checking may lead to bad issues.
Return a path containing just the '.' (dot) instead.

Change-Id: I86e1ab91e6610831fc05bd81776d278e9fe10105
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Jochen Becher <jochen_becher@gmx.de>
Reviewed-by: hjk <hjk@qt.io>
2021-08-19 04:39:05 +00:00
The Qt Project
d8a61bcea4 Merge "Merge remote-tracking branch 'origin/5.0'" 2021-08-18 14:42:50 +00:00
Jarek Kobus
6d18df6207 Remove QTC_REL_TOOLS_PATH and use RELATIVE_LIBEXEC_PATH instead
Change-Id: If737d7050985f2ae03d543c63347ea465a65c648
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-08-18 14:30:02 +00:00
Eike Ziller
94d352ab28 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	src/plugins/autotest/testresultdelegate.cpp

Change-Id: If172206f231fc2a9f4a672cd2e6eaeaea4988c96
2021-08-18 16:14:24 +02:00
Orgad Shaneh
2384865bff UnitTest: Adapt to Google Benchmark v1.5.4
Change-Id: I2c2a34206dbc01d277242f5d736eef3e1333b01f
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2021-08-18 11:58:46 +00:00
Jarek Kobus
b568321806 Compile fix
Remove unneeded closeWriteChannel().

Amends d22505c41f

Change-Id: I499039f2c46d70473a4b1a2c89ad6b2c27174f3a
Reviewed-by: hjk <hjk@qt.io>
2021-08-17 07:55:38 +00:00
hjk
7c28c4f744 Utils: Introduce a FilePath constructor from char arrays
Similar to QT_RESTRICTED_CAST_FROM_ASCII to avoid the need for
decorations in user code.

At the same time, drop some convenience constructors and functions
in CommandLine and Icon essentially serving the same purpose.

Change-Id: Ida4e5ac19c2da0a4298a97b2a8e1511d56bbb79d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-17 05:34:10 +00:00
Marco Bubke
98cba6e50c QmlDesigner: Improve file status cache
It is caching the file size now too.

Task-number: QDS-4788
Change-Id: I5cb816b8359bf3d2ef372ea319ce5920d9e0e4e9
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-08-16 15:23:10 +00:00
Marco Bubke
4ebc0f5078 QmlDesigner: Add file status support to the project storage
Task-number: QDS-4785
Change-Id: Idaadf6992fad938e3620169a415f9d3cf7b9927f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-08-16 15:23:04 +00:00
Marco Bubke
51452d0858 QmlDesigner: Add source path watcher
The watcher is only watching directories and then searches for file
stat changes. It is compressing signals too. So if files are changes
in a very short time frame they are compressed to one change.

Task-number: QDS-4776
Change-Id: I90052a0d5dba01467b505070fb58b04ea5576294
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-08-16 12:25:19 +00:00
Marco Bubke
19a30631af QmlDesigner: Improve support for explicit type names
Explicit type name ids are now saved as negative ids into the database
so they can be distingished by that 'flag'. For types we now use imports
and not anymore import ids. The resolving of the imports are done
internally to enable atomic synchronization.

Task-number: QDS-4662
Task-number: QDS-4725
Change-Id: Ia59763ec5578baec84f3c81fa1fd35ba075b8d84
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-08-16 12:25:00 +00:00
Eike Ziller
ab606faad2 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/android/createandroidmanifestwizard.cpp

Change-Id: Ibd06a254f52c2c96d8c6ddd6b1d27483fcc29a17
2021-08-16 10:51:50 +02:00
Christian Kandeler
33108795d6 CppTools: Turn some classes into pure value types
ProjectInfo, ProjectPart and ProjectUpdateInfo used to carry pointers
to Project and/or Toolchain, even though they were used in contexts
where these pointers were either unsafe to access or not guaranteed to
be valid anymore, which made their use difficult and error-prone.
We turn these classes into pure value types by copying in all relevant
information before the first async operation takes place.

Fixes: QTCREATORBUG-25678
Change-Id: I1914b0dbda6c7dfba6c95e5e92f2d69977755590
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-08-13 12:35:49 +00:00
Robert Löhning
00a2dd0747 Squish: Explicitly convert analyzer data to str
With Creator built on Qt 6.2, Squish considers the
data different although the contents look the same.

Change-Id: I281b7425d5b3f9a977456253e0299f452d75c1e2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-13 09:23:33 +00:00
Robert Löhning
765e6d2856 Squish: Remove redundant search criteria for named object
Change-Id: I8d6432f479381c7a517b8aeaeb29f76da03f4ae2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-13 09:23:13 +00:00
Robert Löhning
aec25d293b Squish: Use regex instead of wildcard to find objects
Squish 6.7.1 for Qt 6.1.x can't find the objects when using wildcards. The
same version of Squish for Qt 5.15.x works fine.

Change-Id: Ia378934af51cab2894a9df01e2391dbdb9cf32f9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-13 09:22:57 +00:00
Christian Stenger
0408b4a757 Squish: Improve Python2/Python3 compatibility
Change-Id: I49dc9ee2f4ef52900b403ed94f0c6cd5925239b6
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2021-08-12 11:17:44 +00:00