aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmltest
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Clarify that BC does not apply to Qt Quick TestPaul Wicking2018-10-101-0/+5
| | | | | | Task-number: QTBUG-17531 Change-Id: I6ec35005800dd84d9d2a2c36c0ead97c573c9792 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add test cleanup function for C++ partsRainer Keller2018-09-242-0/+8
| | | | | | | | | | | | | | | | | | | | This allows to do cleanup in C++ before other parts being destructed. It QtOpcUa we need to destruct a subprocess. Until now it was done in the destructor of the setup class. When the destructor is called the eventloop already died but the process is still sending output when being terminated. In the windows event handling a nullptr is being dereferenced in this case, see QTBUG-70641. When terminating this process somewhat earlier, when the eventloop is still available, the event dispatcher is able to handle those events without crashing. Another reason to have this function is because there is applicationAvailable() being called to initialize C++ code and there should be an equivalent function for cleaning up. [ChangeLog][QtQml][QtTest] Add cleanupTestCase() to be called before starting destruction Change-Id: I24f7a51ec5276a449892609f5b2cfe7957c27668 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Encapsulate access to CompiledData::Object and CompiledData::ImportSimon Hausmann2018-07-311-2/+2
| | | | | | | | This will make it easier to move the data out of CompiledData::Unit and into a separate data structure. Change-Id: I32e6233a66f2279b44cc06ef7c3505db4a565f98 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QuickTestEvent: keep pressed mouse buttons constant during move eventsShawn Rutledge2018-07-312-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After qtbase b3e91b66b9175c1c3ff5f73f3ac231f74f9bf932 and predecessors, as stated, "Qt platform plugins are now responsible for sending explicit mouse button type and state information; qtestlib should take full responsibility now as well." In QML tests we have not yet had this memory of which buttons are pressed, until now. Change caa45b4fe8b63f4be87b63b33595f65a0f44230e made Flickable sensitive to buttons: it refuses to flick in response to mouse events in which no button is being held. This broke tests in qtquickcontrols2 which assume that in a QML test sequence like mousePress(tumbler, tumbler.width / 2, tumbler.height / 2, Qt.LeftButton) mouseMove(tumbler, tumbler.width / 2, y, 1) mouseRelease(tumbler, tumbler.width / 2, tumbler.height / 4, Qt.LeftButton) the mouse moves will include the pressed left button because it was pressed and not released. So we have to fulfill the assumption to avoid needing to change those tests. When the function bool mouseMove(QObject *item, qreal x, qreal y, int delay, int buttons); is called from QML, if that last parameter is omitted, it defaults to zero, so we can't tell whether the test is explicitly passing Qt.NoButton or just omitted it. Task-number: QTBUG-69704 Change-Id: Ife0f7d0e9cb0d39788e8d9961d8872c9e913431e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Encapsulate the unit data in CompilationUnitSimon Hausmann2018-07-311-2/+2
| | | | | | | | This allows updating the constants table when the unit data is set / changes and removes the tie to the engine. Change-Id: Ice553650390589e30e18421c4e55422a55d0df89 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add test init function for C++ partsRainer Keller2018-06-252-0/+10
| | | | | | | | | | | | This allows to start other processes as counterparts using QProcess. In the constructor of the setup class it is not possible because no QApplication object has been instantiated yet. [ChangeLog][QtQml] Add test init function to be called when application object is available. Change-Id: Id24395eca41921c743062522a4aeb6231f9bdf09 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Exit test executable with failure if specified test functions are not foundKari Oikarinen2018-06-211-3/+14
| | | | | | | | | | | | | | | | | | | | | | If QtQuickTest test executable was given filters that didn't match in any of the qml files run, it exited successfully. In combination with a Coin bug when the test function name contains a space, this allowed failing tests to pass the CI. If the test function fails, the repeat attempts would pass two arguments to the executable. Neither of those hit, but that wasn't considered a problem. Check that all of the test functions named on the command line are actually executed during the whole run and otherwise exit with a non-zero exit code. I assume there's no duplicates in the whole names of test functions scoped with testcase names. Task-number: QTBUG-68197 Change-Id: Icf7fe263945403f02920522dfd187aeb76b7cb3c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kalle Viironen <kalle.viironen@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* qtestoptions_p: Restore compatibility with older QtRobin Burchell2018-05-251-1/+5
| | | | | | | | | | This isn't mandatory to keep forever, but having the ability to run newer qtdeclarative against older qtbase is nice, if there haven't been gigantic changes, e.g. for bisecting's sake or partial upgrades. Change-Id: Ia4de4b0cc5092619e2d9f661bb7f43da690a0fdf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-151-2/+6
|\ | | | | | | | | | | | | Conflicts: src/qml/qml/qqmltypeloader.cpp Change-Id: If9874faf23e813b05ee4cf042133a528d73ba72a
| * Fix TestCaseCollector fails to initialize component from resourcesChristoph Keller2018-05-131-2/+6
| | | | | | | | | | | | Change-Id: I9f1e20653776bbdf1a8a41a631636ec61ddd08b6 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Clean up manual reference of QQmlTypeData and QQmlPropertyCacheSimon Hausmann2018-04-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a few places in the type loader where we do adventurous manual reference counting, where getType() returns a raw pointer that has been addref()'ed and then sometimes somehow we call release() later. Commit 0b394e30bba4f6bb7e6f7dbe5585a2e15aa0f21d is an example of where this can easily go wrong. As a consequence and also in preparation for future work on the type loader, this patch starts replacing the manual reference counting there. Changing the return type from QQmlTypeData *getType() to a QQmlRefPointer<> itself is not sufficient though, as the implicit operator T*() will still allow the caller to store the result as a raw pointer. Therefore this patch removes the "unsafe" implicit extraction operator. As a result of that change, other types that are sometimes stored in QQmlRefPointer are also affected and their usage needs to be adapted to QQmlRefPointer usage or manual raw pointer extraction with .data(). Change-Id: I18fd40634047f13196a237f4e6766cbef3bfbea2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-181-0/+9
|\| | | | | | | Change-Id: I4a9c7802c180757e70fa4dd16df3287104a088bc
| * Doc: Add Licensing section to "Qt Quick Test", "Qt Quick Layouts"Kai Koehne2018-04-171-0/+9
| | | | | | | | | | | | | | Mention licenses in the remaining landing pages. Change-Id: I3754d959db9d9e4914e50d670f159eba1afa7596 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | testlib: Support regular expression ignores in ignoreMessageRobin Burchell2018-04-092-3/+13
|/ | | | | | | | | | | | This is a feature C++ has that the QML side lacked. [ChangeLog][Qt Quick Test][TestCase] ignoreWarning now supports ignoring regular expressions as well as strings. Task-number: QTBUG-47111 Change-Id: If3b7b78365e60f1d8d276050ba7e00fac43400e1 Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmltest: Use correct Testlib headerFriedemann Kleint2018-04-031-1/+1
| | | | | | | | | | Fix warning: QtTest/qtest_global.h:4:4: warning: #warning Header <QtTest/qtest_global.h> is deprecated. Please include <QtTest/qttestglobal.h> instead. [-Wcpp] introduced by qtbase/4db38197c2bac8bcee9d08a0e20ed2c8d127b8f2. Change-Id: Icb5b17d8680f9dc02f43fa9cf06f516cbef3de87 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* doc: Add special module header to qtqmltest.qdocconfMartin Smith2018-03-021-1/+1
| | | | | | | | | | Added this variable to qtqmltest.qdocconf because the module and the module header have different names: moduleheader = QtQuickTest Change-Id: Ie9bd61598c063b3f16ef889e5e7bd2f1b33d1fc5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Doc: Change QtQuickTest to QtQmlTestMartin Smith2018-03-021-27/+27
| | | | | | | | | | | | | The creation of module QtQmlTest remains incomplete, but this update improves the situation a bit. In qtqmltest.qdocconf, all instances of QtQuickTest are changed to QtQmlTest. In qtquick.qdocconf, qtqmltest is added as a dependency. This remains incomplete, because the module header is still called QtQuickTest, but the number of qdoc warnings in qtdeclarative is reduced. Change-Id: Id545f9b5ecb2165d3f0972a059a8a4a4cfd52f2f Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* use the override keyword consistently and correctly (clang-tidy)Shawn Rutledge2018-02-272-2/+2
| | | | | Change-Id: If9e28d143f8cba3df3c757476b4f2265e2eb8b2a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-265-21/+21
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove double indirection between QJSEngine and QV4::ExecutionEngineUlf Hermann2018-02-021-1/+1
| | | | | | | | As QJSEngine's handle() method is internal, we can redefine it to return a pointer to an ExecutionEngine. That makes many things easier. Change-Id: Ie3df99e0bad5f00ad4fe73182896cd135fa82994 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add QUICK_TEST_MAIN_WITH_SETUP to allow executing C++ before a QML testMitch Curtis2018-02-023-4/+88
| | | | | | | | | | | | | | | | | | | This macro is the same as QUICK_TEST_MAIN, but takes the user's QObject subclass as an argument, and calls pre-defined slots/invokable functions on it, similar to how e.g. init() is called for C++ tests. This allows e.g. context properties to be set for the QML tests. By basing the API on invokable functions, we give ourselves the freedom to easily add more functions in the future. [ChangeLog][QtQuickTest] Added QUICK_TEST_MAIN_WITH_SETUP macro to allow executing C++ before a QML test (such as registering context properties). Task-number: QTBUG-50064 Change-Id: Id566e388553811c220871248403d32545f8ae1eb Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Give Qt Quick Test its own documentation moduleMitch Curtis2018-01-263-0/+177
| | | | | | | | | It has its own QML types, so it makes sense. This also makes it easy to add documentation for C++ types later on. Task-number: QTBUG-50064 Change-Id: Ifc302c7d547d806f2ea7674dfecddf36cc1e258f Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-091-6/+0
|\ | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/memory/qv4mm.cpp src/qml/qml/qqmlbinding.cpp Change-Id: I98e51ef5af12691196da5772a07d3d53d213efcc
| * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-041-6/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/memory/qv4mm.cpp src/qml/memory/qv4mmdefs_p.h src/quick/items/qquickwindow.cpp src/quick/items/qquickwindow_p.h tests/auto/qml/debugger/qqmlprofilerservice/qqmlprofilerservice.pro tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp Change-Id: I7021fa1edf076627a67048f41f7b201220262b09
| | * qtquicktest: remove dead INSTALLS from qmltest.proGatis Paeglis2017-12-061-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The path "$$PWD/features/qmltestcase.prf" existed when Qt Quick Test lived in its own repository - "qtest-qml". About 7 years ago this repository was integrated in Qt5, and qmltestcase.prf was moved under qtbase/mkspecs/features. Change-Id: I581a40b93e2b45c189fe5584b1a117b3d5b6fe95 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-12-202-0/+19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/quick/pointerhandlers/flickableinterop/data/FlashAnimation.qml tests/auto/quick/pointerhandlers/flickableinterop/data/Slider.qml tests/auto/quick/pointerhandlers/flickableinterop/data/TapHandlerButton.qml tests/auto/quick/pointerhandlers/flickableinterop/data/flickableWithHandlers.qml tests/auto/quick/pointerhandlers/multipointtoucharea_interop/data/pinchDragMPTA.qml tests/auto/quick/pointerhandlers/qquickdraghandler/data/DragAnywhereSlider.qml tests/auto/quick/pointerhandlers/qquickdraghandler/data/FlashAnimation.qml tests/auto/quick/pointerhandlers/qquickdraghandler/data/Slider.qml tests/auto/quick/pointerhandlers/qquickdraghandler/data/draggables.qml tests/auto/quick/pointerhandlers/qquickdraghandler/data/multipleSliders.qml tests/auto/quick/pointerhandlers/qquicktaphandler/data/Button.qml tests/auto/quick/pointerhandlers/qquicktaphandler/data/FlashAnimation.qml tests/auto/quick/pointerhandlers/qquicktaphandler/data/buttons.qml tests/manual/pointer/content/FakeFlickable.qml tests/manual/pointer/content/FlashAnimation.qml tests/manual/pointer/content/MomentumAnimation.qml tests/manual/pointer/content/MouseAreaButton.qml tests/manual/pointer/content/MouseAreaSlider.qml tests/manual/pointer/content/MptaButton.qml tests/manual/pointer/content/MultiButton.qml tests/manual/pointer/content/ScrollBar.qml tests/manual/pointer/content/Slider.qml tests/manual/pointer/content/TapHandlerButton.qml tests/manual/pointer/fakeFlickable.qml tests/manual/pointer/flickableWithHandlers.qml tests/manual/pointer/flingAnimation.qml tests/manual/pointer/joystick.qml tests/manual/pointer/main.cpp tests/manual/pointer/main.qml tests/manual/pointer/map.qml tests/manual/pointer/map2.qml tests/manual/pointer/mixer.qml tests/manual/pointer/multibuttons.qml tests/manual/pointer/photosurface.qml tests/manual/pointer/pinchDragFlingMPTA.qml tests/manual/pointer/pinchHandler.qml tests/manual/pointer/singlePointHandlerProperties.qml tests/manual/pointer/tapHandler.qml tests/manual/pointer/tapWithModifiers.qml tests/manual/shapestest/main.cpp Change-Id: I4f233a521305fab1ebfecbac801da192434ed524
| * | testlib: add key sequence functionLiang Qi2017-11-032-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtQuick][QtTest] Added keySequence() function in TestCase. Task-number: QTBUG-53381 Change-Id: Iea25410d40fc0745e16a10c1af35ec81c4c83668 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Allow adding file selectors for QUICK_TEST_MAIN testsJan Murawski2017-12-051-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows adding file selectors for QUICK_TEST_MAIN tests via the command line switch "-file-selector". Adding such a selector allows the test of platform specific QML components. E.g. one can test an Android component on Linux. Change-Id: I556ad7211ed4a0881150686270a9a4e69f68d1ee Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Merge remote-tracking branch 'origin/wip/new-backend' into devSimon Hausmann2017-11-211-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4isel_moth.cpp src/qml/compiler/qv4jsir_p.h src/qml/jsruntime/qv4engine_p.h src/qml/jsruntime/qv4vme_moth.cpp tests/auto/qml/qml.pro Change-Id: Ia7b6ec24c7fcbcbb1786d9e798d2df294020ae37
| * | | Merge remote-tracking branch 'origin/dev' into HEADLars Knoll2017-10-221-7/+155
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4codegen.cpp src/qml/compiler/qv4compileddata.cpp src/qml/compiler/qv4compileddata_p.h src/qml/compiler/qv4isel_moth_p.h src/qml/compiler/qv4ssa.cpp src/qml/jit/qv4assembler_p.h src/qml/jit/qv4isel_masm_p.h src/qml/jit/qv4regalloc.cpp src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4qmlcontext_p.h src/qml/jsruntime/qv4regexp.cpp src/qml/jsruntime/qv4regexp_p.h src/qml/jsruntime/qv4regexpobject.cpp src/qml/jsruntime/qv4runtime.cpp src/qml/jsruntime/qv4vme_moth.cpp src/qml/qml/v8/qqmlbuiltinfunctions.cpp tests/auto/qml/qml.pro tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp tools/qmlcachegen/qmlcachegen.cpp Change-Id: I1577e195c736f3414089036b957a01cb91a3ca23
| * | | Merge remote-tracking branch 'origin/5.10' into wip/new-backendSimon Hausmann2017-09-121-34/+34
| |\ \ \ | | | | | | | | | | | | | | | Change-Id: Iccb35fab856c7d8ec4aaaf021b70a65cfaa564b3
| * \ \ \ Merge remote-tracking branch 'origin/dev' into wip/new-backendSimon Hausmann2017-09-082-1/+6
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4isel_moth.cpp src/qml/compiler/qv4jsir.cpp src/qml/jsruntime/qv4mathobject.cpp Change-Id: I426f1f4f0a5302b5bcff021de11766a03fec7637
| * | | | | Fix compilationLars Knoll2017-09-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Was missing an include Change-Id: I31dd730a71f44f867dc43ab2106f71a90788bfca Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | | | Make qml-debug a proper featureUlf Hermann2017-11-081-1/+1
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | Change-Id: Iea33ff0200f0bbf43953fedba030edf91d0f1417 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | | Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-09-201-1/+1
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4compileddata.cpp src/qml/compiler/qv4compileddata_p.h src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4qmlcontext.cpp src/qml/jsruntime/qv4qmlcontext_p.h src/qml/jsruntime/qv4regexpobject.cpp src/qml/jsruntime/qv4regexpobject_p.h src/qml/types/qqmllistmodel.cpp src/quick/items/qquickanimatedimage_p.h src/quick/scenegraph/qsgrenderloop.cpp tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp Change-Id: If20ef62b2c98bdf656cb2f5d27b1897b754d3dc0
* | | | | QuickTest: initialize import and plugin paths before TestCaseCollectorJ-P Nurmi2017-09-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 215c0145 broke QQC1 auto tests. The problem seems to be that TestCaseCollector created a QQmlComponent instance before the import and plugin paths were set. Later on, when running the actual tests, a cached component was used and the paths were missing. Task-number: QTBUG-63220 Change-Id: Ifec163899db9ea088fdabc179181cc150534fc4d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | | qmltest: Enumerate test cases / functions without evaluating QMLTor Arne Vestbø2017-09-131-3/+151
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most, if not all, QML tests are written without any sort of dynamic instantiation of the test data, so doing view.setSource() will evaluate the whole source file, compute bindings, create items, windows, etc. This is less then ideal when all you want is to list the test functions using -functions, or when running a single test from the command line, as in both cases we'll still actually evaluate every single QML file. This makes it really hard to evaluate test output, e.g. from the CI, especially with logging enabled, as even if a single test is requested, the logs are filled with results from the loading of the other tests. To improve the situation we use a non-instantiated QML component that we then inspect its compilation data, looking for test cases and functions. In the future the implementation of TestCase's qtest_run* machinery should be built on top of QTestLib instead of being reimplemented in JavaScript, but this is left for later. Change-Id: Ie5448208daf786e335583ab6bdfbc195891ec1f5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | qmltest: Run each test in a separate QQuickView for test isolationTor Arne Vestbø2017-09-051-34/+34
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't want the individual tests to affect each other by what state they leave the QQuickView (and corresponding QWindow and platform window) in when they finish. Task-number: QTBUG-62963 Change-Id: I90ad2364c8e9b769afc61eb762c4a604a567a856 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Revert "Make QtQuickTest::mouseEvent use QTest::mouseX"Jani Heikkinen2017-09-041-17/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems this is causing QTBUG-62925 and QTBUG-62926 so revert is the best option at this point to proceed This reverts commit 4c46dce8fd9c9dddddd1d07f56396b3eabb2efc4. Change-Id: Ia8ea85c1ac1ada1752b29c9fbd8439f5963d46d2 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | QtQuickTest::mouseEvent: when clicking a Window, use the given coordsShawn Rutledge2017-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the given item is a Window, pos was left default-initialized, and then a later check for isNull converted it to the center of the window. Use the given coordinates instead in this case. Change-Id: I659af9b665890084c29415394a84874e381ffcbe Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Make QtQuickTest::mouseEvent use QTest::mouseXAlbert Astals Cid2017-08-301-23/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes QQuickItem::isUnderMouse returning wrong information when moving the mouse cursor with QtQuickTest::mouseX Also changes TestCase.mouseDrag to actually resemble more what real life does, i.e. send mouse moves with the same localPos if the item has already moved and update tst_drag.qml accordingly Change-Id: I80e4ab097da90d21ba987466c1b82467755a6b56 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-08-231-0/+5
|\| | | |/ |/| | | | | | | | | Conflicts: tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp Change-Id: I31375151eb239f348bec988d2d0506c2b4d9604c
| * Fix finding test data on AndroidEskil Abrahamsen Blomfeldt2017-08-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | The standard way of doing Qt Quick testing requires having qml files available in the deployment somewhere in the regular file system. This is not how Android works, where all test data should be deployed as resources. To allow this, we simply hardcode the test path as a resource path on Android instead of checking on the disk. Task-number: QTBUG-45576 Change-Id: I0729f5004a6206d2a10b782eb5b7d83a833c4f51 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-07-041-0/+6
|\| | | | | | | | | | | | | | | Conflicts: .qmake.conf src/quick/doc/src/qmltypereference.qdoc Change-Id: Ia58f1c5a98309c32ef8d8e5c893faf261215f19f
| * testlib: print out milliseconds for datetimeLiang Qi2017-06-161-0/+6
| | | | | | | | | | | | | | Task-number: QTBUG-32555 Change-Id: I9219c8a7199d4db27c3d160de2544f0a7cb320a6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-151-0/+6
|\| | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4codegen.cpp Change-Id: I3c41b9fc9ba7d41741e4dd400402ae80dd7726d9
| * qmltest: fix compare() for urlsLiang Qi2017-06-141-0/+6
| | | | | | | | | | | | | | | | url is object, but without any property. Task-number: QTBUG-61297 Change-Id: I68b0523be54e4d42f57267205ba8d66ff4ac4e30 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | TestCase: Grow some new functionality on grabImageRobin Burchell2017-05-111-1/+39
|/ | | | | | | | | | | | | | | | | | | | | Add some meta-information about the image that we can use to do slightly stronger checks than just blindly poking pixel data (width & height props). In addition, when a test of a grabbed image fails (which they certainly do), it is always nice if we can perform some diagnostics. To this end, add a save() method to save the grabbed QImage to disk. Tests for the new functionality are blacklisted on Linux at present, as they do not yet appear stable, inheriting the other tst_grabImage flakiness. [ChangeLog][QmlTest] The returned object from TestCase::grabImage now has 'width', 'height', and 'size' properties for additional verification. In addition, there is a save() method to be able to persist the grabbed image to disk (for diagnostics purposes, for example). Change-Id: Ic651e0257102c514c39c3f648c05870f9d9c52e8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Run includemocs in qtdeclarativeThiago Macieira2017-04-261-0/+1
| | | | | Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QtQuickTest::mouseEvent(): pass QPointF by referencev5.9.0-alpha1J-P Nurmi2017-02-211-1/+1
| | | | | | | | | | | | | | | MSVC 2015 64-bit has some unexplainable issues with a static inline function calling itself recursively, like mouseEvent(MouseClick) does. The QPointF argument, which was previously passed by value, somehow lost its y-coordinate and caused consistent test failures in QQC1 tst_extras/tst_piemenu. I can't explain why this change fixes the issue, but it's a harmless improvement that unblocks the CI. Change-Id: I90dd36a676a21c8124f233e1fa8b3864946a326d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Liang Qi <liang.qi@qt.io>