aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/debugger/qqmldebugjs
Commit message (Collapse)AuthorAgeFilesLines
* Make sure QQmlDebugProcess correctly reports session as startedUlf Hermann2017-08-171-2/+0
| | | | | | | | | | | If the "Waiting" output appears before we wait, the event loop could run forever. Also, the timeout of 5s was too low. We increase it to 15s. Remove the blacklists and other workarounds in turn. Task-number: QTQAINFRA-1334 Change-Id: Ib1032a8e57ab8dada3e56163ebab1523a7357aeb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Ignore debugger failures with GCC on WindowsSimon Hausmann2017-07-281-0/+2
| | | | | | | | | | | | | | | Capturing the output of the started process mysteriously fails on Windows with gcc. While the nested event loop is run, the readyRead() signal is never emitted. Only after the timer fired and the event loop is terminated, we receive the output we were expecting. Some tests needed adapting to the initializing sub-function failing in QVERIFY/QCOMPARE calls, in order for the process to not crash and the blacklisting to work. Task-number: QTQAINFRA-1334 Change-Id: I4804d94580e7db65595137d19d7b75d75c243257 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* QV4DebugService: Reduce unnecessary recursion and redundancyUlf Hermann2017-03-141-29/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | Large parts of the protocol are unnecessary. There is no reason to send a separate chunk of "handles" with almost every reply. The refs are given as part of the regular data and if the client wants to find out more, it can do further lookups. Also, it makes no sense to encode the function and script names as objects, as they are in fact not JavaScript objects. Unfortunately these cleanups require some cooperation from the client. Older clients will misbehave if we just drop the redundancy. Therefore, we introduce parameters which the client can explicitly set with the "connect" message. redundantRefs tells the service if redundant references are required, namesAsObjects tells it if script and function names have to be sent as objects/ Once we can require clients that support these options, we can drop the code that generates redundant data. Also, fix tst_qv4debugger::evaluateExpression() to actually check all the expressions evaluated, not only the first and second one. Task-number: QTBUG-42435 Change-Id: If93d2a2b9d0b8035f85dbef871bc1b03f199171d Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* V4 Debugger: Add an option to pass additional context for evaluateUlf Hermann2016-12-092-3/+66
| | | | | | | | | | | Interpret the "context" option as an ID for a QObject whose QML context is then injected when evaluating the expression. The QObject needs to be tracked by some other debug service for this to work, e.g. the QML debugger or the inspector. Task-number: QTCREATORBUG-17177 Change-Id: I6a9e8b9ae23e8bb67ed1905a2ef73f7c4faeb990 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove Windows CE.Friedemann Kleint2016-03-101-5/+0
| | | | | | | | Remove #ifdef sections for Q_OS_WINCE and wince .pro file clauses. Task-number: QTBUG-51673 Change-Id: I33ab74f0c2ce9086c3610c5fa727f281197b6b55 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Updated license headersJani Heikkinen2016-01-2014-238/+168
| | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I04760a0801837cfc516d1c7c02d4f503f6bb70b6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Fixed qtdeclarative tests to pass with updated license headerJani Heikkinen2016-01-201-26/+26
| | | | | Change-Id: I3c826a7b3ee9ff66fac89a7a3d6f0e7057f03eed Reviewed-by: Antti Kokko <antti.kokko@theqtcompany.com>
* V4 Debugger: Clean up testsUlf Hermann2016-01-111-170/+78
| | | | | | | | | | | | Now that we can evaluate expressions without pausing, we might as well test for that. The race conditions should also be resolved by now. Clarify the reason why the break-on-attach test cannot work (so that whoever tries to fix it the next time doesn't have to figure it out for the (n+1)th time) and remove some dead code. Change-Id: Ib1aab03d40779c6876db914b852f05061a2be046 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Support multiple QML engines in V4 debuggerUlf Hermann2015-12-0217-53/+183
| | | | | | | | | | | | | | | | | | | | Whenever the debugger is paused, there is exactly one engine that caused the debuggerPaused() slot to be called. We can only interact with that engine in any meaningful way. Of course you can shoot yourself in the foot with this tool. You can, for example, set a breakpoint that will be hit by multiple engines and then get confused about which engine just hit the breakpoint. Similar things are also possible with other kinds of debuggers, though. If this becomes a problem we can add an engine ID to the responses. Also, this does not fix the other debug services. So you might still not see the "correct" locals and expressions from the QQmlEngineDebugService while the debugger is not paused. Task-number: QTBUG-49615 Change-Id: Ie044f0aedb51481c4cf851635d7c12839251cbd0 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* QmlDebug: Change "macx" to "osx" in tests' .pro filesUlf Hermann2015-11-171-1/+1
| | | | | | | | "macx" is deprecated. Change-Id: Iefdd1aab8a221e39f0651368fd132a842210f58a Reviewed-by: hjk <hjk@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QmlDebug: Restructure QPacket and QPacketProtocolUlf Hermann2015-11-171-8/+6
| | | | | | | | | | | | | | | | | | | | | | We cannot use the same data stream version for the client and server versions of QPacket and QPacketProtocol should not deal with QPackets but with simple byte arrays because the underlying QDataStream is hard to copy. The new QQmlDebugPacket picks its data stream version from QQmlDebugConnector now, which adjusts it when connecting. As there can only ever be one QQmlDebugConnector, we can keep the version static. The clients need to query the connection for the correct version. We may connect to several different servers sequentially or we may have a server running while using a client, and we don't want to confuse the versions between those. With this in place, all remaining occurrences of QDataStream are replaced with QPacket or QQmlDebugPacket. Change-Id: I3f6ba73fcbfad5e8df917c5feb9308116738a614 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Move QQmlDebugClient into separate static libraryUlf Hermann2015-10-301-11/+13
| | | | | Change-Id: Ib3daf9da2cf6798bd022cfcf54d11e565c9cb4ca Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Properly test services arguments for QQmlDebugServerUlf Hermann2015-10-151-0/+6
| | | | | | | | | So far we have only tested that each service is still functional when the services:<service> argument is given on the command line. This test checks that services which aren't specified are indeed not loaded. Change-Id: Ica935da0337b2215898f65cf283d6e11365432a8 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Remove QT_DISABLE_DEPRECATED_BEFORE=0 from tests not using deprecated API.Friedemann Kleint2015-09-031-1/+0
| | | | | Change-Id: I691b8ddff60b5f16f06d32b379c76e87f44f84a9 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Allow specification of loadable debug services via command lineUlf Hermann2015-08-131-43/+53
| | | | | | | | | We don't want to load the debugger when profiling and vice versa. This makes it easier to prevent unwanted services from getting loaded. Task-number: QTBUG-47623 Change-Id: I28893b6218110274a6d30b27805d89dbb443add3 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-161-1/+1
|\ | | | | | | | | | | | | | | Conflicts: tests/auto/qml/debugger/qv4profilerservice/qv4profilerservice.pro tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler.pro Change-Id: I76d87e3df97ebdba902ca3d7488c1582eca2a83c
| * Use qt_subtract_from_timeout instead of duplicating qt_timeout_valueDaniel Teske2015-04-141-1/+1
| | | | | | | | | | | | | | | | The same function was duplicated 5 times in qtbase, so create one copy to rule them all and use it also in QtDeclarative. Change-Id: I4e39a7ee0541ce4fe9710cea344e537ee011bbe9 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Tests: Make qqmldebugjs significant againCaroline Chao2015-04-081-2/+0
| | | | | | | | | | | | | | | | The test is now passing in CI. Change-Id: I9414e05d40fe373878afa43121fcfa7cf95fcbdf Task-number: QTBUG-28263 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* | Update copyright headersJani Heikkinen2015-02-1213-91/+91
|/ | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
* Update license headers and add new licensesJani Heikkinen2014-08-2513-271/+167
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Add support for conditional breakpoints and evaluate.Erik Verbruggen2014-08-081-19/+17
| | | | | | | | | | | | Also centralized the context state saver and added line number saving, so that the JS jobs for evaluation of breakpoint conditions don't change the state of the current engine context. Task-number: QTBUG-37119 Task-number: QTCREATORBUG-11516 Change-Id: Ia21b3d64e239e5b67f3c07e1c006d8e6748f29b6 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Set breakpoints before connect() in JS debugging unit testUlf Hermann2014-02-041-29/+14
| | | | | | | | | | | | | connect() starts the JS engine. Any break point set after that may be missed because the engine has already passed its location when the breakpoint request arrives. The problem can easily be visualized by inserting an artificial delay (e.g. sleep(1)) between connect() and setBreakpoint(). I'm also removing a piece of dead code that gets that wrong and has never actually worked. Change-Id: Ie4410ac3eaf89f02993c653b17148c14048652ab Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* V4 debugging: Fix instable test.Erik Verbruggen2013-11-141-2/+2
| | | | | | | | | Request the scripts after hitting a breakpoint. The reason this test could fail before, is that the engine might be calling into the debugger even before any script was loaded. Change-Id: Iba49f445ab97afaf2bb168b04063432ca2f9dddd Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Debugging with V4Erik Verbruggen2013-11-101-259/+25
| | | | | | | | | Currently missing, but coming in subsequent patches: - evaluating expressions - evaluating breakpoint conditions Change-Id: Ib43f2a3aaa252741ea7ce857a274480feb8741aa Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Remove debugging tests for commands not used by Qt Creator.Erik Verbruggen2013-11-091-122/+0
| | | | | | | These are also not (yet) implemented in the V4 debugging engine. Change-Id: If47b97535e69117193b87d278131f19bd4120c57 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Add qml toolAlan Alpert2013-09-171-3/+4
| | | | | | | | | | | | | | | | | | | This tool simply runs QML files using a QQmlApplicationEngine. It is configurable so as to behave, by default, like qmlscene in that it will automatically place non-Window QtQuick 2 Items inside a QQuickWindow with the size of the root item. The configuration is extensible so that other GUI scenes can also use it by altering the configuration files in their installation. On OS X, it is an app bundle, and handles the QFileOpenEvent so that it can be the tool with which qml files are usually launched by double-clicking. (This does not break the ability to use it on the command line too: the options still work, you just have to give the path to the executable inside the bundle.) Change-Id: I6bac813ce188be54842a78d7b532fcf2d54dc443 Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* Debugger: Fix crash when app exits while debuggingKai Koehne2013-08-212-0/+78
| | | | | | | | Make sure we don't access an already deleted v8engine any more. Task-number: QTBUG-33100 Change-Id: Ic517577ae30b41375cbf9f787cfe0a29121171e2 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* Fix tst_qqmldebugjs and tst_qquickfolderlistmodel build for WinCE.Janne Anttila2013-04-241-0/+5
| | | | | | | | | | | | | | | | | | | tst_qqmldebugjs: Some WINCE header files define IN and OUT macros, and those make the following assignments in tst_qqmldebugjs.cpp to fail later on: const char *IN = "in" const char *OUT = "out" Since platform macros are not needed in the context of this file, undef them to make build pass for WinCE. tst_qquickfolderlistmodel: WinCE does nothave drive letter concept, so lets execute the changeDrive test only on desktop Windows. Change-Id: I5c159e3b3ee82e888aeac1da559fd63a875d089e Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* Revert "QmlDebugging: Remove 'insignificant_test'"Aurindam Jana2013-04-161-0/+2
| | | | | | | | This reverts commit c4b4b01d8ea708f7a1c4cb5adaed8f4abdc623a3. The testcase is still flaky on OSX. Change-Id: I6970b681c3172f7074c00b38c3362d5f212392ab Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* QmlDebugging: Remove 'insignificant_test'Aurindam Jana2013-04-061-2/+0
| | | | | | | | | | | | | The test cases used to depend on a specific port being free for client-server communication. Since, the test cases now use a port range, they should be more stable now. The timeout has also been increased from 5s to 10s to ensure that the application output is read. Task-number: QTBUG-28263 Change-Id: I7f0670713b8a901e4da3c3d62bbb9fc18e38bd25 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Debugger: Accepts port range as argumentsAurindam Jana2013-04-021-3/+4
| | | | | | | | | | Allow a port range to pass on command line, and try to listen on any of the ports in the range. (Re)using the ',' separator allows for backwards compatibility, that is, also Qt 4 will accept a -qmljsdebugger=port:1000,1010 argument, but will only try to listen on port 1000. Change-Id: Ic03fe20e4aee9ecdea86651f46f1df5cb19bd75c Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-1012-12/+12
| | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Made tst_QQmlDebugJS insignificant on Mac.Janne Anttila2012-11-301-0/+2
| | | | | | | | | | | | | | | | | | This test has been failing often on Mac. It seems that test case only fails with Qt5 master integration, but not with QtDeclarative CI. This test has now failed twice consecutive in virtualized Mac OSX machines. Since I'm going to add some more virtual Macs to CI tomorrow morning, making this test case insignificant to avoid good changes integrating in additional capacity. For more information, see the following bug report. Task-number: QTBUG-28263 Change-Id: I3492373f4f034c27fdbc207e395a40ef96dccbd9 Reviewed-by: Samuli Piippo <samuli.piippo@digia.com> Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* qmlscene can start with either an Item or Window as the qml rootShawn Rutledge2012-11-051-2/+6
| | | | | | | | | | | Before, it assumed that the root is an Item and needs to have a Window created. But it's useful for an application to have a Window as the root, and it was already possible by writing a different C++ main function (see qtdeclarative/examples/window/window/window.cpp). It doesn't take much to give qmlscene this flexibility too. Change-Id: Ie808e78a42074e13aa9d3c87723ec9ac8fdbaf4a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Allow QQmlDebugProcess to be child of other qobjects.Frederik Gladhorn2012-10-231-1/+1
| | | | | | | | | | | Some tests when failing would leave the process running. For example on my machine tst_qqmlinspector would hang and restarting it would not work because the before started process was still blocking the port. Change-Id: I32dfb4874b18d7dcf34d0f40819b17dedd794ff3 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2312-299/+299
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Support JS Array.sort() function for sequence wrappers.Glenn Watson2012-08-081-1/+1
| | | | | | | | | | | | | | The V8 natve sort implementation calls some functions that are incompatible with the way sequence wrappers work. In particular, it calls an internal length() function which does not pass through the length accessor provided by sequence wrappers, so the sort function always thinks the array is zero length. Instead, clone the array prototype and override the sort function with one that is specific to sequence wrappers. Task-number: QTBUG-25269 Change-Id: Ic83b9ee0bd3a0707e512f28057f0f99b432fded4 Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
* Set the Qt API level to compatibility mode in all tests.Thiago Macieira2012-08-011-0/+1
| | | | | | | | | | Qt 5.0 beta requires changing the default to the 5.0 API, disabling the deprecated code. However, tests should test (and often do) the compatibility API too, so turn it back on. Task-number: QTBUG-25053 Change-Id: I6988c2360e9d88916311374a0c910bfc5b607439 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add gui-private to testsGirish Ramakrishnan2012-06-221-1/+1
| | | | | | | QWindowSystemInterface will be marked as QPA API. Change-Id: Id174a24f8432219adf1425efe1eb59cf67d48bb9 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Removed CONFIG+=parallel_test from parallel-unsafe testsRohan McGovern2012-05-141-2/+0
| | | | | | | | These tests are marked with CONFIG+=parallel_test, but are observed to fail sometimes if run concurrently with other tests, and pass otherwise. Change-Id: Id59209ca80c7449bdc0689af522c82ff00c4b588 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* QmlDebugJS: Re-enable autotest on macAurindam Jana2012-04-261-4/+0
| | | | | | | | Execute getScripts() which was previously skipped. Task-number: QTBUG-23475 Change-Id: I8e64b112fe6fa2d032b386f477594c3c21286431 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Improve output of autotestsKai Koehne2012-04-251-1/+12
| | | | | Change-Id: Ib938d2f39d8a0928c257ef923df5d5fcfa85c4cf Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* QV8DebugService: v8::AfterCompile EventsAurindam Jana2012-04-172-30/+9
| | | | | | | | Do not send v8::AfterCompile events. This speeds up the debugger. Change-Id: I84f5d90e24878af42d514e5d26c9e051502605f6 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Always disable v4 optimizer if v8 debugger is activatedKai Koehne2012-03-192-4/+24
| | | | | | | Don't rely on QML_DISABLE_OPTIMIZER environment variable being set. Change-Id: Ib1a9d83eb9698adcd3c9a5bbcc74cba382836078 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* QmlDebuggingTests: Separate out public and private testsAurindam Jana2012-03-191-1/+1
| | | | | | | | | Remove dependencies on quick-private from all possible debugging auto tests and list them under public tests. Change-Id: I688b5b36fdf3d6fbcb6cef2a975ecd1bf679af2b Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QmlDebugging: Modify test JSDebug test casesAurindam Jana2012-03-131-4/+12
| | | | | | | | Add signals that are emitted on debugger responses for flaky auto tests. Change-Id: Ic59f559083b2b19fb8eec920dcb76f23125639a8 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QmlDebugging: Remove QQmlDebugClientAurindam Jana2012-03-092-7/+5
| | | | | | | | Remove QQmlDebugClient and relevant classes from the library and move to client code. Change-Id: I6f526b3f0c92970dcad5e5abd8585bb9b406349e Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Changed qml tests to work from install directoryKurt Korbatits2012-03-071-3/+1
| | | | | | | | | | - Changed tests to use TESTDATA - moved qqmlcontext to private test as it contains private header - added check for cross_compile option to skip when sources not available Change-Id: I0f68f58ffcb1b41b8e40a9851e3e003fe72ee2f9 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-2413-0/+2408
Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>