Commit Graph

32 Commits

Author SHA1 Message Date
Marcus Tillmanns
824fee183c Fix setEnabler / readSettings order
BaseAspect::setEnabler requires the settings to be read already.
This is because readSettings() does not emit "valueChanged", and so
the connections from the enabler to the target are not triggered.

Change-Id: I0c95e2b516cd03c1dbad653288b44510ec7ea800
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-11-07 08:54:34 +00:00
hjk
3ad3b6a975 AutoTest: Dissolve TestFrameworkManager
It's a handful functions around two independent lists.

Change-Id: I0a7015deef27a77d4e67488e1f9b6c7a8d71133b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-28 10:08:32 +00:00
hjk
8a6e4bea9e Autotest: Simplify framework registration functions signature
Change-Id: I249b73f0adf5a678145be9d00bee9a733097bfef
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-28 09:55:10 +00:00
hjk
694d81ad63 Autotest: Adapt to changed settings access pattern again
Settings are created on first access now, even though this
doesn't matter much here as this happens unconditionally in
AutotestPluginPrivate ctor via m_frameworkManager.synchronizeSettings()

Change-Id: I340927cf107d7e4b2268e842d23f1a89898e8a92
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-10 08:13:37 +00:00
hjk
91513a53dd Utils: Make aspect settings access implicit
Generally, aspects should use fromMap/toMap, but some older pages
use {from,to}Settings with always the same ICore::settings().

To make that less intrusive on the user code side, make that globally
implicit.

Task-number: QTCREATORBUG-29167
Change-Id: I29a8e23a31eb8061bb143e93931a07c6741eb7f9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-07 09:02:29 +00:00
Orgad Shaneh
64d1f49078 Autotest: Fix struct/class misalignment
Amends 30af7a9503.

Change-Id: Ie8ca92c427fc3446727d78a76aee492eb789b7ed
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-05-15 04:50:18 +00:00
Kai Köhne
56baf8c058 Remove GPL-3.0+ from license identifiers
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...

While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only

Change was done by running

  find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;

Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-06 11:15:13 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00
Christian Stenger
3de4ac3736 AutoTest: Handle test tools inside project settings
This effectively enables to handle ctest project wise instead
of just globally. So far only code based test frameworks could
be enabled or disabled by project.

Change-Id: I491f91119c3500131ca51af4d55b0e68d47debf0
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-15 06:20:09 +00:00
Christian Stenger
c217f0694d AutoTest: Allow registering ITestTools
Task-number: QTCREATORBUG-23332
Change-Id: I529b1cc1f110739c264c7a021aada063f697b1db
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-11-27 09:53:43 +00:00
hjk
430a33dcd9 Core/Utils: Migrate further to Utils::Id
The coreplugin/id.h header is kept for downstream for now.

Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-07-06 06:07:13 +00:00
Eike Ziller
1b431fe271 Move Id from Core to Utils
And add a compatibility wrapper for Core::Id, so we don't have to rename
all occurrences from Core::Id to Utils::Id.

This allows us to use Id also in Utils, which makes it possible to e.g.
move Core::InfoBar to Utils without work arounds.

Change-Id: I5555d05b4e52f09d501dbfe5d91252a982a97c61
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-06-18 05:58:23 +00:00
hjk
78235d63b4 Autotest: Slim down TestFrameworkManager interface
- sort frameworks at insertion time
- apply the 'static' pattern
- inline code from convenience functions that are only used once on
  the caller side

Change-Id: Ic4a46ad9487c58b4dfd61658a6fccebb88a428a9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-27 14:16:48 +00:00
hjk
77c4caf4ea Autotest: Keep track of generating framework in TestTreeItem
... and TestConfiguration. This allows dropping code that
reconstruct framework ids and framework lookup by id.

Change-Id: I0bb1e6e135376e21f96b9fab7971aa097787e483
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-27 14:11:11 +00:00
hjk
f3c1751965 Autotest: Move Test{FrameWorkManager,Runner} singletons
Make them plugin-pimpl data members, removing some indirections.

Change-Id: Ie441ac94a27f07342513b0b5b1437ccfe4b5d7d2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-26 16:46:17 +00:00
hjk
05a0b33146 AutoTest: Simplify TestFrameworkManager
With only four items the hash is not really needed.

Change-Id: Ifc858bc6517e4e0ff46b515a74568742897ddb11
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-25 11:24:06 +00:00
hjk
7158e67612 AutoTest: Move TestCodeParser and TestTreeModel ownership to plugin pimpl
Change-Id: I01b32aae894a4b419c8a067f604d5f04a2b14dfe
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-20 13:13:52 +00:00
hjk
d3f79fcc68 AutoTest: Use ITestFramework * instead of its id in some cases
Change-Id: Ic327e31185247b6479c78af8bf8156f44bb4bdfb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-16 12:18:29 +00:00
hjk
c1f210dd69 AutoTest: Provide easy Id<->ITestFramework * mapping
They are 1:1, idea is to replace (most of the) Id uses with the
framework itself, overall simplifying e.g. TestFrameworkManager.

For a salami-tactics transition, easy convervion between the two helps.

Change-Id: Ib6d166ae34a3189d900353be7a181a1e45467a7c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-16 09:51:04 +00:00
hjk
2c79196ab5 AutoTest: Tie framework settings explicitly to ITestFramework instance
This leaves no doubts regarding lifetime and type.

Change-Id: I1fdd60427a469f32236ea0fa923ec9fa308c338e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-13 11:12:36 +00:00
hjk
722705e1e7 AutoTest: Use normal object for settings
Ownership is clear here.

However, since this is accessed via the static plugin interface,
this needed some change that access.

Change-Id: I9488a242442303dee89006240f787677afab730a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-02 09:56:10 +00:00
hjk
03003872bc AutoTest: Drop ITestSettingsPage intermediate class
Less code in total, and more uniform with other IOptionPage subclasses.

Change-Id: I3d1cb9fae0faf32a360394cc5cf3262a9b59b456
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-01-15 10:52:24 +00:00
Cristian Adam
05ce7a6774 CMake build: Build fix for automoc compilation failure
Compiler (MSVC, MinGW) got confused while trying to compile automoc's code
generated files for autotest/quick/quicktestparser.h

Autotest::TestTreeItem moved from Autotest::Internal::TestTreeItem, but
a few forward declarations remained in Autotest::Internal, which
resulted in errors like:

error C2555: overriding virtual function return type differs and is not
covariant

Side effect of commit 03b80025a9

Change-Id: I6e12526abc7e8f8a9562e7f2502e070e379117f4
Reviewed-by: hjk <hjk@qt.io>
2019-09-03 06:59:31 +00:00
Christian Stenger
03b80025a9 AutoTest: Shuffle namespaces for clearer separation
Change-Id: I6ac440c6d72c3d0dbcd75907f8a6ae756f3cf5ee
Reviewed-by: hjk <hjk@qt.io>
2019-09-02 09:04:16 +00:00
Christian Stenger
0d11d880ca AutoTest: Unify container usage in TestFrameworkManager
And provide an accessor for the framework's priority which
will be needed later on.

Change-Id: I5a2480699d9467ee50e2cc44b9d4ff58f9e8da88
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-08-22 13:34:23 +00:00
Christian Stenger
86b78bde5d AutoTest: Allow framework specific tool tip on settings
The grouping checkbox enables grouping, but frameworks can have
more grouping modes than the default implementation.
Allow frameworks to provide its own tool tip for the checkbox
on the general settings page.

Change-Id: I0515e542284491a669ef33820104a32074ecf885
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-04-12 08:27:25 +00:00
Christian Stenger
56fbeb8a68 AutoTest: Avoid global object pool
Instead of adding internal objects to the global
object pool keep them to handle their destruction.

Change-Id: Ie6217b2a820fbfa6f088fd9349225f5f8488f593
Reviewed-by: hjk <hjk@qt.io>
2018-02-01 09:23:14 +00:00
Christian Stenger
4eabcda3a1 AutoTest: Allow grouping of test cases
Grouping of test cases can now get enabled for each
registered framework.
For now grouping happens only folder based.

Task-number: QTCREATORBUG-17979
Change-Id: Ic0e5c0ecc76998a1aedea8aa0845f6d9b53fb179
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-01-15 13:21:44 +00:00
Christian Stenger
18dc7a5de9 AutoTest: Move framework settings into framework manager
Change-Id: I9914291adb102de5136802eb3b6d12afb6276538
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 06:34:28 +00:00
Christian Stenger
584e0c6b4c AutoTest: Display hint if no framework is active
Change-Id: Ia569bcb5c78809cd9bc58499b55b1b26e34d5d89
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2016-06-14 13:46:36 +00:00
Christian Stenger
8cba580343 AutoTest: Introduce active state for test frameworks
Change-Id: I0fddce91a239c0a51352a25e34a221fd8880b733
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2016-06-14 11:05:35 +00:00
Christian Stenger
5ef85949a8 AutoTest: Add test frame work handling
Mainly a preparation for enabling/disabling test frame works.

Change-Id: I0bbea7e055a607517ef8193587c229cadf0de027
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-06-09 11:50:26 +00:00