Commit Graph

2882 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Christian Stenger
b98b807bc9 Tests: Fix compile
Amends 25f585227f.

Change-Id: I7f96fab0ecb12225f32f31f5c8cb89f6faf58a32
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-08-09 09:34:38 +00:00
Eike Ziller
6f69ee8b27 SilverSearcher: Use data driven testing for output parser
Change-Id: Ia5a312a3c55eb753820d45ffcd72763137856933
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com>
2021-08-09 09:33:08 +00:00
Tor Arne Vestbø
562848f647 Fix warning about format string not being string literal
Change-Id: I54e80b15b7a492acd4ffdb50a28f00511f72355c
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2021-08-04 09:46:13 +00:00
Tor Arne Vestbø
53b21b7644 Replace uses of deprecated QWARN macro with qWarning
Change-Id: I71ee2cedaf40197ac52f61e74060656fc4b305d4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2021-08-03 10:03:34 +00:00
Orgad Shaneh
61008441da Merge remote-tracking branch 'origin/5.0'
Change-Id: I9aa7b7a6490e8fb592a0e785a57128d438fdbab5
2021-07-27 11:39:29 +03:00
Christian Stenger
8593920f4c Tests: Fix build on Linux and macOS
Amends fd677101a9.

Change-Id: Ie994588f91b3b239080530df417128418a4e36ef
Reviewed-by: hjk <hjk@qt.io>
2021-07-23 05:55:58 +00:00
hjk
09286d062f Merge remote-tracking branch 'origin/5.0'
Change-Id: I074571dac56b26a8a1449c29aef53b9052d8e304
2021-07-22 15:00:19 +02:00
hjk
fd677101a9 Utils: Split FilePath off fileutils.h
This now rather central class deserves a suitably named file(pair).

The rarer used declarations including otherwise not needed includes are
still in fileutils.h.

Change-Id: Ib18d72f16322c03f76023fdefcd5f6da35311b8b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-07-22 11:52:58 +00:00
Eike Ziller
13e8a9a136 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri

Change-Id: I5dd6bd7d7e71c84a43b33c0aded673f3c4a57ef8
2021-07-16 12:48:19 +02:00
Thomas Hartmann
ec8f0ff703 QmlDesigner: Fix testRewriterComponentId
Only attach a single rewriter view.

Change-Id: I5ee4e12c8939e6738803a1d50026ea8b143e9d3b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-07-16 08:45:44 +00:00
hjk
b841d79e28 Merge remote-tracking branch 'origin/5.0'
Change-Id: I8ecb4ab5cb5754e26de3c446abed2386c42305d6
2021-07-16 09:56:01 +02:00
Wojciech Smigaj
9d3100ff1e ProjectTree: Merge descendants of hidden Sources and Headers virtual folders
Unchecking the recently added "Show Source and Header Groups" option removes
the Sources and Headers virtual folders from the Projects tree. This patch
additionally merges descendants of these folders with identical priorities,
display names and file paths.

For example, if a project contains a folder including both source and header
files, both the Sources and Headers virtual folders will have child nodes
representing that folder. Previously, unchecking "Show Source and Header
Groups" kept both these identically named nodes in the Projects tree (one
containing sources, the other headers). With this patch, these nodes are
merged into a single node containing both sources and headers.

Change-Id: I4786eee4a528ea141a7fe117e14a050f68411890
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-07-15 19:45:03 +00:00
Alessandro Portale
f29d7b896f Restore support for CMake < 3.11
Prior to CMake 3.11, the SOURCES could not be omitted when
calling add_executable.

This change ensures that SOURCES are passed, at least when
building against Qt < 6.2.

Change-Id: I83bd82fe12364523ce6954d145b632df7210d118
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-07-15 19:29:14 +00:00
Thomas Hartmann
361e0f0eb4 QmlDesigner: Fix testRewriterView and add testRewriterView2
The new test testRewriterView2 is a variant with slightly different setup.
We have to wait for the type information to be parsed.

Change-Id: I231b8d13e6be5ad52a8c3b72ebaf81c13a24f782
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2021-07-15 07:53:12 +00:00
Eike Ziller
92b5afc3de Merge remote-tracking branch 'origin/5.0'
Change-Id: If0cbc808d2c466aee81a77b3c078bac7a3d1e4cb
2021-07-15 09:48:08 +02:00
Christian Stenger
75aa1f2a6c Tests: Expect fail
Amends ada39349a2.

Change-Id: I4221590941ba17e28fff1d12bb0c80d92ecac911
Reviewed-by: hjk <hjk@qt.io>
2021-07-15 04:59:38 +00:00
Christian Stenger
4d8d91647e Tests: Fix nullptr access in QmlDesigner tests
This is just a hot fix and will be replaced later on.

Change-Id: I63fb5dcadc965ca2e9ade67b0b748f7abb011aff
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-07-14 11:20:55 +00:00
Thomas Hartmann
afe95c4ac2 QmlDesigner: Switch to QtQuick import
The Qt import is a leftover from Qt 4.

Change-Id: Ib7781be40774632bbe3fa869f174301bf3e28143
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-07-14 10:18:29 +00:00
Christian Stenger
0eb2d62b0a Tests: Fix linking qmake build on Linux and macOS
Change-Id: I11f0d94bc2d921f184cd8948ac47f39232c215cf
Reviewed-by: hjk <hjk@qt.io>
2021-07-12 06:36:19 +00:00
Alessandro Portale
bf6f446a35 Tracing: Fix build of tst_flamegraphview.cpp
Change faulty include from system to local

amends: 3ebe5dbb99

Change-Id: I466e683137b5e95f5b70fb2efa3dda1a77af8a04
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-06-29 05:51:29 +00:00
Alessandro Portale
3ebe5dbb99 Tracing: Use qt_add_qml_module for tst_flamegraphview
Use the CMake-based qml API to create the
"QtCreator.TstTracingFlameGraphView" module.
This uses qt_add_qml_module, which was introduced with Qt 6.2.

For Qt 6.1 and below, everything compiles and runs like before this
change.

Change-Id: I7b1d7109c5fcff55c7be4b431f21281a63d13332
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-06-28 15:06:39 +00:00
hjk
430e81facd All: Replace most SynchronousProcess by QtcProcess
Change-Id: I0bf22fef2cd4a7297ef5a1e9aa9c3e2b9348ba42
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-06-23 07:55:31 +00:00
Alessandro Portale
a56ce4e450 Tracing: Add qml, register types via qt_add_qml_module
Use the CMake-based qml API to create the "QtCreator.Tracing" module.
This uses qt_add_qml_module, which was introduced with Qt 6.2.

For Qt 6.1 and below, everything compiles and runs like before this
change.

Change-Id: I4d63f9f724d0628cfaab9d1164c0d575f15d15aa
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2021-06-22 11:58:05 +00:00
Jarek Kobus
fe7b5458eb Refactor tst_joinAllThreads, to be used in ModelManager d'tor
The idea in this approach is that we only collect those futures,
which have resulted from runAsync. The assumption is that
all tasks associated with those futures may sooner or
later finish, without the need to call qApp->processEvents().

OTOH, we don't collect fake futures coming from Utils::onFinished,
as these requires the spinning event loop in order to deliver
the onFinished signal.

So, the new joinAllThreads() method waits for all collected
futures to finish. We also _do_ want canceled and not finished
futures to finish, since even when they are canceled,
they may still be running and using the internals
of possibly destructed ModelManager. This means, we are only
waiting for other threads to be finished, without reporting
their results to e.g. onFinished() handlers.

Some tests require that all onFinished handlers are also processed.
In order to achieve this, we create a loop inside
tst_joinAllThreads() method and we call joinAllThreads(), so
it will wait for all pending queue to finish, and then we call process
events, in order to let finished futures propagate their results
to their respective onFinished() handlers.
Some handlers may have stared another threads when being processed,
so we may expect that some new futures will appear.
So, after processing the events we check if any new events
appeared, and in this case we repeat the loop.
Otherwise, we finish synchronization.

Amends: 96c860159b

Task-number: QTCREATORBUG-25350
Change-Id: I5e44150c55f6be00445a5695938482d948990c94
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
2021-06-21 12:19:17 +00:00
hjk
ada39349a2 Utils: Merge QtcProcess line reading functions
- Pass everything through the codec.
- Always emit even incomplete last lines when the process finishes.
- Don't store raw output when line-wise processing is requested.

Change-Id: I5cc30ad0d7ab79387bfb00b48ff957468a1bd004
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-06-21 10:59:40 +00:00
Thomas Hartmann
e1c90bf047 QmlDesigner: Extend tst_TestCore::loadQml()
We should check for the version. For this we have to enable
semantic errors.

Change-Id: I8bedca041ebf9bbc0580b89076203e47942cc539
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-06-18 08:04:45 +00:00
Thomas Hartmann
03985dd55e QmlDesigner: Use QtQuick 2.1 imports
QtQuick 1.1 is not supported anymore.

Change-Id: Ibfeba6f2e0617892ea823d1043344502e4617b7a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-06-17 14:34:57 +00:00
Thomas Hartmann
4642dc3518 QmlDesigner: Trim strings in tests when comparing
We use a NonIndenting rewriter and do not test the indentation.
Therefore we can trim white spaces.

Change-Id: I16e4acbbbc69568549cb679d988ff951b68f33b0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-06-17 14:32:53 +00:00
Thomas Hartmann
6dba941b3f QmlDesigner: Use QtQuick 2.15 instead of QtQuick 2.1
QtQuick 2.15 is supposed to work and we can use it in some tests.

Change-Id: Ic3f6505dd5c683ec6521015b5dcd6c8f83a1171e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-06-17 14:28:37 +00:00
Thomas Hartmann
add272dbbb QmlDesigner.Tests: Use simplifiedTypeName for QtObject and Component
It is ambiguous if QtObject and Component come from QtQml or QtQuick.

Change-Id: I2e1dd48d80ee7aec8293eac85160d62a584c2819
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-06-17 14:28:29 +00:00
Alessandro Portale
43c5944571 Tracing/QmlProfiler/CtfVisualizer/PerfProfiler: Compile with Qt 6
This makes the tracing lib, its tests and the three plugins which depend
on the lib compile with Qt 6.

The rectangles are not yet shown most likely because some OpenGL
specific code was #ifdef-ed for Qt 6. That code needs to be
reimplemented on top of the new Scenegraph API, using the RHI instead of
direct OpenGL in a follow-up patch.
An assertion failure in QQuickWidget::createFramebufferObject() needs to
be fixed as-well.

The code still builds and runs assertion free (and the autotests pass)
when built against Qt 5.

Task-number: QTCREATORBUG-20575
Change-Id: I47ebb477823de2f0d27329dac7c292a466cea1d7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2021-06-09 15:30:21 +00:00
Alessandro Portale
27f8e2dbce Utils: Fix splitting in ChannelBuffer::takeFirstLine()
Escape the '\r'

Change-Id: I8cee40dc4a65f893f1a11c7cf066777498c37339
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-06-09 06:40:11 +00:00