Commit Graph

28 Commits

Author SHA1 Message Date
Jarek Kobus
cf010911f7 Don't allocate unneeded temporary containers
Fix clazy warnings: allocating an unneeded temporary container
[clazy-container-anti-pattern]

Change-Id: I4b4c2c634eea650bbdf3c12d982a17f899fc94ec
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-12-14 12:35:47 +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
Christian Stenger
ac14a1e038 AutoTest: Clean up header mess
Better decoupling and reduced binary size.

Change-Id: I4f6239979d9d7dae4ad92f19ec8420be38372c07
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-09 08:24:01 +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
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
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
Christian Stenger
a8cad2038e AutoTest: Tweak run after successful build
Make it possible to distinguish between all and selected
test cases also for the automatic run after build feature.

Change-Id: I91715a7ae4f09cea2e31844940a6b21ae9e62157
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-09-20 04:43:14 +00:00
Christian Stenger
51382a846d AutoTest: Add automatic run after build
Add an option to automatically run tests if the build
succeeded and the current project has tests.

Change-Id: I1fe028be84279b9b488f78590565c6d4b0449e34
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-09-02 07:08:38 +00:00
Christian Stenger
6dee2dc019 AutoTest: Make automatic popup of results pane configurable
Let the test results pane automatically popup before the
first test result is added to indicate running the tests
has started.
Beside this provide settings for enabling or disabling
the popup of the results pane on start or finish of a
test run and make it possible to limit the automatic
popup on finish to failed test runs.

Change-Id: Ib22735536effd9f2330b39a7d2830c97839eb21f
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-03-20 05:49:33 +00:00
Christian Stenger
330af3309c AutoTest: Remove scan filter capability
The scan filter capability had been added to avoid long
scans in bigger projects.
Nowadays the scans are done multi-threaded and the
filtering is probably barely used.

Change-Id: I7d99f5a57bb10deb3d79510db0c7a06bd771c271
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-03-18 09:10:09 +00:00
Christian Stenger
1a58a30685 AutoTest: Allow grouping of results by application
Add an option to group test results by the application
that contains the test cases.

Fixes: QTCREATORBUG-21740
Change-Id: If4e5c8118cd5dd81b1b75891b4eca85b08e76848
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-02-05 08:57:35 +00:00
Christian Stenger
1d894c0f7a AutoTest: Code cosmetics
* use nullptr
* override
* remove old style casts
* fix most of the code model warnings

Change-Id: Ia08e846f9326ae28ca7e7d66748e25a8b817b9b1
Reviewed-by: Xing Xiong
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-07-20 08:34:48 +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
4068ec44b6 AutoTest: Allow arguments for test runs
Arguments specified for run configurations were
ignored so far, but sometimes it might help to process
them. Add the possibility and a respective setting
to be able to pass arguments to the test run.

Task-number: QTCREATORBUG-17630
Change-Id: Ie64b784e8477efa02f50ce6b4cf3e55864952880
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-09-18 12:17:04 +00:00
Christian Stenger
67aea18cc2 AutoTest: Allow basic filtering of scanned folders
This allows to specify folders to be used as search folders
while scanning for tests.
Current approach allows simple folder names or folder structures
without wildcards.

Examples:
Value                What will be (recursively) scanned
tests                if the current project has any (not necessarily
                     a direct) subfolder 'tests' this folder will be
                     scanned
tests/auto           if the current project has any (not necessarily
                     a direct) subfolder 'tests' and this folder has
                     a direct subfolder 'auto' the 'auto' folder will
                     be scanned
If there are more folders which apply to the rules then all of them
will be scanned.
This filtering will not keep the parser inside these folders as it
might be necessary to step into different folders because of
dependencies if the found tests, but the search for entry points to
tests will be limited to these folders.

Task-number: QTCREATORBUG-16705
Change-Id: Ib93465540cd20656d033e16205807aba6830d738
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-01-26 12:28:01 +00:00
Christian Stenger
69a94c2c28 AutoTest: Always parse if plugin is enabled
Remove the 'Always parse' setting and respective special handling.
This simplifies the handling of parsing for tests and removes
strange special handling that was introduced in earlier versions
and led more to confusion on the user side.

Change-Id: Ia4d122ed448244f3cb3876dda9930864afde9c28
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-12-12 10:57:47 +00:00
Christian Stenger
4048403ae7 AutoTest: Separate settings pages
Change-Id: Ib7fedbd5c3bfdc793e1ef203a3ad808c55ac1a70
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 06:34:55 +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
b0bf07c64a AutoTest: Modernize code a bit
Change-Id: Ie56f6e5cb8a4f1962bd8df5e57214911ae609921
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-09-29 12:27:14 +00:00
Christian Stenger
b5875e84cb AutoTest: Generalize framework specific settings
Change-Id: Ie8a1db6408d2ceac7331d29ef25d193a15186a4c
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-09-19 09:59:40 +00:00
Christian Stenger
7f89df16a2 AutoTest: Separate settings
This is a preparation for providing a way to let a framework define
its own settings.
This patch breaks old (framework) settings as some options have been
renamed and/or moved into sub groups.

Change-Id: If43678bcf75f6153adba52ebdfb12cd7c043ad25
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-09-19 09:59:34 +00:00
Christian Stenger
fde344fff3 AutoTest: Simplify settings handling
There is no need to check complete settings whether something has
changed before setting them.
Limit the check to what is needed and remove unneeded functionality.

Change-Id: Icdf99d89d795edc20338a774ca7e90b1e4f1e417
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-09-19 09:59:27 +00:00
Christian Stenger
add34759fa AutoTest: Add some (debugging-related) options
Task-number: QTCREATORBUG-16694
Change-Id: Ie2c32c7e8fd73ba351d65a510af0d4d3574c9691
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-09-09 05:35:23 +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
c976054fa7 AutoTest: Enable parsing for tests by default
If one enables the plugin it would be most likely to have the
parsing (and related short cuts) enabled as well without the
need to open the navigation widget or results pane.

Change-Id: Ie0624713677bcae67492ac99d25519cc5cfab4a9
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-04-01 09:14:46 +00:00
Christian Stenger
ba61f2946d AutoTest: Add some gtest related settings
This patch enables execution of disabled tests, repetition of
test runs and shuffling of test sets.

Change-Id: I3668afde5766d18acdf1afb7edd913655b13a76c
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2016-02-26 09:40:46 +00:00
Christian Stenger
c31af6315f AutoTest: Provide setting to outvote automatically disabling parser
Test parser is normally disabled as long neither test tree nor results
pane is opened. The new setting allows the user to enable the parser
without the need to have one of these widgets opened.

Task-number: QTCREATORBUG-15669
Change-Id: I354e1a3cb91eeca2302f2344fd443c81c4b15406
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2016-02-03 13:36:21 +00:00
Christian Stenger
15b4e6fc91 Delete unneeded and prepare directory structure...
...to get plugin's repository more easily integrated
into QC's repository.

Change-Id: I10243bb4283623ae951e799feacaa15915678e04
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-01-22 14:07:19 +00:00