| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
[ChangeLog][Third-Party Code] libjpeg-turbo was updated to version 3.1.3
Pick-to: 6.11 6.10 6.8 6.5 5.15
Change-Id: Ic402772f54e34082694693e0fc6b61bd0c556825
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
I'm not sure when it was last used, or what the purpose was, but
it's not in use today, so let's take the opportunity to delete it.
Somewhat amends commit 587d64507a0e419c089a83d0cf30026bf3b6bd20.
Pick-to: 6.11 6.10
Change-Id: I9facb8cc3250eeaf6d9196f9f5594e1554f5cfa6
Reviewed-by: Mate Barany <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
To allow binaries to be used on windows 10 even if compiled with support
for QIORing.
Task-number: QTBUG-136763
Pick-to: 6.11
Change-Id: I1cc15c794e90dd5e8fe82391075f7ee8c532c68a
Reviewed-by: Ivan Solovev <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After creating a project, qt-cmake-create displayed the following build
instructions:
mkdir build
cd build
qt-cmake /project-location
cmake --build /project-location
The last line is wrong and should point to the build dir, not the source
dir. Correct this.
Pick-to: 6.8 6.10 6.11
Fixes: QTBUG-140863
Change-Id: If55c0f2d29f9b239ea5ab04bea54d9e320e4ef8c
Reviewed-by: Alexandru Croitor <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the native backend (where one is supported) reports a failure in
its init() function, fall back to create a backend of the threadpool
variant.
This required changing the hierarchy a bit so they can co-exist -
without turning this into a fully plugin-ized class - as well as making
the thread and future features mandatory for the async-io feature, so
there is an actual fallback guaranteed to be available.
Task-number: QTBUG-136763
Pick-to: 6.11
Change-Id: Ib87c42bb67eec446278be2e43ca76f594155ab84
Reviewed-by: Ivan Solovev <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
According to the linked bug report it was fixed for VS 17.10
which lists 19.40 as the bumped version for its toolset.
https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes-v17.10#17100--visual-studio-2022-version-17100
Pick-to: 6.11
Change-Id: I540b4a9b9a00ec573052f4cd90ac5be0a9549532
Reviewed-by: Thiago Macieira <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
The logic assumed the relevant screen was the main/primary screen,
which caused us to misreport the safe areas for full screen windows
that covered the notch when that display wasn't the main screen.
Fixes: QTBUG-142465
Pick-to: 6.11 6.10 6.8
Change-Id: I5c5f25b87ecd90858234e7ae6de7c4127c4a9551
Reviewed-by: Richard Moe Gustavsen <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qFuzzyCompare() requires that neither argument is numerically
zero. This cannot be guaranteed for the parameters of a "TCB" spline;
indeed, Wikipedia says t = b = c = 0 is "the default":
https://en.wikipedia.org/wiki/Kochanek%E2%80%93Bartels_spline#Parameters_and_Effects
Fix by using the new QtPrivate::fuzzyCompare() function, which does
things in the correct way.
As a drive-by, put the operators at the beginning of continued lines,
as requested by https://wiki.qt.io/Qt_Coding_Style#Line_breaks Item 2,
make the operator a hidden friend instead of a member function, and
explicitly use qFuzzyCompare() instead of operator== for the QPointF
member.
The latter drive-by change will need to be dropped from the 6.5
pick-to, because the overload didn't exist in 6.5, yet (added by
fa0d77e290f5ccb5afa7d02716f8726aa6b810e6 for 6.8).
Amends b9f0bde16e85161666d5090952955bebacc40f89.
Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTBUG-142020
Change-Id: I76d1adefd39154d7a39454d676dbfd5dfcaf9c1d
Reviewed-by: Edward Welbourne <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
Use qobject_cast<> or the comparision of the QTipLabel staticMetaObject
pointer to determine if the object is a QTipLabel instead relying on a
string compare. This will give us a compile time error when the name of
this internal class changes or goes away.
Pick-to: 6.11 6.10 6.8
Change-Id: Ie54342bd87fcb6688f082268464bfda5134de04c
Reviewed-by: Volker Hilsheimer <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QTls OpenSSL backend on Unix should ignore any broken symlinks
encountered rather than attempting to add the empty certificate path
generated after path canonicalization to the list of trusted system
certificates.
Current Qt code rejects such empty paths due to using
`QSslCertificate::fromFile`, but Qt 6.9- instead used
`QSslCertificate::fromPath` which (before Qt 6.9.2) used to interpret
an empty path to mean “add everything below the current working
directory as potential certificate”!
On all newer versions this only avoids unnecessarily adding an empty
path to the list of certificates.
Change-Id: I94136b33670be2fa42531fc3c74db432bad67f4a
Pick-to: 6.11 6.10
Reviewed-by: Mårten Nordheim <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QtMultimediaQuick links against QtMultimediaPrivate. Since
QtMultimediaPrivate is an interface library, we did not add its master
header to the precompiled headers of QtMultimediaQuick. However, it's
likely that if one uses a private module then headers of the public
module are used.
Now, we don't discard all interface libraries in
qt_update_precompiled_header_with_library but
- detect if it's a private Qt module
- retrieve the public Qt module target
- call qt_update_precompiled_header_with_library with that
Fixes: QTBUG-142078
Change-Id: Ic0eff21b8265cd622202efdd4ffd878e1f1fdea1
Reviewed-by: Alexandru Croitor <[email protected]>
|
| |
|
|
|
|
|
|
| |
Explain where to set the variable.
Task-number: QTBUG-121706
Change-Id: Iebe2fe2f36b7ec3706549869c85f485a67d28156
Reviewed-by: Alexandru Croitor <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
The text color for accent buttons is textOnAccentPrimary.
Pick-to: 6.11 6.10
Change-Id: Id9088439374186d45a8f07e0db8ab688d7266602
Reviewed-by: Wladimir Leuschner <[email protected]>
Reviewed-by: Oliver Wolff <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Especially useful for clients who don't use the PUSH_PROMISE
functionality and don't require buffering the data.
We add the QHttp2Stream::Configuration struct to allow customizing
stream behavior. Every stream comes with a configuration and the default
constructed objects represents that. The configuration is per-stream
and does not change during the lifetime.
Add a testcase with further extensibility in mind for further stream
configurations.
Task-number: QTBUG-142473
Pick-to: 6.11 6.10
Change-Id: I1e862f4996baa61f024f40516f74fc052a9b57c4
Reviewed-by: Alexey Edelev <[email protected]>
Reviewed-by: Mårten Nordheim <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... so that there is a way to access downloadBuffer() /
takeDownloadBuffer() when the signal is emitting and not afterwards.
Add the 'last()' functionality (c.f. QList::last) so that we can get a
cheap reference to the just inserted buffer entry.
Task-number: QTBUG-142473
Pick-to: 6.11 6.10 6.8
Change-Id: I263322ec8a83cd29294b60c139a1ec3dab698ecb
Reviewed-by: Mate Barany <[email protected]>
Reviewed-by: Mårten Nordheim <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Error was:
fatal error: file '.../src/3rdparty/chromium/build/precompile.h' \
has been modified since the precompiled header \
'obj/cc/paint/paint/precompile.h-cc.gch' was built: mtime changed \
(was 1765440170, now 1765463105)
note: please rebuild precompiled header
Fixes: QTBUG-131650
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: If3b46e7d3fc8e5aa9d26020fad962bffe604d590
Reviewed-by: Alexey Edelev <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QUntypedPropertyBinding is declared in a public header file and
referred to in the documentation of QUntypedBindable. It has multiple
documented members but the \class topic was missing.
Fixes QDoc warnings such as
(qdoc) warning: No output generated for function
'QUntypedPropertyBinding::QUntypedPropertyBinding()' because
'QUntypedPropertyBinding' is undocumented
Pick-to: 6.11
Task-number: QTBUG-141665
Change-Id: Id419bc448d15fb66ac74d396ea81320aba12696b
Reviewed-by: Fabian Kosmale <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
Make sure there is a value in environment value, because that
value is used later when Axivion analysis results are uploaded
into dashboard server.
Task-number: QTQAINFRA-7599
Pick-to: 6.11 6.10 6.8
Change-Id: Id29d08a6af06ad1b224dbf91b938a23a1cebf801
Reviewed-by: Toni Saario <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
Resolves multiple QDoc warnings of type "No output generated for X::Y
because X is undocumented."
Pick-to: 6.11
Task-number: QTBUG-141665
Change-Id: I9b2d7b1ecfb694316e32801839f89d543ea2f861
Reviewed-by: Topi Reinio <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
...so static code checkers will not complain about ignoring
remainders or fractional parts of the division anymore.
Change-Id: If57e1d3a9229424ac382c5f1f6aee8ddba481714
Coverity-Id: 898602
Coverity-Id: 898603
Pick-to: 6.11 6.10 6.8 6.5
Reviewed-by: Edward Welbourne <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes the following QDoc warnings:
* (qdoc) warning: Can't link to 'qt_add_android_permission()'
* (qdoc) warning: Can't link to 'raiseError(const QString &message)'
-> raiseError() now takes QAnyStringView
* (qdoc) warning: Can't link to 'I18N Example'
* (qdoc) warning: Can't link to 'Hello tr() Example'
-> Examples were removed, replace with 'Localized Clock' example
* (qdoc) warning: Can't link to
'QCharConverter::FinalizeResult::Error::NoError'
Pick-to: 6.11
Change-Id: I8e11a8896dd10652852e81c5d7ddf080f69aba37
Reviewed-by: Topi Reinio <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
Resolves multiple QDoc warnings of type "No output generated for X::Y
because X is undocumented."
Pick-to: 6.11
Task-number: QTBUG-141665
Change-Id: I6a597f6979151565fcee36964f892976964be75d
Reviewed-by: Topi Reinio <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
Qt Gui documentation refers to a number of types/topics from the
Qt Quick Controls module, add it as a documentation dependency to
fix linking issues.
Pick-to: 6.11 6.10
Change-Id: I541cc637c6de1daa822609ab596f82adfc0f9e45
Reviewed-by: Topi Reinio <[email protected]>
|
| |
|
|
|
| |
Change-Id: I788b0b0b10284703aaf4153e2b714444a3fbcf44
Reviewed-by: Antti Kokko <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
...if openssl-linked is enabled.
[ChangeLog][QtCore] The openssl-hash feature is now enabled by default
if openssl-linked is on. This enables a more robust implementation of
QCryptographicHash.
Fixes: QTBUG-132271
Change-Id: I1f39238fa316543e125e4535d7608c0e8e59278d
Reviewed-by: Thiago Macieira <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
-Some URLs give 404
-Some bugreports were resolved in Qt 5.1x
-Some URLs no longer referenced in Qt 6
Task-number: QTBUG-142088
Pick-to: 6.11
Change-Id: Ic4ae92b3f74ce6f62484453b8943d6b149269bc3
Reviewed-by: Venugopal Shivashankar <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Testcase: ./tst_qreadwritelock heavyLoadLocks
When the test run under release mode on arm64, all the spawned threads
may block without this fix. When the test run with optimization
enabled and assertions enabled and the assertions for !mutex.try_lock()
are removed from the entry of QReadWriteLockPrivate::
lockFor{Read,Write}, random assertion failures may happen without this
fix.
The reason for the race is because when a lock is uncontended locked and
being converted into a contended lock, no synchronization happens
between the initialization of new allocated QReadWriteLockPrivate object
and the use of the existing QReadWriteLockPrivate object in
lockFor{Read,Write}. QReadWriteLockPrivate objects are allocated from a
statically allocated freelist and it is of high probability that the
newly allocated object has just been released. The possible execution
order that leads to a data race is described as follows:
Suppose there are three threads T1, T2, and T3, and T1 holds the write
lock initially. T1 first releases the lock, and then gains the read
lock, while T2 tries to gain the write lock, and T3 tries to gain the
read lock. The interleaved execution order is as follows, where <- means
a normal memory write, <1> means a memory address of a
QReadWriteLockPrivate object, : means a return value, #n means a
synchronization point. For abberviation, wc denotes writerCount and rc
denotes readerCount. The .h/.c and the number in the parentheses denotes
the line number in qreadwritelock.h/.cpp.
T2 T1 T3
unlock() lockForRead()
d = d_ptr.loadRelaxed(): <1> (.h 52) d = d_ptr.loadRelaxed(): <1> (.h 52)
<1>->mutex.lock() (.c 393) d = d_ptr.loadAcquire(): <1> (.c 229)
<1> <-{wc = 0}(rc should be 0) (.c 397) <1>->mutex.lock() ... (.c 236)
d_ptr.storeRelease(null) #1 (.c 409)
<1>->release() (.c 410)
<1>->mutex.unlock() #2 (.c 412)
lockForRead() <1>->mutex.lock() returns #2
d = d_ptr.loadRelaxed(): null (.h 93)
lockForWrite() d_ptr.testAndSetAcquire(1) #3 (.h 81)
d = d_ptr.loadRelaxed(): 1 (.h 116)
val = allocate -> <1> (.c 321)
// ^ suppose <1> is reused here
<1> <-{rc = 1}(wc should be 0) (.c 325)
d_ptr.testAndSetOrdered(<1>) #5 (.c 326)
d = d_ptr.loadAcquire(): <1> #6 (.c 335) d_ptr.loadRelaxed(): <1> (.c 237)
<1>->mutex.lock() ... (.c 342) // Here T3 sees the d_ptr load result
// as <1>, which is the same as
// before, thinking it unchanged and
// thus continues to execute
// d->lockForRead().
// T3 here has no synchronization T2,
// but had synchronization with T1 at
// #2. So T3 may see the stale data
// previous written by T1 to <1>, i.e.
// wc = 0, rc = 0
<1> <-{rc = 1} (.c 432)
<1>->mutex.unlock() #4 (.c 248)
<1>->mutex.lock() returns #4
d_ptr.loadRelaxed(): <1> (.c 343)
// The same happens to T2 here, it continues
// to execute d->lockForWrite().
// T2 here is synchronized with T3 at #4,
// so T2 must see the data written by T3
// to <1>, i.e. wc = 0, rc = 1
<1>->writerCond.wait() (.c 455)
After the above interleaved execution, T2 is blocked while T3 and T1 are
holding the read lock, but in the QReadWriteLockPrivate object, the
readerCount is 1, which is incorrect. This might further lead to
deadlock if readerCount becomes -1 after the two readers release the
lock or letting a writer to proceed when only one of the readers
releases the lock.
The fix changes the relaxed load of d_ptr in lockFor{Read,Write} after
the acquire of the mutex to an acquire load, to establish
synchronization with the release store of d_ptr when converting from an
uncontended lock to a contended lock.
Fixes: QTBUG-142321
Change-Id: I5a570471b52359dd65f309e644d9aacfd58ce943
Reviewed-by: Thiago Macieira <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As pointed out by ClangSA highlighing in QtCreator, but also by
Coverity, the way the TCBPoint default constructor was written meant
that _t, _c, and _b were left uninitialized even if the user
value-initialized a TCBPoint object:
TCBPoint p = {}; // ought to zero-initialize, but doesn't
Fix by removing all the constructors. Being just a POD^Waggregate is
more than sufficient for this type and aggregate initialization
behaves predictably:
TCBPoint p; // partially-formed (_t, _b, _c are uninitialized)
TCBPoint p = {}; // well-formed, value-initialized: _t, _c, _b are 0.0
Amends b9f0bde16e85161666d5090952955bebacc40f89.
Coverity-Id: 11609
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: I301e5a7b68e86ddf967348b683f7a97fdc0b598d
Reviewed-by: Edward Welbourne <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
QObject::tr() should be avoided.
Amends eca2c9cfa7c7e22f0c5ebf036aad192f3c24d0e6.
Task-number: QTBUG-141571
Pick-to: 6.11
Change-Id: If8ae1803ed6623e70622ccd34d65a12b957ed117
Reviewed-by: Volker Hilsheimer <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
insertColumn can insert a data element, or a range of data elements,
which then inserts one element from the source range for each row.
insertColumns can insert a range of data elements (which is then the
data inserted into each row), or a range of ranges of data elements (in
which case we insert one range from the source for each row).
Try to constrain this by inspecting the input data type, and allowing
only compatible data elements, as well as ranges holding compatible
data elements.
Make the API test more specific - test with lists of integers, so that
we can confirm that such input data wouldn't be allowed to add columns
to a model holding pointers.
Pick-to: 6.11
Change-Id: I1b67510b3f70f147530a3ae453b01328f2e639d2
Reviewed-by: Artem Dyomin <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
Use std::is_swappable instead of rolling our own.
Amends 2812579a667036eafcf238def42687ca2388e21f
Pick-to: 6.11 6.10
Change-Id: I688b7b9eba702dd3e60a03d3df86392eaaec0d4f
Reviewed-by: Artem Dyomin <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All mutable at() overloads return a reference wrapper object, so no need
for decltype(auto) return types.
All const at() overloads for rows return either a reference, or a view
wrapper on the row, so we use decltype(auto) consistently for those, as
we want to return a const ref (and not a value) if we get one from the
range.
The at() overloads for getting a value return either the const data
type, or a DataReference wrapper, so we can either be explicit or
use auto.
Remove the qdoc-only type aliases for (const)row_reference, as they are
no longer used in documentation.
Pick-to: 6.11
Change-Id: I319be33a9db2ca61a95eebcde34d83b35b5013b9
Reviewed-by: Artem Dyomin <[email protected]>
|
| |
|
|
|
|
| |
Pick-to: 6.11
Change-Id: If53710c462661f2123e99bbf7a91a67d8a967006
Reviewed-by: Artem Dyomin <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
Remove some unneeded headers and avoid two useless conversions from/to
QPoint(F).
Pick-to: 6.11 6.10 6.8
Change-Id: Ieae6df74e4bd2bdba9498f86ec490520408e4c20
Reviewed-by: Volker Hilsheimer <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
No need to fiddle around with the devicePixelRatio here - QIcon does
this internally.
Pick-to: 6.11
Change-Id: I8ef5e9c70e073ea7edcb678e3a072f557040e1f0
Reviewed-by: Volker Hilsheimer <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Asserts triggering signify programming errors in the testrunner.
For the same reason, change also a pre-existing AssertionError exception
raised with bad XML input file to a dedicated exception.
Pick-to: 6.11 6.10 6.8
Change-Id: I5e5cc746df60075e02964efd97d1a37dc401925f
Reviewed-by: Axel Spoerl <[email protected]>
Reviewed-by: Frederic Lefebvre <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
All our supported versions of CMake now support it,
since minimum supported version is 3.22 and the option was added in 3.21.
Pick-to: 6.11 6.10
Change-Id: Ie6427c00c9da1f23209f399c5770e687cb01a60b
Reviewed-by: Alexandru Croitor <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Negative exitcodes are platform-dependent, in fact on Linux exit(-1) is
received as 255 from the parent process.
We avoid exitcodes [0,127] because QTest-based tests will, under normal
circumstances, return values within [0,127] and androidtestrunner's job
is to return that exact exitcode.
We also avoid 255 itself to avoid confusion with the previous version.
Finally we avoid exit codes close to 128 as some parent processes use
those to signify termination by signal (e.g. Ctrl-C of a process under
bash usually shows $? as 130).
Therefore, we define EXIT_ERROR to be 254 instead of -1. It signifies
some generic, uncategorized failure in androidtestrunner.
We also define some more exit codes 251-253 for more specific things
that went wrong.
Finally we change relevant output from androidtestrunner to be prefixed
by "[androidtestrunner] " so that important messages are not lost in the
big amount of output that android builds spew. Ideally all lines would
be prefixed, but that can come later with a wrapper around
qDebug(), qCritical() etc.
Pick-to: 6.11 6.10 6.8
Change-Id: I63edb9a429029ea7c1c9caa35fd7521832e3f9a8
Reviewed-by: Edward Welbourne <[email protected]>
Reviewed-by: Mårten Nordheim <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
The tests under class Test_testrunner_with_xml_logfile did not pass
--log-dir to qt-testrunner.py, so XML files were being written to CWD.
Fix that by forcing --log-dir argument over the whole testsuite.
Pick-to: 6.11 6.10 6.8
Change-Id: Iaf66e86970a07595cf995df3a4cdd5f272644ffb
Reviewed-by: Edward Welbourne <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tests on certain platforms run with specific wrappers, that might have
trouble reporting back the proper exit code.
For example, on Android each test is transfered to the device/emulator
and is executed not as a separate process, but as an activity. The
equivalent of "exit code" is caught and returned by a special wrapper
script for the platform.
It happens sometimes that these wrapper scripts fail to report back
correctly, and report zero (0) despite failed tests. For that reason we
now parse the test XML log on individual test re-runs too, and reporting
inconsistencies as CRASH, like we do with the main test execution.
Task-number: QTQAINFRA-7349
Task-number: QTQAINFRA-7378
Pick-to: 6.11 6.10 6.8
Change-Id: I27525f22331d44141be8825786a6f71e89543e92
Reviewed-by: Edward Welbourne <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Only for inside the Coin CI, as it is Coin that uses qt-testrunner
by exporting TESTRUNNER=qt-testrunner.
Also rename the test executable
from tst_testrunner to tst_qt_testrunner
to avoid confusion with other testrunners, or generic $TESTRUNNER testing.
Pick-to: 6.11 6.10 6.8
Change-Id: I607f8c2affec2ca5dd38b4a333abb3a324d2078c
Reviewed-by: Alexandru Croitor <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tst_qt_testrunner.py invokes qt_testrunner.py which invokes qt_mock_test.py.
On Windows a python script is not directly executable. It needs to be
executed as "python.exe script.py". To achieve that when testing,
the tests set the env var QT_TESTRUNNER_TESTING. When qt-testrunner
detects that, it prepends the command line with
sys.executable which is the currently used python interpreter.
Doing so also ensures that all sub-scripts are executed with the same
Python version.
Pick-to: 6.11 6.10 6.8
Change-Id: I4786e4015ded328077fd9cc7b443f4b4d9d69de7
Reviewed-by: Mårten Nordheim <[email protected]>
Reviewed-by: Edward Welbourne <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By making sure it invokes other python executables using the same
python interpreter.
Also on the tests that write to an XML file, close the file handle that
mkstemp() generates, otherwise Windows refuse to open and write to the
filename.
Side change:
+ For some tests, include all the environment instead of selecting
specific env vars, in order to reduce verbosity.
Pick-to: 6.11 6.10 6.8
Change-Id: If4ba68b5f9bf64824c888b99e9525d4bdcf42037
Reviewed-by: Mårten Nordheim <[email protected]>
Reviewed-by: Edward Welbourne <[email protected]>
|
| |
|
|
|
|
|
|
| |
because it's only available since Python 3.10.
Pick-to: 6.11 6.10 6.8
Change-Id: I81170b9cbbd7819fbfe3a13c8caa33e21dcae9b3
Reviewed-by: Edward Welbourne <[email protected]>
|
| |
|
|
|
|
| |
Pick-to: 6.11 6.10 6.8
Change-Id: I382e8c8b766c0c36e484ecb16e74a0010ea4fe32
Reviewed-by: Edward Welbourne <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
In that case, it re-runs the whole executable once, since the test does
not output a QTest XML log and does not accept selective running through
QTest command-line arguments.
Pick-to: 6.11 6.10 6.8
Change-Id: I35b255aff10a0f2a79851889c8daeca277c605ed
Reviewed-by: Edward Welbourne <[email protected]>
|
| |
|
|
|
|
|
| |
Pick-to: 6.11 6.10 6.8
Fixes: QTBUG-141532
Change-Id: I890b06c9732d42bfa2f8ef07339f467e24234cfe
Reviewed-by: Alexandru Croitor <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A developer might want to open a qt auto test project to build and
launch it on an iOS simulator or device. For iOS apps we require the
Xcode generator to handle the code signing and launching.
But Qt warns when using a generator other than Ninja for a project
that loads the BuildInternals package.
Add an exception to silence the warning when building for iOS
in standalone test projects which also load the BuildInternals
package.
Pick-to: 6.8 6.10 6.11
Change-Id: I4748060238678a103578c76ce3994dc1abc7a779
Reviewed-by: Tor Arne Vestbø <[email protected]>
Reviewed-by: Joerg Bornemann <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An incorrect condition led to executing executable finalizers for
tests on iOS twice:
Once via the deprecated way:
qt_internal_add_test -> qt_internal_add_test_finalizers ->
qt_add_list_file_finalizer -> _qt_internal_finalize_executable
And once via the new way:
qt_internal_add_test -> qt_internal_add_executable ->
_qt_internal_finalize_target_defer -> qt6_finalize_target ->
_qt_internal_finalize_executable
This caused various issues like attempting to set the bundle
identifier twice. Which strangely led to it not being embedded in the
Info.plist file at all, which led to not being able to launch the
test in the simulator via Qt Creator.
Keep only the new code path enabled by default, which is the
generic way to handle it for test-like executables.
Amends 25f575e8513a7e49ac73c7e1cb24dcaf3803358e
Amends 6c9f4f5ebcd35dc1a68c442d9fbf3ec48f30baca
Pick-to: 6.8 6.10 6.11
Task-number: QTBUG-93625
Task-number: QTBUG-112212
Change-Id: If877507670b40962dcf711cddd7dd883d7ebf1c9
Reviewed-by: Joerg Bornemann <[email protected]>
Reviewed-by: Eike Ziller <[email protected]>
Reviewed-by: Tor Arne Vestbø <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building an iOS / xrOS user project against a single-arch (so
single SDK) Qt build, we used to force set the CMAKE_OSX_SYSROOT to
the device SDK and set the Xcode attribute SUPPORTED_PLATFORMS to the
simulator SDK.
This worked when building the project with Xcode, but didn't work
when building with xcodebuild without explicitly specifying the
simulator SDK as an argument to xcodebuild.
Instead of doing this force setting of the SDK / sysroot, keep the
CMAKE_OSX_SYSROOT value which is decided in the Qt toolchain file
(this only applies to single-SDK Qt builds).
That's usually the SDK that Qt was configured with.
Because xcodebuild tries to build all possible architectures for a
specific SDK by default if CMAKE_OSX_ARCHITECTURES is empty, we need
to ensure a single architecture is chosen (the only available one).
We do this by setting CMAKE_OSX_ARCHITECTURES in the toolchain
file to the only available architecture that Qt was configured with.
We do this only for Xcode generator, and only for a single-arch build.
This used to be done before, but regressed because we didn't store the
QT_APPLE_SDK value in __qt_apple_sdk anymore.
These changes ensures user projects build both with Xcode and
xcodebuild without any extra args or manual adjustments.
Amends 0041ddce7420aafdb8bb032058a42d47afa34c6d
Amends e23ea6a5d3bf09921bb98150a4f0f504e77ef4a3
Pick-to: 6.8 6.10 6.11
Change-Id: I98bb7b6b3a86f831fa6f02bcadc4b1bbd22464ac
Reviewed-by: Tor Arne Vestbø <[email protected]>
|