Commit Graph

4400 Commits

Author SHA1 Message Date
Tim Jenssen
681daa0d69 UnitTest: fix no "-fno-omit-frame-pointer" argument
Change-Id: I356fee73b2b50301d4cc857704a90c6dd2eddc18
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-06 09:34:29 +00:00
Tim Jenssen
dc155d0834 UnitTest: adjust to new addMimeTypes API
Change-Id: Ib1735e56ec7f56b8792dd462b88882b0324ac08b
Reviewed-by: hjk <hjk@qt.io>
2017-03-06 08:40:45 +00:00
Robert Loehning
ade7393ec9 Squish: Fix kit selection
Fixes f78327a571

Change-Id: I7e9ea53c96a8382db27213a1d6e182fa865723ee
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-03-03 18:26:03 +00:00
Robert Loehning
785a982a64 Squish: Protect ALL_TARGETS against accidental changes
Change-Id: I45efe55b87fb1e02e1b4016c9d94353c1823604a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-03 15:19:16 +00:00
hjk
f6715fe52b Utils: Add a ObjectPool convenience class template
The ObjectPool class template provides parts of the functionality
of the global PluginManager object pool but is intented to be
used with smaller set objects, typically with same base type (e.g.
factories) only.

The ObjectPool takes ownership of add items if and only if the item does
not have a QObject parent.

Items owned by the Object pool are destructed when the pool is
destructed, the other items are taken care of by their QObject parent
according to the usual parent/child behavior.

Change-Id: I60886095c8b04eae017e1fb56774b1bf66dbefa1
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-03-03 14:59:44 +00:00
Christian Stenger
d301824886 Squish: Adjust tests that use Qt Quick UI wizards
Qt Quick UI had been slightly renamed and Qt Quick Controls UI is
gone.

Change-Id: I990af2bc83513ad8d85838b037e79dc88bbfdb73
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-03-03 12:40:38 +00:00
Christian Stenger
27789d2715 Squish: Add minimal test for custom wizards
Change-Id: I4de8c92ad8b40d2a8e275a53763b17b953ef69dc
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-03-03 12:40:26 +00:00
Robert Loehning
77cf864e89 Squish: Test removing of kits
Task-number: QTCREATORBUG-17702
Change-Id: I545e9f30dd61eae5a49ff0c56a63dc89f92ce6de
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-03 12:33:11 +00:00
Robert Loehning
9c118fb8f2 Squish: Add function returning all available kits
Change-Id: I6699ad5c869dbbd413d0b1d113a169c2ec06511c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-03 12:32:51 +00:00
Robert Loehning
f78327a571 Squish: Use list instead of bitfield for kits
Change-Id: Ia2e1f3aa9ea723deb9f2a2c88e2f97be8ae0e833
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-03 12:32:36 +00:00
Robert Loehning
33162e3248 Squish: Add error handling to tst_HELP06
Change-Id: I448391f10d78b528ff321ef8974ee1c94bcbdc84
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-01 13:23:58 +00:00
hjk
329db5f4cc Debugger: Use ProcessHandle in notifyInferiorPid()
Change-Id: Idcb6819b64964b6aa0e72d182cc628feba37ba55
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-03-01 11:57:48 +00:00
David Schulz
aafb17ae83 Debugger: Add enum value dumper to cdbbridge
Change-Id: I40f1556599be7581eeab0c75b034696ac22a7131
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-01 10:07:49 +00:00
Christian Stenger
9423f3414b Squish: Handle build system on wizards while creating new projects
Change-Id: I81480e5371767df0f7b4923b80cb49e00ff1c657
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-03-01 08:17:56 +00:00
Eike Ziller
1704c484a8 Merge remote-tracking branch 'origin/4.2'
Change-Id: I9006dd493707ae626ae3502541599c8789e1aab0
2017-02-27 15:17:37 +01:00
Eike Ziller
d64e17ad55 Move mimetype definitions to plugin specs
- Avoids the hassle of QRC files and manually registering mime types
- Avoids performance regressions because of mime types that are
  registered after mime database has been used
- Makes it technically possible to detect that a disabled plugin could
  handle a mime type if it was enabled

Change-Id: I373008b1b56e9c6b4853055f20b3eeb112a6eff9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-02-27 13:54:59 +00:00
Robert Loehning
126a031ee2 Squish: Wait a second in checkNavigator()
Change-Id: I45bad30e28f7374ae10d5b0155e08d8297f44448
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-27 11:01:44 +00:00
Christian Stenger
a803ee062b Tests: Avoid race condition when building with multiple jobs
Change-Id: Ia5a110812694d03e6f6e02cf66b4aaf209224910
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-02-27 08:34:07 +00:00
Christian Stenger
2e7e95917e Squish: Remove unused object
Forgotten to remove this in e03132f517.

Change-Id: I7699c657d0ff8300ac38d96a9430d8c1e372628f
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-24 06:28:42 +00:00
Christian Stenger
ed67e7121b Squish: Fix tst_session_handling
Adapt to changed UI and Welcome page.

Change-Id: I413835926411687d6161026da42be97b2b6a41c3
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-24 06:27:55 +00:00
Nikolai Kosjar
fe27f947b9 C++: Avoid inline namespaces in generated code
Task-number: QTCREATORBUG-16086
Change-Id: Ic2f3fd38ae6cc93725bc214c24320f40a0a519a8
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-02-23 14:49:31 +00:00
David Schulz
bb05b5ff11 Debugger: Pass Qt type info version to the debugger protocol
Fixes Qt 5.8 QDateTime python dumper.

Change-Id: If6fab7bf3ea63372ef01942bcaa2121eb9c2b6db
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-02-23 05:55:46 +00:00
Tim Jenssen
2631ffabd5 Remove spaces in initializer lists
Format initializer lists code style like.

Change-Id: Ib82c235e4ba7dc75ee96a7abc0c47eff7b0a9013
Reviewed-by: hjk <hjk@qt.io>
2017-02-22 16:25:09 +00:00
Robert Loehning
062678a937 Squish: Add some debug logging to openDocument()
Change-Id: If34eaad1bd04a7d2409f0e00c217c7bd12add106
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-21 10:49:37 +00:00
Marco Bubke
a5e96dbd99 Clang: Work around missing file
We now generate an empty fake file.

Change-Id: I92fef2b24dce788c1d1b675b034d4b31346b80d9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-21 08:25:47 +00:00
Marco Bubke
537217288a Clang: Ignore CHeader
Because we don't now if a *.h file is a C or C++ header we provide both
as project file if a C and C++ file is present. But C++ is not readable
by C compiler. So we skip that files and hope there is no non referenced
C header, which is very very unlikely.

Change-Id: I5505713e759749c8a0738e11b70bb6b309412966
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-20 16:09:16 +00:00
Marco Bubke
58763aa996 Clang: Silence warnings
Change-Id: I63f8a85f0a352fc8f41835bd3ab1574255d4436b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-20 16:09:05 +00:00
Christian Stenger
8349242770 Squish: Adapt to changes of project wizards
Some project wizards have nowadays build system support.

Change-Id: I2d7e9ffd5be2ec74a012fa977281e032596229b5
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-20 14:56:38 +00:00
Nikolai Kosjar
8c90998fff CppTools/ProjectManagers: Reduce ui blocking when loading projects
${AnyProject}::updateCppCodeModel() did two potentially not that cheap
operations in the ui thread:
 (1) Querying the MimeDatabase for the mime type for the source files of
     the project. In 99.9% of the cases no files need to be read for
     this as the file extension will resolve the type. The expensiveness
     comes from the sheer number of files that can occur.
 (2) Calling compilers with the "(sub)project's compiler command line"
     to determine the macros. While the caches avoid redundant calls,
     the number of the unique compiler calls makes this still a
     ui-freezing experience.

These two operations are moved into a worker thread. For this, the
expensive compiler calls are encapsulated in thread safe lambdas
("runners") in order to keep the "mutexed" data minimal. The original
API calls of the toolchains are implemented in terms of the runners.

While adapting the project managers, remove also the calls to
setProjectLanguage(). These are redundant because all of the project
managers already set a proper value in the constructor. Also, currently
there is no need (client) to report back detection of C sources in
project parts. This also keeps CppProjectUpdater simple.

There is still room for improvement:
 * Run the compiler calls in parallel instead of sequence.
 * Ensure that the mime type for a file is determined exactly once.

Change-Id: I2efc4e132ee88e3c8f264012ec8fafe3d86c404f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-02-20 09:18:13 +00:00
Nikolai Kosjar
77dbee7bdb Tests: Fix compilation of tst_dumpers.cpp
Change-Id: Icdd65a6fc510e4bdb6071ebd4314a0eff7559f4f
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-02-17 12:46:50 +00:00
David Schulz
4e16c507c1 Debugger: Restrict tests with initializer lists to MSVC 14+
Change-Id: I685909652bd7567473a2e6d09254d67e8bb51b33
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-17 11:47:13 +00:00
Marco Bubke
aba09cc115 Clang: Add test for include collector
To be secure that include is only called it the definition is true.

Change-Id: I04bae9860e64206a1c6886d7cf1682a87e9f9a07
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-16 17:39:16 +00:00
Marco Bubke
1a75db12f4 Clang: Improve speed by content generation
The argument parsing has some considerable overhead. We try to avoid that
with merging all content together in one file.

Change-Id: Icf426bb5d6a5569d59c180f94c7eab66a22a251c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-16 17:39:05 +00:00
Christian Stenger
374a51b2e0 Squish: Adapt tst_WELP04 to latest Welcome page changes
Change-Id: I835bbcf3676816d92160b2eca967af4adcd3876a
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-16 05:42:28 +00:00
David Schulz
e0fd62afef Debugger: Fix compiling dumper tests without profile on windows
Change-Id: I2260678a77fde5eb0599cdec2e52f12f63cf0fcd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-02-15 08:47:31 +00:00
Eike Ziller
58249104ad Merge "Merge remote-tracking branch 'origin/4.2'" 2017-02-14 14:38:53 +00:00
Nikolai Kosjar
93672fda2d Tests: Define SRCDIR for clang static analyzer tests only where necessary
Only the test clangstaticanalyzerlogfilereader makes use of that.

Change-Id: I5761ed023eab1b03dbb276d1798163fd2fb81e3d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-14 14:34:13 +00:00
Eike Ziller
e724934393 Merge remote-tracking branch 'origin/4.2'
Conflicts:
	doc/src/qtquick/creator-tutorial-create-qq-project.qdocinc
	doc/src/qtquick/qtquick-creating.qdoc
	doc/src/qtquick/qtquick-uiforms-tutorial.qdoc
	share/qtcreator/welcomescreen/qtcreator_tutorials.xml
	src/plugins/git/gitgrep.cpp
	src/shared/qbs

Change-Id: I6f4d168d888d9547c3af0819f79cc9ebb4186ca0
2017-02-14 15:32:04 +01:00
Nikolai Kosjar
5094cfe019 UnitTest: Replace "included File" with "header"
Change-Id: I30799e116a794e041c833d76c6cd969ba1a428bf
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-14 13:48:17 +00:00
Nikolai Kosjar
e06030d56f Tests: Fix crashing clangstaticanalyzerrunner test
...due to a not set master temporary directory.

Change-Id: I6668209e9b724f6560331f683b63e1c41616f060
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-14 13:04:09 +00:00
Robert Loehning
0115cc3103 Squish: Use cdb from Windows 10 kit
Change-Id: I7e30848f583fd767bf6ad8a4accac7df41ce9167
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-14 13:02:15 +00:00
Nikolai Kosjar
da1f1326f2 UnitTests: Remove unused function
Change-Id: I580a016ec8567505374e6fc2b0ebbba454ebc192
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-14 09:47:33 +00:00
Nikolai Kosjar
340063c624 Clang: Use Utils::TemporaryDirectory
Task-number: QTCREATORBUG-17401
Change-Id: Ibf6007455ec92b1d9fcac17e1f3b5e2af21b7438
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-02-13 15:21:04 +00:00
Christian Stenger
e03132f517 Squish: Adapt tst_WELP03 to latest Welcome page changes
Change-Id: Ia62813cf94b31a82fedb191eaf11f752d1d30bf0
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-13 11:58:37 +00:00
Christian Stenger
9f6f5bfee2 Squish: Adapt tst_WELP02 to latest Welcome page changes
Additionally move common used code for interacting with the
Welcome page into separate file.

Change-Id: If863ae529c7c81d095f310f0a34926b324c77fa8
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-13 11:58:30 +00:00
Orgad Shaneh
0c9f23db96 GDB: Fix printing of flag enums
It worked with plain GDB (parse_and_eval), and was broken by
696b2d4261.

Change-Id: Ibc143efdbd90681a2f9f4d84b75063eb98078f2b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-13 08:08:41 +00:00
Orgad Shaneh
9c820101cc Debugger: Fix dumper tests
1f29242276 used the correct form for
CONFIG -= qt.

This revealed several cases that are missing CoreProfile configuration.

Change-Id: I8bb6d5156eb6beba91a8df7b948832f1e043d64f
Reviewed-by: hjk <hjk@qt.io>
2017-02-13 07:08:48 +00:00
Christian Stenger
eb4b4d7be2 Squish: Fix iterating over debuggers
Change-Id: I6648e74f8f8e0c581a4bd4ba4b3606e3f18a5af5
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-10 12:16:24 +00:00
Eike Ziller
2b94bdaa2e Tests: Fix build on macOS without command line tools installed
Overwriting QMAKE_CXXFLAGS will remove the needed isysroot flag
for finding the standard headers.
Explicitly settings the standard lib on macOS is also no longer
necessary.

Change-Id: I8a5ae5df485785b473a435c7feb9f8fb3295952b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-10 07:59:40 +00:00
Marco Bubke
7f8e60b289 UnitTest: Improve linking time under linux
Change-Id: Ia1f90d0ec208535a75d187875f0969bfca65b318
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-02-09 12:34:51 +00:00