While parsing for Qt Quick Tests it may happen that an internal
map is accessed concurrently by different threads.
Guard against this. Minor drive-by optimizations.
Change-Id: Ic3b62c27feddb9a5ac5588a6c9643fc0e623ce19
Reviewed-by: David Schulz <david.schulz@qt.io>
- 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>
Do not show the buttons of output views with priority < 0 (instead of
only == -1). Reduce the number of buttons that are shown by default to
the essential ones.
Change-Id: I5b44f18537b3033ce9d616f044a8b54b76988783
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
It was using the displayName for the key in the settings (visibility and
shortcut), which is annoying when changing the language.
Change-Id: Iffa784347c59389599c90f468dcba15834599c39
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Especially Qt and Quick tests scanning takes some time,
so do some additional pre-filtering of files before
parsing them to reduce the number of files to process.
Depending on the structure of the project this can
significantly reduce the scan time.
Task-number: QTCREATORBUG-29301
Change-Id: I629beedcc02502d98d84e29282e1cd7b265cfcf0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
The look up of function definitions is quite costly. Limit
it to the test data functions as we need them when looking
for data tags.
This limitation reduces the time of a full scan here by
more than 40% compared to without limitation.
Task-number: QTCREATORBUG-29301
Change-Id: Ia692aab8cfcc1c98ca9a2d53c935d7755314f736
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Adds a report() function which generates a simple string
holding the number of items per framework root node and
uses it inside the logging after a full parse.
Change-Id: Ib4be89de778aeab7e9c80b5c0522ee7f3f1bb587
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
When applicable, the flag makes a significant difference in
performacnce. However is easily forgotten in cases where it
is applicable, and cases where it is accidentally used are
easily spotted visually. So arguably, opt-out is a better
default than opt-in.
Change-Id: I88aeb05b42533ba4e23c39573a3ddd016343cd55
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Especially when touching headers included centrally while
refactoring bigger projects the retriggered parsing of
large (depending) parts of the project can become rather
annoying.
Adds an action for immediate disabling parsing and
respectively other test related functions.
Change-Id: I553615cce90bc88d636a4519718887306ee5215b
Reviewed-by: David Schulz <david.schulz@qt.io>
In BoolAspect. Felt a bit too descriptive by now.
Change-Id: I0cf2eb88576da3d3741d146a8274cf8a85bc7c83
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
It's a handful functions around two independent lists.
Change-Id: I0a7015deef27a77d4e67488e1f9b6c7a8d71133b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
They were still using variables in qmake style.
Directly use CMake variables in the json.in files and remove the no
longer needed escaping of quotes.
Adds a fatal message if it detects the old style in a .json.in file for
easier porting.
Change-Id: I8de88d8db2da55781f0e9d72eda03f943723188e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
We use manual 'Apply' in the dialog.
Also, mark a few pages as non-autoapply that were recently changed
away from PagedSettings again which did that autmatically.
Change-Id: Id78cac2770658b18c420813802a0e77443329f39
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Currently living in the settings files to keep changes small,
will be renamed in a second step.
This allows the settings aspects to be used in their short form
and overall removes some indirections.
Change-Id: I099369b62239aed8192613a04bca958a660c36c7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
...if the code parser is scanning for tests.
Otherwise we have the canceled state of the running scan.
Change-Id: Ief493c0bf66825e57c44c79193d5e8085ee98acd
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
If a root node should get removed while scanning we may end up
crashing when still getting results.
As there is currently no mechanism to stop a certain parser
postpone the removal of the root node until the parsing is done.
Change-Id: I3766f9e67780e241801166339fa67f39536314b4
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Partially reverts 91bdbb61ec as
the symbol lookup will update the snapshot's cache. As there
are concurrent threads accessing the snapshot we may end up in
a crash.
Change-Id: I2aaf5e403b10cba2b26915cbe7b4712c43c4957b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>