Merge setSelectedTests() and prepareToRunTests() into runTests().
Change-Id: I908c41483f05eeaec186f362391941a797d66e6a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
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>
Instead, we should provide tst_StringTable that would
run GC, make a sleep inside GC being run in other thread
and execute destructor of StringTable in main thread.
In this case the test should ensure that destructor of
StringTable waits for its internal thread to finish.
Amends 7a02b39f26
Change-Id: I017b5a8f98b41ef6884c43d319858dcb16f17fba
Reviewed-by: hjk <hjk@qt.io>
Especially when running tests that are not macro-based
(e.g. QTest) it could happen that more functions had been
executed as the filtering only applied when the cursor
was located at the definition of the function.
Try further filtering using the code model to avoid running
functions that match by name, but are located in a different
class.
Fixes: QTCREATORBUG-28496
Change-Id: I6c543f028aa20a75cc091e8db87207c41be580aa
Reviewed-by: David Schulz <david.schulz@qt.io>
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>
Round 1 - focus on headers.
For classes with initial in range [H-K].
Try to keep the same separators between different kind of headers.
Change-Id: Iefb032953743be41a847ee011c30527edfa425d8
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
When debugging tests, if there was no change in code, user should be
able to just rerun tests of his choice. However, currently there are not
so many options to just rerun tests without the build.
This patch adds more options to run tests without deployment, which can
speed up development in some environments
Change-Id: I9f998fee90f2e61a1623bd0840a9d5ddf8eb58d7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... which avoids a raw pointer which needs additional "management".
Change-Id: I9c478b4043a563b00ced09de8366657eaf34c349
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This scenario is used for testing against regression in StringTable.
If the scenario went OK, the creator finishes and doesn't crash.
Later, this scenario will be invoked from additional test, so that
the second instance of creator will run and the test will
check if the subprocess finished OK. So it's going to be combined
with autotests in the follow up patch.
In order to test it, run creator with the following command line:
"-settingspath ~/.config -scenario TestStringTable". Make sure,
that you point settingspath to creator settings which have
proper kit with a toolchain and Qt setup.
The regression may be tested by restoring the
src/plugins/cpptools/stringtable.cpp to the parent of
f4ab1279fd and by applying on top of it
this patch (simple conflict may need to be resolved). In this case
running this scenario ends up with a crash (so, it confirms this test
fails on the old code form before the fix).
Change-Id: Icbb56233495047fd68bfb605fcd088f352a16323
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Still some missing bits as some QString members had different meanings
depending on their context.
Change-Id: Ib48eab54498974a26bbd5123cbffeefee5f7e79c
Reviewed-by: hjk <hjk@qt.io>
This allows to have ctest based tests listed inside the test
integration and to run them.
Task-number: QTCREATORBUG-23332
Change-Id: I1cb855697d7bb4afcd7c887506abdea16c252cb0
Reviewed-by: David Schulz <david.schulz@qt.io>
In AutoTest, use the toolbar and menu variants accordingly.
Change-Id: I1405de1ace1efe6c3e51b17356a9e4dfb3b11dcd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
It's enough to pass QHash as an input for qDeleteAll,
it will delete all values and won't touch keys.
Change-Id: I9b00963888ac780f74eabdf59ad02890a042a0d2
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Preparation for an additional simpler test configuration
which needs to have the same common base.
Change-Id: I1800ed5d7301f1aea99eba6ef588a204697bd569
Reviewed-by: David Schulz <david.schulz@qt.io>
If the last run had failures and the test frameworks
support matching a test result to a test tree item
give the user an easy way to re-run all failed tests.
Change-Id: I4f3150ca8a6514c09cf7ca819f84e38c6419a310
Reviewed-by: David Schulz <david.schulz@qt.io>
Persistent settings cannot handle QVariantHash and when
reading the check state the meta type system seems to have
the need to have used the check state already before,
otherwise it will fail to convert until it uses it.
This happened e.g. when re-opening a project that had
former check states stored inside the project settings
directly from the Welcome page after starting QC.
Amends df49d6e40d.
Change-Id: Id2b85373c151efb5890fe5fb7392bdbc11adda50
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
There are more, but we need to keep those because MSVC believes they are
required. This is the subset that satisifies both compilers.
Change-Id: I0b0a63d5496acc119a7f0513d3a1da0b76fa1fca
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This adds a basic test and test output parser for the
Catch2 test framework.
Task-number: QTCREATORBUG-19740
Done-with: Christian Stenger <christian.stenger@qt.io>
Change-Id: Ic3322905ab82f414d2a26c325e130142233f72aa
Reviewed-by: David Schulz <david.schulz@qt.io>
Make them plugin-pimpl data members, removing some indirections.
Change-Id: Ie441ac94a27f07342513b0b5b1437ccfe4b5d7d2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
There is no need for holding the q-pointer anymore.
Change-Id: I9de19238b0cf0d59cd1e88590b7b2dfaf28ff285
Reviewed-by: David Schulz <david.schulz@qt.io>
Make sure project settings will be destructed
correctly.
Change-Id: I633bf744eb2e0835fe89e3a9f3c2f7293c5f5275
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
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>
This enforces a linear pass through
[static] ProjectExplorerPlugin::updateRunActions
ProjectExplorerPluginPrivate::doUpdateRunAction
[emit] ProjectExplorerPluginPrivate::runActionsUpdated
instead of the previous direct emission of the signal from
user code and connecting also the internal update to it.
This is meant to simplify reasoning about execution order and
maybe to help elimimating double executation.
Change-Id: Id8cc41a46d9dec06afb5514855f2ae80560f3695
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The "TOOLBAR" version is too bright and has a shadow (in non-dark
modes).
Change-Id: Ic7e8500fd9ecad4465bf2d9dfba53c0bf6538a66
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Keep the timer for syncing frameworks where it
is really used, do not create functions that are
not necessary at all.
Change-Id: Ie0a49a2611dc67510b72562455ea2a1af7b1c538
Reviewed-by: David Schulz <david.schulz@qt.io>
Provide integration into the 'Project' view which allows to set
some settings on a per project base.
For now only enabling or disabling of test frameworks.
Task-number: QTCREATORBUG-16704
Change-Id: Iedd9a300164931e07a21cbb4e5a222be3266c81e
Reviewed-by: David Schulz <david.schulz@qt.io>
Recently tons of warnings show up for presumably "problematic"
singned <-> unsigned and size conversions.
The Qt side uses 'int', and that's the biggest 'integration surface'
for us, so instead of establishing some internal boundary between
signed and unsigned areas, push that boundary out of creator core code,
and use 'int' everywhere.
Because it reduces friction further, also do it in libcplusplus.
Change-Id: I84f3b79852c8029713e7ea6f133ffb9ef7030a70
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.
Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>