Commit Graph

1303 Commits

Author SHA1 Message Date
Marcus Tillmanns
503fd8121d Terminal: Make test actually manual
Change-Id: Ib44111401c4b4e1f16c8c53b6bd1f323f725cdd1
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-11-08 08:42:47 +00:00
Marcus Tillmanns
e108726314 Terminal: Add auto test
Auto test macOS terminal script.

Change-Id: Iaab9c31fa94cf16afc02e4e34978d5d10edf5c2d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-11-07 11:42:43 +00:00
Cristian Adam
bcc45d8bb9 CMakePM: Allow navigation to ${PROJECT_NAME}
Task-number: QTCREATORBUG-27211
Change-Id: I23e2c6f39ff3d4c89ef78a66c10e619e3df3245f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-10-31 15:52:41 +00:00
hjk
2893e892df Debugger: Adjust expectations of manual bigint test
It was wrong.

Fixes: QTCREATORBUG-29705
Change-Id: I4870d0f1b6b80a4b70803be213cfed51fa37982c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-10-13 11:21:01 +00:00
Marcus Tillmanns
413fda678f Utils: Add "layouting" widgets to layoutbuilder
This allows us to handle widgets that have an "addWidget" function.

Change-Id: Id1b63bae7032403fdd3c5e6ba60283cf56cc1cfe
Reviewed-by: hjk <hjk@qt.io>
2023-10-12 10:32:56 +00:00
Marcus Tillmanns
644e88ae2e Utils: Emerge widgets from LayoutItem
This allows us to call e.g. PushButton{}.emerge(); without having to
add another unnecessary layout.

Change-Id: Ica26f4776dee1843e1f40c238e1f3c1a54d14ea5
Reviewed-by: hjk <hjk@qt.io>
2023-10-12 10:32:44 +00:00
Cristian Adam
c929b71acd CMakePM: Add cache variables to code completion
Change-Id: I5ac4fcf3ca7755ab52ffecafd83922e4e380363e
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-10-10 18:29:06 +00:00
Cristian Adam
524634f124 CMakePM: Add support for "$ENV{" code completion and help
CMake has a few environment variables that are documented and this
commit adds support for them.

Change-Id: Iaa31bdc97b343581fcf519d19e66bc6ce8ace150
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-10-10 18:08:13 +00:00
Cristian Adam
380ca70d61 CMakePM: Add manual test for code completion / navigation
Change-Id: Id7ad47babf4c6fff8e7b823805d6ccf858a3d513
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-10-09 14:42:03 +00:00
Cristian Adam
6010b096c1 CMakePM: Move specific manual tests to cmakeprojectmanager
Previously this folder didn't exist, but now it's better to have
them all in one place.

Change-Id: Ib8a2f24157a34e817e653929d01dfc9675f1c019
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-10-09 14:41:54 +00:00
Eike Ziller
a0a4d9024e Merge remote-tracking branch 'origin/12.0'
Conflicts:
	src/plugins/python/pyside.cpp

Change-Id: I1f84ed56d38355cef6076797c72693fff4c1aa78
2023-09-28 11:02:38 +02:00
hjk
895f8e7396 Meson: Merge MesonProcess into project parser file pair
Only used there.

Also remove the translation line in the test project to help
with incomplete Qt 5 installations.

Change-Id: Id7029b499cec69a7e1733e2ac4ade9026c522951
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-28 07:00:21 +00:00
hjk
0eacd0190d All: Remove some unneeded #includes
Change-Id: If9a8fb5e0b32424e3b37ecf3adefc060f86b3630
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-27 13:50:38 +00:00
Christian Kandeler
fca94a8366 qbs build: Fix manual tests
- Remove dependency on project.withAutotests by adding local
{Qt,Cpp}Application overrides that alias QtcManualTest. This way, the
respective products are a QtcManualTest when inside Qt Creator, while
also working outside the source tree.
- Rename QtcManualtest to QtcManualTest. (The reason QtcAutotest is not
camel-cased is because "autotest" is a single word.)
- Plus some minor clean-ups.

Change-Id: Idd77191f0b433d6d7443c639eebda383ab110082
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-09-20 10:22:21 +00:00
Christian Kandeler
a217fa0c22 qbs build: Clean up testing infrastructure
- Rename ambiguously named "testsEnabled" property to "withPluginTests"
  and fix the wrong uses.
- Move AutotestRunner out of main project file and into tests.qbs.
- Move "withAutotests" property into qtc module. We cannot remove it
  from the main project file just yet, because some manual tests do not
  make use of QtcManualTest at the moment.
- Do not remove the autotests from the project tree if autotests are
  disabled. Instead, just disable the products.

Change-Id: I74a4cc717d9adbe53d37536b2565111e1617115b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-19 13:16:28 +00:00
Tim Jenssen
1a3a8ecc96 Merge remote-tracking branch 'origin/qds/dev'
Change-Id: Id242ab4ca485527defdcc1555d204e12e50ddb7a
2023-09-14 17:37:24 +02:00
Jarek Kobus
7730a329a3 TaskTree demo: Simplify task creation
Fix workflow policy.
Fix const correctness.
Rename treeRoot into recipe.

Change-Id: Ib0457691001dbb88135027f8c7a34ba671b0b082
Reviewed-by: hjk <hjk@qt.io>
2023-09-01 07:33:44 +00:00
Jarek Kobus
541719d443 TaskTree demo: Simplify task creation
Change-Id: Ia47c6599e872a7400b521ca77b109ff369bdd836
Reviewed-by: hjk <hjk@qt.io>
2023-08-28 11:38:46 +00:00
Tim Jenßen
0f05d7adb3 cleanup QMessageBox includes
Change-Id: I358a216c48b8fbf549af38360a93a073f03e3a98
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-08-22 16:56:50 +00:00
hjk
123793fbb1 Utils: Add an 'If' LayoutItem
Change-Id: I700e28d03b6dc39e96fa969152f236760989bdb7
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-15 13:03:11 +00:00
Jarek Kobus
98aacfd688 Debugger tests: Bump min cpp version to 17
Change-Id: I0fa3c153d1533f7f0390134d4b046e00c0368d9d
Reviewed-by: hjk <hjk@qt.io>
2023-08-10 09:24:20 +00:00
Jarek Kobus
66929b96a4 Debugger test: Get rid of foreach
Change-Id: Ia3414cffe9b88cfb5abbdd24eda5c36aa163c4f9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-07 12:42:16 +00:00
Jarek Kobus
47fce17aa3 Tests: Add context object into connections
Change-Id: I4bb05e5890b9b415085f17d6358d9066e3112d6d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-08-02 08:40:08 +00:00
Eike Ziller
3d3c78dfc6 Merge remote-tracking branch 'origin/11.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs

Change-Id: If3ada34dcc764fa1d0cce04fd343fb5a02c2fbaa
2023-07-10 09:29:51 +02:00
Eike Ziller
29ca86ce65 Haskell: Update dependency for manual test
Stack didn't want to install that old stuff anymore.

Change-Id: I8e196bca92b2a6100c8e4d1431f7588c6efad946
Reviewed-by: hjk <hjk@qt.io>
2023-07-07 08:33:18 +00:00
hjk
02ac595a2e LayoutBuilder: Add some playground for potential implementations
Change-Id: I0955c503dc03f9e4d81d6cfe4df7af63cf86a638
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-07-05 14:26:06 +00:00
Eike Ziller
26e96bfad8 Merge remote-tracking branch 'origin/11.0'
Conflicts:
	src/plugins/debugger/debuggeritemmanager.cpp

Change-Id: I9d99d13feff9315f52eacbd84857c63cb69bf804
2023-07-03 10:24:09 +02:00
Jarek Kobus
80326d8743 FileSearch: Remove FileIterator and subclasses
Rename tst_SubDirFileIterator into tst_SubDirFileContainer.

Change-Id: I0907ff93f1d6537d200fdc9f5783cfd2a8eb0aa9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-06-30 09:58:10 +00:00
Wladimir Leuschner
b1c3a539b7 Debugger: Build simple_test_plugin as shared library
Build \tests\manual\debugger\simple\simple_test_plugin as shared
library. Omit `lib` prefix for shared library when building on Windows.

Change-Id: Ica0f1d098e1add34fb7860bc1dacfbd89495b031
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-28 14:22:27 +00:00
Eike Ziller
6479785c20 Merge remote-tracking branch 'origin/11.0'
Change-Id: Icb3ed8a1aaf31e8201a61d04221bfcb23a78562a
2023-06-22 13:09:00 +02:00
hjk
de6fe3a63f Docker: Add a test container setup for Fedora 37
Task-number: QTCREATORBUG-28659
Change-Id: Ib8306525de186c51d8bcb53d466a6ac6dffb1c16
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-06-21 12:00:56 +00:00
Jarek Kobus
c17c696c1a Spinner: Add an example
Change-Id: Ie10fcc1aa6e31c663296610391d5453792c46a6f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-06-20 18:48:28 +00:00
Eike Ziller
0f9b118776 Merge remote-tracking branch 'origin/11.0'
Change-Id: Ib798dc9922c01b7667388ca03d3a248610f73028
2023-06-20 10:36:06 +02:00
Tim Jenssen
910e12a2a3 tests: remove manuel uisplit tests
They were using Quick Controls 1

Change-Id: Idc60e648d65445538defaa1c3f4e28d67581b902
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2023-06-19 15:37:57 +00:00
Eike Ziller
ea56417410 Merge remote-tracking branch 'origin/11.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs

Change-Id: Ide0650d70d5dbd32a5492c8db24089925251af12
2023-06-12 12:33:26 +02:00
Eike Ziller
3381a6219a Debugger test: Automatically sign on macOS
The "gui" manual test is used for release testing attaching a running
application and a core file to the debugger. For this, the application
must be signed with the right entitlements.

Since ad-hoc signing is sufficient, this doesn't require any setup on the
testers computer. So, make this signing automatic.

Change-Id: I7042a3091848ee1c9f7f3843507f3ca616d36179
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-06-09 11:02:42 +00:00
Eike Ziller
375db16ac4 Merge remote-tracking branch 'origin/11.0'
Change-Id: I87b22a73427cf9fc1b96075dc0db769ed3d3621c
2023-06-09 11:24:29 +02:00
Jarek Kobus
04b86eb3db ImageScaling: Implement the example using TaskTree
Change-Id: Iac54157955d5dffe12a7fdeed904fbcf62a2b667
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-07 09:27:40 +00:00
Eike Ziller
967c53696c Merge remote-tracking branch 'origin/11.0'
Conflicts:
	tests/manual/subdirfileiterator/tst_subdirfileiterator.cpp

Change-Id: I6fa8fbed152efc4033fa69e1ab67ced7e2ad35bc
2023-06-06 16:50:22 +02:00
Christian Stenger
a81c9b497a Tests: Fix qbs build
Change-Id: Ia4a54bab4208c5cdf1c7ce67f5caab84aa1583ef
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-06-06 11:45:04 +00:00
Jarek Kobus
d97d3f58ac TaskTree: Rename TaskItem into GroupItem
Not all classes derived from TaskItem are tasks,
but the common denominator is that all may be placed
inside a group: thus GroupItem sounds more appropriate.

Addresses the 10th point in the bugreport below.

Task-number: QTCREATORBUG-28741
Change-Id: I94d728a8e39ec732810f2e5bbe6b9a76f3bc387c
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-06-06 09:06:01 +00:00
Jarek Kobus
3f9704846b ImageScaling: Get rid of doc example markers
In order to more easily compare both implementations.

Change-Id: I4ff48cb4d4e61be4e2c8834f63091f4d825db0be
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-06 08:05:58 +00:00
Jarek Kobus
c3344c740a Tasking: Import imagescaling example
It's an initial copy of the
qtbase/examples/qtconcurrent/imagescaling.

The goal is to implement it using TaskTree and
compare both implementations.

Change-Id: I92953a70a3330ac679823060e75e5f39971ae444
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-06-06 08:05:39 +00:00
Jarek Kobus
9694d9c6f6 Tasking: Introduce NetworkQuery
The NetworkQuery class is prepared to work with TaskTree.
Provide the task tree adapter for the NetworkQuery class.
Register the task inside the Tasking namespace under
the NetworkQueryTask name.

This class introduces the dependency to Qt::Network,
otherwise Tasking namespace is independent on Qt::Network.
Possibly, may be added into Qt::Network lib,
as a wrapper around the QNetworkReply.

Change-Id: I29f160c0bf128c567ce20f044540b2dd6f1e17c4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-06-06 08:05:14 +00:00
Jarek Kobus
3ee32c1a3b TaskTree: Reuse withTimeout()
Add static runBlocking() overloads.
Replace int timeout arg with std::chrono::milliseconds.

Change-Id: Id10a010f05eda8452cd7e4cd9ee46216087fc70e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-06-01 10:54:10 +00:00
Jarek Kobus
6f8e5c409f TaskTree: De-utils-ize manual test, rename it to demo
Change-Id: I80a2522f7ba12ee9b63c19d66e514d7047951733
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-06-01 10:53:35 +00:00
Jarek Kobus
29811f81dc FileSearch: Introduce FileContainer
That's going to replace FileIterator.

Benefits over FileIterator:

1. The FileContainer is a value type which may be
   freely copied.
2. Much faster iterating, especially for SubDirFileContainer
   with a big number of dirs / files (over 500000).

The FileContainer has begin() and end() functions returning
FileContainerIterator. The FileContainerIterator, when it's
not an end() iterator, contains the Item's value itself.
Whenever the iterator advances, the Item's value changes,
while the reference to Item's value remains unchanged inside
the iterator.

The SubDirFileContainer doesn't keep the references to all
visited Items anymore, contrary to the corresponding
SubDirFileInterator. The values of the individually visited
Items are kept only inside FileContainerIterator instances.

The progress information is available through the
FileContainerIterator's progressValue() / progressMaximum().

Task-number: QTCREATORBUG-28892
Change-Id: If89ac1121c21fa2fb7355aa12438dce3e85e465d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-05-31 13:33:09 +00:00
Jarek Kobus
3a75af3794 tst_SubDirFileIterator: Always generate ~700000 files
And ~175000 directories.
Distribute the generation and cleanup on all available cores.

With this patch I get the following config / measurements (linux):

Generating on 24 cores...
Generating 698881 files...
Generating 174721 dirs...
Generating inside "/tmp/tst_manual_subdirfileiterator-eHVKTL" dir...
GENERATING TEMPORARY FILES TREE stopped with timeout: 1777ms

ITERATING with SubDirFileIterator stopped with timeout: 92744ms
ITERATING with manual iterator stopped with timeout: 7905ms
ITERATING with QDirIterator stopped with timeout: 4706ms

CLEANING UP stopped with timeout: 1969ms

Amends 686a40d199

Change-Id: I7838e9cf73eae731a4dc3be02eeefa5caae8613d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-05-31 13:32:59 +00:00
Jarek Kobus
4e01ca18d1 TaskTree: Rename optional into finishAllAndDone
Rationale:
1. More descriptive.
2. More consistent with a planned new finishAllAndError policy.
3. Limits the possibilities of making a conflict with std::optional.

Change-Id: I5155630188e4b699e6c18b13a101e0e2d4fe98f2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-05-30 15:23:31 +00:00
Jarek Kobus
c098b261dc TaskTree: Refactor Group internal data
Introduce the GroupData structure. In this way it's easily
possible to add extra properties of already used types, e.g. int.

It's also possible to easily create elements with multiple
properties.

Simplify internal TaskItem::Type enum.

Get rid of special ParallelLimit and Workflow elements.
Provide global parallelLimit() and workflowPolicy() functions.

Make global items (e.g. parallel, stopOnDone, etc...) const.

Change-Id: Ic5628255b542fd6c5a5565b055ff11804c8d7b68
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-05-19 15:30:15 +00:00