summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprofiler/tests
Commit message (Collapse)AuthorAgeFilesLines
* Code cosmeticshjk2022-06-242-2/+3
| | | | | | | | | | Mostly unused #include's, also sort them or reduce scope. A few namespaces, ... Change-Id: I9ee71e07de7157c9942125672addf87dd41e78f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: hjk <hjk@qt.io>
* Dissolve RunControl::setRunnablehjk2022-05-311-21/+19
| | | | | | Change-Id: I52aea3bea0c4ea90a448f5a77bfa01414bc56702 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Add Quick3d profiler supportJanne Koskinen2022-01-241-1/+4
| | | | | | | | | | | | Add support for quick3d profiling Task-number: QTBUG-98146 Change-Id: Ida84537df685e8bddc536158519600d722a23d2e Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Remove qmake build filesEike Ziller2022-01-201-46/+0
| | | | | | | | | | Removes qmake as a build system for building Qt Creator itself. Keep them for some tests that are not completely moved to CMake yet. Change-Id: I846c6ef65626b6dfae6375fdc85d00677aa8c2fb Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* QmlProfiler: Remove unneeded Q_OBJECT in some testhjk2021-11-261-3/+0
| | | | | | | Which apparently also confused my cmake. Change-Id: I0d3c131616e9aeb1487731900849545f925a0106 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Remove unneeded includes of ApplicationLauncherJarek Kobus2021-11-101-1/+0
| | | | | | | | | Touching applicationlauncher.h caused recompilation of 455 files. This reduces it now to 250 files. Change-Id: I4f347d67695db40ea139faf7d36cfe02f1c32258 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Utils: Introduce a FilePath constructor from char arrayshjk2021-08-172-7/+6
| | | | | | | | | | | | Similar to QT_RESTRICTED_CAST_FROM_ASCII to avoid the need for decorations in user code. At the same time, drop some convenience constructors and functions in CommandLine and Icon essentially serving the same purpose. Change-Id: Ida4e5ac19c2da0a4298a97b2a8e1511d56bbb79d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Use Utils::CommandLine in ProjectExplorer::Runnablehjk2021-08-131-6/+4
| | | | | | Change-Id: Id965f1f9047dcbc3ea5c9ddaa550d12668cf8ae6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Tracing/QmlProfiler/CtfVisualizer/PerfProfiler: Compile with Qt 6Alessandro Portale2021-06-091-0/+7
| | | | | | | | | | | | | | | | | | | This makes the tracing lib, its tests and the three plugins which depend on the lib compile with Qt 6. The rectangles are not yet shown most likely because some OpenGL specific code was #ifdef-ed for Qt 6. That code needs to be reimplemented on top of the new Scenegraph API, using the RHI instead of direct OpenGL in a follow-up patch. An assertion failure in QQuickWidget::createFramebufferObject() needs to be fixed as-well. The code still builds and runs assertion free (and the autotests pass) when built against Qt 5. Task-number: QTCREATORBUG-20575 Change-Id: I47ebb477823de2f0d27329dac7c292a466cea1d7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlProfiler: Aspectify settingshjk2021-04-123-153/+0
| | | | | | | | | | | Only four simple values. Adapting qmlprofilerconfigwidget_test did not seem desirable, as in the aspectified state this is hidden in the base aspects implementations. Change-Id: I933a8ca065169c61b7f25f109e0b7a0e6d21cb33 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* QmlProfiler: Be more patient in FlameGraphViewTestUlf Hermann2021-01-151-1/+1
| | | | | | | Apparently 5s are not enough to show a window on the screen ... Change-Id: I8da65d0d8b8b9bbb7ba80396045551d46590ff61 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Don't access static functions/fields via instanceAlessandro Portale2020-11-273-6/+6
| | | | | | | | | | | | Courtesy of readability-static-accessed-through-instance Amends: b2a766a79ac778febff87f0def34cf6d3f4f93e3 Round #2: This time done with Qt Creator's Analyzer, which found other occurences than run-clang-tidy.py Change-Id: I479e280c7abcf2d24baccbb0af69ae4bda05198e Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* QmlProfiler: Fix flamegraph testChristian Stenger2020-11-161-2/+2
| | | | | Change-Id: I27d7067a844e614334a5faedcb2915b3a24ae5e0 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Replace BuildConfigurationFactory::availableBuildshjk2020-01-091-4/+3
| | | | | | | ... by a function object. Change-Id: I9953ba6915c0177e7c4067d36dd755fc2ba5cf84 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmlProfiler: Remove unnecessary parameter from test codeTobias Hunger2019-08-151-2/+2
| | | | | Change-Id: Ia1963e316f7c56357989440a13af5d73488ffece Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Re-work setup runworker factorieshjk2019-08-092-7/+6
| | | | | | | | | | | | | | | This combines two of the previous three paths to create run workers, and refers to RunConfigurations by id, not by type where possible to decrease coupling between the classes. Only allow "type of run configuration" and "type of device" as the only possible kind of restriction and require a uniform RunWorker constructor signature. Adapt user code to fit that pattern. Change-Id: I5a6d49c9a144785fd0235d7586f244b56f67b366 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Add convenience Project::addTargetFor{Default,}Kithjk2019-08-011-7/+1
| | | | | | | Less noise on the user side. Change-Id: I5cdf4af4910a3cc1ee0af1b43fcbc7329a6d59db Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Avoid warning on empty expressionshjk2019-07-232-7/+7
| | | | | | | | For some reason, Q_UNUSED includes already a semicolon, adding one on the user side creates an additional empty statement. Change-Id: I9c5e8fac381345a60792cb75e2938fd53958d3b0 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Merge BuildConfigurationFactory::availableBuildshjk2019-06-271-7/+1
| | | | | | | ... and availableSetups as far as mechanically possible. Change-Id: Ia1d7babe943eea25da97cef7838187c234378673 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Align signatures of BuildConfigurationhjk2019-06-271-1/+2
| | | | | | | | | | ... availableBuilds() and availableSetups(). Goal is to merge them and inline all the local createBuildInfo() functions. Change-Id: I9f19093163808b6da6dc83977894420e08a1edd9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer etc: More FilePath usagehjk2019-06-261-1/+4
| | | | | | | Mostly for project files. Change-Id: Icb6059f80758865e42cc9f9c092ec6782770dfd7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Use Utils::FileName for Runnable::executablehjk2019-06-211-2/+2
| | | | | Change-Id: I584bc18aa19a4c9886af7b13e95052dfd4350b34 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Remove rarely used FilePath constructorhjk2019-05-281-2/+2
| | | | | | | Not much benefit interface-wise. Change-Id: I0e605ec235e8072efcbf7e777cf7e8f8ee5e0799 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: Rename FileName to FilePathhjk2019-05-281-7/+7
| | | | | | | | 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>
* Remove excess blank lines after namespaceOrgad Shaneh2019-05-271-1/+0
| | | | | Change-Id: I4e4f83017f2bfc2cf842c4c971ed4b05e0447e6a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Move RunControl related classes to separate file pairhjk2019-03-131-1/+1
| | | | | Change-Id: I5da56f80336673d595907abcc797f628be680cd5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Split RunControl constructorhjk2019-03-121-8/+4
| | | | | | | | | | | Into a trivial bit and two setters. Plan is to use it only with information that is truly there (e.g. kit/device only) at the user side without having to invent a RunConfiguration "handle". Also remove some dead code in the test runner. Change-Id: I987881e41722178b14b91f973b84cbdb67a9f85e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Refactor KitManager::registerKit()Christian Kandeler2019-03-122-9/+7
| | | | | | | | | | The interface of this function was rather unfortunate. In particluar, the fact that it took ownership of the std::unique_ptr that was passed in required some weird boiler plate code at all the calling sites. Instead, it now becomes a proper factory function. Change-Id: Iecdc6f6345232fc0f0a08bffaf8f1780edb57201 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Un-protect ProjectNode constructorhjk2019-02-261-8/+1
| | | | | | | | Not much protection needed, and not provided either, as seen in the removed workarounds. Change-Id: Ib33f6481cdb04481c0324bdeb57eb50143ecb62f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Remove FileNode's isGenerated constructor boolhjk2019-02-251-2/+2
| | | | | | | Use setter of base class, similar to setListInProject() before. Change-Id: Id620f0084a5dec0410f29c80f8f6393a6bcd5050 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* ProjectExplorer: Rename KitInformation to KitAspectChristian Kandeler2019-02-111-1/+1
| | | | | | | | | | | The name "KitInformation" does not properly convey the fact that it represents a certain *aspect* of a kit. The same goes for "KitConfigWidget", which in addition was inconsistent with "KitInformation". We now use "KitAspect" and "KitAspectWidget". Change-Id: I9804ee4cedc4d61fad533ea1dd4e4720e67fde97 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Remove BuildConfigurationFactory::priorityhjk2019-01-311-5/+0
| | | | | | | | | | | | | | | It's essentially an intrusive hack that's used only to prioritize Ios+Qmake over plain Qmake. The effect is now achieved by an arguably equally evil dependency on the construction order of BuildConfiguration factories. It can be argued, however, that this is a feature as it allows user plugins to intentionally override core functionality by using the standard setup pattern and depending on the to-be- overridden plugin. Change-Id: Ic1efa305daf3ca19a880d2a7ccb40e2768d8f57c Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Collapse BuildInfo hierarchyhjk2019-01-301-5/+6
| | | | | | | | | | | | | | ... to pass it around as real values, avoiding, among others, the need of occasional explicit deletion. The formerly extra members of the derived stuff are handled via an extra variant (for data) and via a functor in the build configuration factory. The change is mechanical. Change-Id: I19ca4e0c5f0a5b196fc16dfb98bb005dc679f855 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Rename IBuildConfigurationFactoryhjk2019-01-291-1/+1
| | | | | | | | ... to BuildConfigurationFactory. It hasn't been an Interface for a while and the new name matches Run- and DeployConfigurationFactory Change-Id: I923c6a27e18a99628251b69e0270e910836e7b2a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmlProfiler: ModernizeAlessandro Portale2018-12-0215-26/+26
| | | | | | | modernize-* Change-Id: Ibdf9c0ae91bf8a622facc7f323112b550f532f15 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlProfiler: Further improve QmlProfilerTool testUlf Hermann2018-10-171-2/+8
| | | | | | | | | | | | Don't close the fake debug server after receiving one connection. The client might time out after establishing the TCP connection, but before receiving the hello message. Also, retry more aggressively, just like we do in the QmlProfilerClientManager test. Change-Id: Ib0a6c068c97d8000b599d51f31f90712db219af2 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* QmlProfiler: Make the tool test more robustUlf Hermann2018-10-051-5/+3
| | | | | | | | | | Apparently there is a different message box that commonly pops up while we are waiting for the attach dialog. Just close it and try again. Also, stop the timer once we have seen the dialog. Otherwise we might fail on extra message boxes that pop up afterwards. Change-Id: I06ae16eb3ad89c9a022ac6fae781f8465425d96f Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* QmlProfiler: Add more fine grained checks to tool testUlf Hermann2018-10-041-4/+17
| | | | | | | | The test frequently fails for unknown reasons. Check if we actually see the attach dialog, or if some other dialog interfers. Change-Id: Id279b8aa0a822dbdb565fe4105bfcb28ad704e3c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge remote-tracking branch 'origin/4.7'Eike Ziller2018-09-071-1/+1
|\ | | | | | | Change-Id: Ifb51ca9893549c478e99c9fc3ea6c32d5d5a28a2
| * QmlProfiler: Listen on QHostAddress::Any in QmlProfilerToolTestUlf Hermann2018-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The attach dialog retrieves the host address to connect to from the device's toolControlChannel(). All of the toolControlChannel() implementations currently specify "localhost" as host address. "localhost" means IPv6 on macOS and IPv4 everywhere else. Unfortunately there is no shortcut for listening on a dual-stack local address in QTcpServer and urlFromLocalHostAndFreePort() will try both v4 and v6, returning whatever works. There is a shortcut for listening on a dual-stack "any" address, though. As this is only the test, we can live with exposing a TCP server to the internet for a short time. Change-Id: I4114f03668e608f80353d21a59edf67db4b7f738 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
| * QmlProfiler: Don't scan the whole file system in rewriter testUlf Hermann2018-08-291-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QLibraryInfo::location() returns one string. Iterating over that gives us the individual characters, beginning with '/'. Running that through FileName::fromString(), gives us "/", and feeding this to ModelManagerInterface::importScan() is not funny. This has to be backported as the sheer volume of files to be scanned makes the tests time out. (cherry-picked from commit af8bd1238724e3d578b9a16e4ffa88a6a046dca6) Change-Id: Ib4293437ab83da8ed10a696fba2c30f5c51c8124 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | KitManager: Use unique_ptr to manage kitsTobias Hunger2018-07-253-11/+12
| | | | | | | | | | Change-Id: I8c66290f0d23afe37673bd858f7db135c8232a78 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QmlProfiler: Fix place markersRobert Loehning2018-07-181-8/+6
| | | | | | | | | | | | | | | | Using the numerus form requires "%n". Change-Id: I18e32795d6f4f58e9b531e89572351d6520e7e33 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QmlProfiler: Don't scan the whole file system in rewriter testUlf Hermann2018-07-161-2/+3
| | | | | | | | | | | | | | | | | | | | QLibraryInfo::location() returns one string. Iterating over that gives us the individual characters, beginning with '/'. Running that through FileName::fromString(), gives us "/", and feeding this to ModelManagerInterface::importScan() is not funny. Change-Id: I627e5739337efacc0632d8a476bb5ad3093793ea Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* | Merge remote-tracking branch 'origin/4.7'Eike Ziller2018-06-191-1/+1
|\ \ | |/ | | | | Change-Id: I3c5d7e9e8c589ad4425cd89d61e1f572f5cb7997
| * QmlProfiler: Fix unit test executionChristian Stenger2018-06-141-1/+1
| | | | | | | | | | | | | | | | Adjust to changed message - otherwise we get millions of fails on macOS. Amends 0f2febd7848787ac. Change-Id: If9a4c453ae952e708c873c4b11f550aa6632bbd5 Reviewed-by: hjk <hjk@qt.io>
* | Merge remote-tracking branch 'origin/4.7'Eike Ziller2018-06-111-5/+10
|\ \ | |/ | | | | Change-Id: I762dbddb0f337e9a5fc4b113c7876813e9f45c9c
| * QmlProfiler: When retrying to connect, double the timeoutUlf Hermann2018-06-061-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you are retrying, then probably you want it to be more patient this time. Also, tell the user how long we have waited and how long we are going to wait when retrying. In turn, reduce the number of "internal" retries. Retrying 10 times should be enough to determine if the given timeout is too short. This will give us an initial waiting time of 2s, and make the second try 4s. Change-Id: Ibdfe02d041550eb16cadc59cec1b78ce97289b30 Task-number: QTCREATORBUG-20529 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge remote-tracking branch 'origin/4.7'Eike Ziller2018-06-042-0/+4
|\ \ | |/ | | | | Change-Id: Ib288796892faf5345d2a150a5ce0dadf91552924
| * QmlProfiler: Suppress debug message in testUlf Hermann2018-05-291-0/+3
| | | | | | | | | | | | | | | | The application is expected to fail after the transition to "Starting" there. Change-Id: I61e69df73ca9db82b9649727b69800927b1c16c5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>