Previously it was only excluded on ANDROID, but cross-compiled for
other platforms.
The executable should only be built when the target Qt is meant
to be used as a development SDK, to be executed on some host machine.
Because at the moment we lack a proper abstraction for that, as a work
around, we exclude building it when cross-compiling.
The executable is not called automatically by any test, it is only run
manually by a developer.
In the future, the qt_internal_add_tool call should likely be replaced
by a customized qt_internal_add_app call, installing the executable
into $prefix/libexec rather than $prefix/bin.
Amends 5a55e52638
Pick-to: 6.2 6.3
Task-number: QTBUG-92591
Task-number: QTBUG-100040
Task-number: QTBUG-100047
Change-Id: If20e73fe378acd51fe41d181078d273a7842fc81
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Provide convenience wrappers for access to const/mutable data, properly
discern between the "buffer" object and the actual data, especially
regarding shared/detached state.
Change-Id: I48f1f1eb8c204c29277746e5dee63892cbf3ac89
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
qjstest and ecmascripttests fail to be configured on Android,
and require CMake API changes to fix that. They could be disabled
in the meantime to allow CI builds to proceed when building tests for
other modules that depend on qtdeclarative.
Task-number: QTBUG-92591
Task-number: QTBUG-88846
Pick-to: 6.2
Change-Id: I58e17166efc844efd089cce44d81dba027e9198c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Call qt_internal_return_unless_building_tools() directly after
qt_internal_add_tool() to avoid having to special-case code for when
this function only creates imported targets in cross-builds.
Task-number: QTBUG-85084
Change-Id: I5c8f2ecdf4936cfd15cb530e896bc4e5b5531620
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Function declarations add their name to the outer scope, but not the
inner scope. Function expressions add their name to the inner scope,
unless the name is actually picked from the outer scope rather than
given after the function token.
We don't add the name to any scope in the case of functions declared in
QML elements because the QML element will receive the function as
appropriately named, and typed, property. It is always better to use
that one than to use a JavaScript local.
This causes some additional ecmascript tests to pass.
Pick-to: 6.2
Fixes: QTBUG-96625
Change-Id: I0b8ee98917d102a99fb6b9bd918037c71867a4a5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This change implements optional chaining (https://github.com/tc39/proposal-optional-chaining) by adding a new type of optional lookup with an offset to the end of a chain.
If `undefined` or `null` is encountered during an access marked as optional, we jump to that end offset.
Features:
- Full support for all kinds of optional chain
- With some codegen overhead but zero overhead during normal non-optional FieldMemberExpression resolution
- Properly retains this contexts and does not need to resolve anything twice (this has been an issue previously)
- No extra AST structures, just flags for existing ones
[ChangeLog][QtQml] Added support for optional chaining (https://github.com/tc39/proposal-optional-chaining)
Fixes: QTBUG-77926
Change-Id: I9a41cdc4ca272066c79c72b9b22206498a546843
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Apparently our CI is too slow to run the test in 8:20 minutes.
Also, remove cruft from the CMakeLists.txt file.
Change-Id: I4778dbc3cd95e04f6cf71dbd363b366d73e6dbb3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Remove all qmake project files, except for examples which are used to
test that qmake continues to work.
Change-Id: Ic4abb72dc2dcd75df7a797c56056b6b3c5fe62ac
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
pro2cmake did not convert the QTEST_FUNCTION_TIMEOUT environment
variable. As a result, when the test runs for more than 300s, it gets
killed by the watchdog.
Pick-to: 6.0
Change-Id: I370d2c1b7a129c41d690d41e84f0a51810d37160
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Modify special case locations to use the new API as well.
Task-number: QTBUG-86815
Change-Id: I3b964e3baf0cc7040830156dac30358ea1152801
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
We need the qt_add_tool changes to successfully configure qemu builds.
The rest of the changes are just to be in sync with the .pro files.
Change-Id: I7bcc08ac58f57a5761aedef09761428c55235289
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
As a driveby, remove an unused opengl #include from
qsgdefaultspritenode.cpp
Task-number: QTBUG-84623
Change-Id: I6e901a0ac0a23a2d21029b5337c204835e29026a
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Includes:
- new api calls
- some new dependencies
- some TARGET_DESCRIPTION
- some additional tool directory exclusion when cross-compiling
(qmlplugindump)
- some missing add_subdirectory calls
Change-Id: Iea43e45b94f37367ffc1d8dd6ce0ff1021a31b1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
When switching to macOS 10.14 and the xcode we install there,
mysteriously qtbase switches from c++17 to c++11 when compiling the
tests, which breaks this particular test as it includes
qv4arraydata_p.h, which in turn requires C++14's std::aligned_storage_t.
Once we enforce C++17 in qtbase this should not be needed anymore, but
we can only enforce that once we've switched to macOS 10.14.
Change-Id: Iaa2b55dfd2bfd23f908a211ca90255ef522bc6ff
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
If there was an exception we cannot assume the returned value holds
anything sensible. Also, we should immediately return.
Fixes: QTBUG-81581
Change-Id: I822c204c476e05d6de78124b66ab2f939ca38ffd
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Implements the '??' operator as specified in https://github.com/tc39/proposal-nullish-coalescing.
Also adds a few tests.
Task-number: QTBUG-77926
Change-Id: I3993450c192d11bf1ade0662d945c1553b4c6976
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
A side effect of 8fd398c9d2 is that it
became possible for the highlight to stop between items, rather than
snapping to a specific item, if the user taps, clicks or drags an
additional time while the movement is ongoing. That was because it
didn't get a mouse grab, so it missed the release event.
QQuickPathViewPrivate::handleMouseReleaseEvent() needs to take care of
the snapping behavior after the user stops dragging. This only affects
behavior in the case that the PathView is already moving and the mouse
is pressed again: we assume the user wants to alter the PathView's
velocity, not interact with any delegate inside or with any parent item.
Task-number: QTBUG-77173
Task-number: QTBUG-59620
Change-Id: I7b2f69a6ef8d8022d7c917a5bf9e8fb40c8848db
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
All tests compile and run on a developer build.
These tests are failing:
tst_qqmlsqldatabase Fails due to missing sql driver
tst_qqmlsqldatabase Fails in wip/qt6
tst_ququicklayouts Fails in wip/qt6
tst_flickableinterop Fails in wip/qt6
tst_qquickpinchandler Fails in wip/qt6
tst_qquickflickable Fails in wip/qt6
tst_qquickgridview Fails in wip/qt6
tst_qquickimage Fails due to missing jpeg plugin
tst_qquicklistview Fails in wip/qt6
tst_qquicktext Fails in wip/qt6
tst_qquickcanvasitem Fails in wip/qt6
tst_scenegraph Fails due to missing jpeg plugin
tst_TestFiltering Fails in wip/qt6
Change-Id: I4b9d69c118e23c095cb72ad5a67653fc30943bb1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Implicit capture of 'this' in [=] is deprecated in C++20.
Fix by using explicit captures.
Change-Id: I49b0fd2751c1d239c4f801224b71872c227fd697
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Instead, populate their "name" property directly from the surrounding
object pattern if applicable, without adding locals. This fixes some
ecmascript tests where functions were assigned to the key "eval" in an
object. The JS engine then rejected that because you shouldn't use eval
in strict mode. That should be close enough to test for regressions.
Fixes: QTBUG-75880
Change-Id: Iacc45a3f7b0eb90cddc6ecf6d2bada616d2cf355
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
We need a CompilationUnit that only holds the data needed for
compilation and another one that is executable by the runtime.
Change-Id: I704d859ba028576a18460f5e3a59f210f64535d3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This is an upgrade to commit cbb0aa18662bc26da31de91e2104c030eaa6ead2 in
webkit. It causes some more ecmascript tests to pass.
Fixes: QTBUG-73915
Change-Id: I8bb5ff9b37907d17b1020576ba64f0b3aed2f1b3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Make sure the unwind handler is always reset when leaving the
try block.
This exposes a couple of failures in the ECMAScript test suite
that were before passing by pure luck.
Task-number: QTBUG-72858
Change-Id: I014b1e37c2beff136ecd53a665a2f10933f7e12c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Respect the newTarget passed into those constructors and make
sure we set up the proto chain correctly.
Change-Id: I3d12c7dbef4b33660a6715d73e9fb0f89105167a
Fixes: QTBUG-71138
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
If we can't resolve the variable and are executing eval code,
we need to look it up by name, and not generate a lookup in the
global object.
Change-Id: I693b3b714651911f72620160bfc463d6dbb00820
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
If a tagged template gets evaluated multiple times, the
underlying template object is shared.
Change-Id: Ie2f476fbc93d5991322ce1087c42719a8d8333ae
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
At least one test case uses this, so let's make sure
we read them correctly.
Change-Id: I9f4ea7785b5a400cd6f0b210a6a98975bbbaf7ce
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Create the proper template object for a tagged template.
This fixes quite a few use cases (esp. String.raw), but is not
yet 100% spec compliant.
Change-Id: I69eaee22c384c0d1bd2c6c56ad711d29521b0b86
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>