Commit Graph

2176 Commits

Author SHA1 Message Date
Eike Ziller
04a4bacbf9 Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/coreplugin/dialogs/externaltoolconfig.ui

Change-Id: Ie38e9028cee599578c59b22325d85c097335243e
2019-01-07 13:24:12 +01:00
Marco Benelli
51f93c0dfc qmljs: basic ECMAscript 7 test suite
Change-Id: Ib313ba1be60265784fc6f699b5aa6990277fa33f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-12-20 15:19:19 +00:00
hjk
2a67a86c2f Debugger: Add fallback when gdb.Value.cast() fails for typedefs
Fixes: QTCREATORBUG-18450
Change-Id: I9239beb7e1879a284e28a30579129fe487eb2dd2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-12-17 13:21:02 +00:00
hjk
5a8b198b9a Debugger: Fix display of multidimensional C arrays
Fixes: QTCREATORBUG-19356
Fixes: QTCREATORBUG-20639
Fixes: QTCREATORBUG-21677
Change-Id: Ie28b51c6caf526e125234959cbf11503d0683dc7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-12-17 09:42:56 +00:00
Christian Kandeler
d7178b88c4 SSH: Use OpenSSH tools
... instead of our own SSH library.

Advantages:
    - Full compatibility with OpenSSH behavior guaranteed.
    - Minimal maintenance effort.
    - Less code to build.
    - Big chunk of 3rd party sources can be removed from our repository.

One the downside, Windows users now need to install OpenSSH for
RemoteLinux support. Hoewever, people doing embedded development
probably have it installed anyway.

[ChangeLog] Switched SSH backend to OpenSSH

Fixes: QTCREATORBUG-15744
Fixes: QTCREATORBUG-15807
Fixes: QTCREATORBUG-19306
Fixes: QTCREATORBUG-20210
Change-Id: Ifcfefdd39401e45ba1f4aca35d2c5bf7046c7aab
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-12-13 15:10:11 +00:00
Eike Ziller
9084ca73df Merge remote-tracking branch 'origin/4.8'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/cpptools/compileroptionsbuilder.cpp

Change-Id: I87f47cecbb924064296a002fd9446a0627acad8e
2018-12-12 09:44:13 +01:00
Christian Stenger
0eafe28bd1 Tests: Correct expectation
Broke with 84576d3098.

Change-Id: Ib03a44f9864c1e2072ecd4b98eb3c2ffef5741d3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
2018-12-10 13:03:35 +00:00
Christian Kandeler
1fc2b12ffc SSH: Fix autotest
The SshX11InfoRetriever object must not be allocated on the stack, and
the failure signal was potentially emitted too early for the test to
catch it.

Change-Id: Iac53546deee183c8f02bafdcc11a7910f3e392c0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-12-03 13:47:26 +00:00
Orgad Shaneh
5e8ec97d69 Do not build QmlDesigner tests when the plugin is disabled
Change-Id: Iaf7e06be6b81040c36726aa76923b285e2402aef
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-12-03 07:40:08 +00:00
Eike Ziller
29c9f8080d Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/android/androidrunnerworker.cpp

Change-Id: Ibd8b99435365fb7e7d488313fd1d2b3a75adad1b
2018-11-29 13:36:14 +01:00
David Schulz
b25ad292d3 ProjectExplorer: merge AbstractMsvcToolChain into MsvcToolChain
The abstraction was initially done for the WinCE tool chain.
Since we do not support WinCE anymore merge this classes back together.
This reduces the maintenance burden, beacause there was no clear line on
what functionality belongs in which abstraction layer.

Change-Id: I70b75482f83538221789369acea5b8df6d89af75
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-11-27 09:42:50 +00:00
Christian Stenger
217636886c Tests: Fix QmlJs auto tests
Change-Id: Iba5e5e786e8241db120359f95850207021d61c49
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-11-27 08:13:27 +00:00
Thomas Hartmann
323136f403 QmlDesigner: Skip failing test
Change-Id: Ie23bef2faa45cd6ac2b96b49bfc02ce6d55d6639
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-11-23 09:25:52 +00:00
Orgad Shaneh
5170dd0858 Merge remote-tracking branch 'origin/4.8'
Change-Id: Ia8bf92c8effdee0e1085730cb975ff88c8ad85fc
2018-11-20 19:13:13 +02:00
Christian Stenger
84576d3098 Dumper: Fix displaying enums with LLDB
Prioritize displaying as enum if a type is known
to be an enum. Otherwise this would just end up
get displayed as string representation of its value.
Enable respective dumper tests.

Change-Id: I3e5406e14a68f02741b6144bb54528b72cc8192d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
2018-11-19 14:22:45 +00:00
Christian Kandeler
424923817c SSH: Implement X11 forwarding
Change-Id: Ia7b15e784cb098bc7c6c6be2748d772192187e97
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-11-19 09:12:31 +00:00
Eike Ziller
3d1d9aae2e Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/winrt/winrtdevicefactory.cpp

Change-Id: I33b8697e2ebf2bea051d7f1144449e0743ee16a5
2018-11-19 10:00:18 +01:00
Christian Stenger
3f42cd724e Tests: Allow dumper tests with Qt5.11 and Xcode 10
qmake brings up a warning regarding using Qt5.11 in
combination with Xcode 10. This seems to get handled
as error inside the tests - so, disable the warning.

Change-Id: I6d2918789580fd332048c85e0c4fc75a9635deb6
Reviewed-by: hjk <hjk@qt.io>
2018-11-14 13:50:24 +00:00
Eike Ziller
3666e3aaeb Merge remote-tracking branch 'origin/4.8'
Conflicts:
	tests/unit/unittest/unittest.pro

Change-Id: I4f0ab05f96ee60900a3a35fad4c7331238367593
2018-11-09 13:30:40 +01:00
Alexandru Croitor
de32a631c3 [Debugger] Fix bitfield values to show up correctly using lldbengine
The bitpos value returned by lldb is the bit offset relative to the
beginning of the type, there is no need to do an extra modulus
operation.

Adjust dumper test to add the previously failing case.

The failing case happens when the class containing the bitfield has
more members in front of the bitfield.

Change-Id: I93678f78e6799843558ec53342a0ed49cac74f48
Reviewed-by: hjk <hjk@qt.io>
2018-11-08 15:12:10 +00:00
Christian Stenger
ace6708b88 Debugger: Fix display of null references
Fixes: QTCREATORBUG-21210
Change-Id: I529f38aad9b93707e09ffdd28885e46c2cfd158c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-11-06 11:26:05 +00:00
Eike Ziller
1473bc5891 Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/debugger/debuggermainwindow.cpp
	src/plugins/qbsprojectmanager/qbsbuildstep.cpp
	src/plugins/winrt/winrtdevicefactory.cpp
	tests/unit/unittest/gtest-creator-printing.cpp
	tests/unit/unittest/gtest-creator-printing.h
	tests/unit/unittest/unittest.pro

Change-Id: Ie9b80b87a8a4fa81baf72a2daa7919b21371c15e
2018-11-06 09:20:00 +01:00
Christian Stenger
c355379a01 Tests: Fix disassembler auto test
Output has changed with 06a78b6264.

Change-Id: I32d401bf1111fe037b04873ff223cb916b4f886e
Reviewed-by: hjk <hjk@qt.io>
2018-11-05 10:07:59 +00:00
Christian Stenger
02760eafc8 LSP: Fix auto tests for Linux and macOS
Some URI/URL functionality (especially file protocol)
is based on the underlying file system and operating
system respectively.

Change-Id: I6a0956bbef292ff964aec581c2555c54d6d0dbe3
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-11-05 09:33:30 +00:00
Nikolai Kosjar
aac1bebace C++: Fix parsing enum specifier II
This amends the obviously wrong
de975aca4f, which did not honored nameless
enum specifiers.

This fixes e.g. "Find Usages" for declarations following "enum {};".

Change-Id: Id98c074156f576b9a63e6c25dab38721ca34e496
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-10-24 12:47:03 +00:00
Eike Ziller
fd7cba88ef Merge remote-tracking branch 'origin/4.8'
Conflicts:
	doc/src/editors/creator-only/creator-code-pasting.qdoc
	src/plugins/android/androidbuildapkwidget.cpp

Change-Id: Iea8b7135643d14ffe49d10b14bedb8fa5ac48063
2018-10-24 13:58:45 +02:00
Christian Stenger
03fece349b Tests: Fix plugin path for macOS
Change-Id: I085ddbbff09d52878b82f311381c13b94739e84c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2018-10-24 11:19:46 +00:00
Robert Loehning
4032f6383a Fix frequent typo
can not -> cannot

Change-Id: Ie872ada1bc9b4ed64bffb667c2e44dbb13b4ad11
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-10-23 09:30:20 +00:00
Christian Kandeler
1c6c64df20 SSH: Turn some manual tests into autotests
Change-Id: Id098709ff74dfc31a26ef42d559ce35d0120c0c3
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-10-23 08:28:55 +00:00
Orgad Shaneh
bdc2b4b59f Remove hard-coded disabling of debug logs
Instead, set the default level of all logs to QtWarningMsg.

The call to setFilterRules overrides the user preferences in qtlogging.ini.

Change-Id: Id5f6cd550d14ff7f45ae04c5d3110e0bafb0f072
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-10-13 16:36:58 +00:00
hjk
03d525a3bc Debugger: Simplify 'short int' to 'short' in type displays
Change-Id: I63946a983c4dd47e31f26e5f70a4c3c9e31c92ea
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-10-12 14:07:56 +00:00
hjk
53228b8b0d Debugger: Add a note on LLDB 6.0/Linux type mis-reading
Code "QStaticStringData<1> sd;" ends up as "QStaticStringData<4>"
when read by LLDB. GDB is fine.

Change-Id: Ieef8d4a4c267d6e0bb45c96f8dc9c05a79b66381
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-10-12 11:34:53 +00:00
Christian Stenger
6f14b6f399 Tests: Fix compile
Amends 4b42789bda.

Change-Id: Ibd4d024ad836accf4fdda880eb342c61a6c32219
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-26 10:05:18 +00:00
Christian Stenger
3e4dc83a95 Tests: Fix compile for boost > 1.64
Change-Id: Idf5d68e4528fd49023b21912a48a3cc109a1bbfa
Reviewed-by: hjk <hjk@qt.io>
2018-09-24 09:58:57 +00:00
Orgad Shaneh
41dee83bec TextEditor: Modernize
override, auto, nullptr, member initializers.

Change-Id: I04c6ebb683849568973bd7782fb5a3279267141e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-09-20 08:48:49 +00:00
Nikolai Kosjar
9dea4c0743 Tests: Fix generichighlighter/highlighterengine test
highlighter.cpp: In member function ‘void TextEditor::Highlighter::applyFormat(...)
highlighter.cpp:572:22: error: ‘fontSettings’ was not declared in this scope

Broken by 6ea686faa9.

Fix by adapting the mock/fake header.

Change-Id: I700a7ed4573c44f04ead5a2e6f2df198edaaebb4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-20 06:12:33 +00:00
hjk
83a8b8bf8f Debugger: Do not count not matching test as failed
Change-Id: I37a109915426d17b65ab0782e90f238a5da94a1c
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-09-18 06:13:43 +00:00
hjk
e507abf6a6 Debugger: Use new CheckSet infrastructure in AnonymousStruct test
Change-Id: Ib3e2ea2ab8a70ebfe94d80a0b0bf4b57fdb9027a
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-09-17 09:22:23 +00:00
Ulf Hermann
2b582ed455 QmlJS: Fix reformatter test
Apparently the reformatting truncates any sequence of multiple empty
lines into one. That seems to be by design. Therefore, remove one of the
two adjacent empty lines from commments.qml. Also, don't invert the
actual and expected values in the test code.

Change-Id: Id87c6fa0b2c7a03884d42d109b7d55f5040a927a
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-09-12 08:09:51 +00:00
Ulf Hermann
88074a4aa8 QmlJSEditor: Remove disabled qmllookup test
This test has been disabled since Qt4 times and is unfixable. In order
to test lookup of QML types, we need to write a new test.

Change-Id: I13909c277d0b9552c158b74529c350cb28fb3794
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-09-11 11:59:41 +00:00
Ulf Hermann
51adb199ab QmlJS: Fix and enable remaining pieces of importscheck test
Change-Id: Idaaf19cee1a0a971b9c3bf5ad3371a68ebd81f40
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-09-11 11:13:29 +00:00
Ulf Hermann
b6195f3de7 QmlJS: Fix case-fallthrough.qml test
The warning about strange interactions between QtQuick1 and QtQuick2
doesn't exist anymore, and I don't see why it would show up in that case
anyway. QmlJS::StaticAnalysis::Type used to have a member 324, and the
comment references that.

Change-Id: I4f0a256588919a146068b8771954bcabf0468dbc
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-09-11 10:31:31 +00:00
Eike Ziller
eccc24e5c9 Merge "Merge remote-tracking branch 'origin/4.7'" 2018-09-07 13:27:01 +00:00
Christian Stenger
0dc1b4e7b3 Dumper: Tests: Fix handling of skipped single tests
Amends b3b4465b2.

Change-Id: Ie268a97af944d17f20077363fa37c89ad998f53e
Reviewed-by: hjk <hjk@qt.io>
2018-09-07 12:48:17 +00:00
Eike Ziller
ac9f1f798c Merge remote-tracking branch 'origin/4.7'
Change-Id: Ifb51ca9893549c478e99c9fc3ea6c32d5d5a28a2
2018-09-07 14:39:42 +02:00
hjk
9a0030a8ba Debugger: Make inheritance dumper test pass again
Change-Id: I2dcb6f811c34beda52e4b4d01526222b4e2abfd7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-09-07 08:55:33 +00:00
hjk
4cb0b3fa73 Debugger: Make enum class dumper test pass again for gdb
Change-Id: Iaded82ab13f30e7222eb14f548ac72d1c6502b7d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-09-06 13:41:51 +00:00
hjk
b3b4465b2f Debugger: Make std::unordered_set test pass again
For some reason order is not important in that context...

Change-Id: I0961dd5be7775d190b9bef6b739dc9d690eb36a9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-09-06 13:11:18 +00:00
David Schulz
d61d29cf16 Introduce a basic client for the language server protocol
The language server protocol is used to transport language specific
information needed to efficiently edit source files. For example
completion, go to operations and symbol information. These information
are transferred via JSON-RPC. The complete definition can be found under
https://microsoft.github.io/language-server-protocol/specification.

This language server protocol support consists of two major parts, the
C++ representation of the language server protocol, and the client part
for the communication with an external language server.

The TypeScript definitions of the protocol interfaces are transferred to
C++ classes. Those classes have getter and setter for every interface
value. Optional values from the protocol are represented by
Utils::optional<ValueType>. The JSON objects that are used to transfer
the data between client and server are hidden by a specialized
JsonObject class derived from QJsonObject. Additionally this JsonObject
provides a validity check that is capable of creating a detailed error
message for malformed, or at least unexpected JSON representation of the
protocol.

The client is the interface between Qt Creator and language server
functionality, like completion, diagnostics, document and workspace
synchronization. The base client converts the data that is sent from/to
the server between the raw byte array and the corresponding C++ objects.
The transportat layer is defined in a specialized base client (this
initial change will only support stdio language server). The running
clients are handled inside the language client manager, which is also
used to connect global and exclusive Qt Creator functionality to the
clients.

Task-number: QTCREATORBUG-20284
Change-Id: I8e123e20c3f14ff7055c505319696d5096fe1704
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-09-03 08:00:46 +00:00
Ulf Hermann
67b09f5132 Tracing: Adapt aggregator test to new ctor signature
Change-Id: Ifb94c1e1f14b26aa2bb365cd08d36fa67642ecc7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-08-31 08:14:04 +00:00