Commit Graph

542 Commits

Author SHA1 Message Date
Tobias Hunger
954569387c Update License according to agreement with Free Qt Foundation
* Update license information in tests directory

Change-Id: I311441dd37d053ca3175e44b284258e232ee93e0
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 16:01:06 +00:00
hjk
7de7eb6bca Debugger: Work on WatchModel performance
Don't instantiate repeating boilerplate item data in some
cases (such as large arrays).

This makes it necessary to access parent WatchItems in
a lot more cases than before and needs another separation of
WatchItem/WatchModel code to keep the dumper autotests
in a functional state.

For a plain std::vector<int> with 1 mio items this reduces
 extraction time from more than 2 minutes to about 3 seconds.

Change-Id: I175c5f6ee90434a6e85342d8bb71bd10a04dd271
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-01-06 09:59:11 +00:00
hjk
31eb7c203d Debugger: Add dumpers for some of libc++'s std::{set,map,multimap}
At least for simple key/values (int etc)

Change-Id: Ib60017347a9f28f1994f7db78c0607f3fdbfac2e
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-05 15:20:51 +00:00
hjk
6a71c63186 Debugger: Make display of QObject names optional
... and switch it off by default. The feature has indeterministic
performance impact and lost quite a bit of its utility since GDB
learned to extract dynamic object types most of the times.

Change-Id: I22cccb03ba67f9ff6ad757bbc06eb372d84bbffe
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-12-17 14:58:23 +00:00
hjk
7c08f5a9b0 Debugger: Further improve base class dumping with LLDB
... in the presence of empty base classes. This now actually makes
the Inheritance dumper test pass.

Change-Id: I92ada5da46accb6e7eaff58ce5dc329484ef0909
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-12-07 12:38:50 +00:00
hjk
0f9e2baa1b Debugger: Adjust QFileInfo dumper for Qt 5.7 on Linux 32 bit
Change-Id: Idb14d81aa3546af0e7a21922fbb6d551ecbc1b06
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-11-11 13:57:37 +00:00
hjk
aa221121b6 Debugger: Pass down expanded inames in LLDB tests
... as well as the 'autoderef' flag. A lot of dumper tests were
failing even though the dumpers themselves were ok.

Change-Id: I198784d95eb0004e81bfab995121e048b1722c66
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-11-11 13:16:17 +00:00
hjk
d6bb579a41 Debugger: Fix QAtomic* and QShared* dumpers with Qt 5.6/C++11
With C++11 we use std::atomic in the ref counter, giving yet
another possibility of structure member names. Instead of
trying to keep up with that, access the binary data directly.

Change-Id: I572f727eb9dab37ac1ca07594d55bea723050817
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-11-09 13:49:25 +00:00
Christian Stenger
9ce0c9cd1e Tests: Provide basic boost version check
Change-Id: I38e38fdb129c172cb0056b6f96146a7e29d7288a
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-11-09 12:50:52 +00:00
Christian Stenger
e7df1233f0 Tests: Provide way to specify boost library include path
Change-Id: I162343f188c5f9c8849d93faf120a424ec41e6f8
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-11-09 12:50:45 +00:00
hjk
a4a9529403 Debugger: Make boost::container::list autotest pass again
... by adjusting the expectations on the exact type display
and trying two possible versions of structure member names.

Change-Id: I817aeb787b905cb22c6f68856043a29db3e79e59
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-11-09 10:08:20 +00:00
hjk
e5e3243dd1 Debugger: Fix std::string display for GCC 5.x
Task-number: QTCREATORBUG-15110
Change-Id: Ic1bcdf1b73e0013068e56a5d8804da42cdb2c237
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-11-06 14:05:07 +00:00
hjk
f58ab8d723 Debugger: Fix std::set<...>::iterator dumper for GCC 5.x and C++11
Change-Id: Icaca7da1f5ae6f958ae0fdaf217bde611d049916
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-06 10:08:48 +00:00
hjk
d5101b5d91 Debugger: Standardize on all-lowercase for protocol options
CamelCase might be more Qt-ish, but the backends tend to use
lowercase only.

Change-Id: I04b9b7305b54226f27b70151115050c4816f911f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-11-02 10:18:50 +00:00
hjk
525c33f999 Debugger: Infrastructure for reworked native mixed debugging
- Remove old experimental native mixed approach.
- Move some common stack parsing to Stackhandler.
- Mark gdbbridge.py debug output explicitly to remove it
  from actual reponse handling

New native mixed needs QtDeclarative changes and
QTC_DEBUGGER_NATIVE_MIXED=1 for now.

Change-Id: I09eed1da51cea878636d36756015b7bfaed34203
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-10-09 05:19:45 +00:00
Orgad Shaneh
bf6e9f0550 Fix tests build with GCC 5
Change-Id: Ia2e0a1c69f73446b45915559294e3348e725ce56
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-08-18 07:46:22 +00:00
hjk
169a224ec7 Debugger: Use "unused" variables in autotests
Change-Id: I89872cd7792aed5e23331af4ae683dffa3c1291d
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-17 13:51:22 +00:00
hjk
76b5095687 Debugger: Also display subentries for pretty printed char arrays
While the formatted value is usually all that's wanted,
having access to the individual chars is handy at times.

Change-Id: I53b0d0ccfe4289b9b54a1caced4e0bd5ac66d9fc
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-13 14:18:22 +00:00
hjk
472d584d5d Debugger: Adjust dumper test to changed dumper output
Change-Id: Ib183c960ff7e737636860e007a16972d5f1f232f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-08-11 10:31:06 +00:00
Christian Kandeler
d489f00f64 Fix qbs build.
Commit d765cd73a2 pulled in more stuff into the diassembler.

Change-Id: I83e0907abaef84a9cebb3c63d957182707af012d
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-07-24 08:04:44 +00:00
Orgad Shaneh
68409fb982 Debugger: Fix tests compilation
Broken by d765cd73a2

QWidget is included in runconfiguration.h, so QT = widgets is required.

Change-Id: I254ae5dca8f537b5d8e3f8977be50cadcaa053b4
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-07-23 09:36:50 +00:00
hjk
5b583ad67e Debugger: Add dumper for QUuid
Change-Id: I171ac0130009b9610c766deaa2d85aa095e33d6f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-07-09 06:54:01 +00:00
hjk
094b49281c Debugger: Adjust one more test to new base class sorting
Change-Id: I0e073f2474bd9f182b2e5c86ecb121aa350fb92d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-08 09:25:25 +00:00
hjk
e2b0641f28 Debugger: Adjust tests after change to member sort order
Change-Id: Iff3b9781ad9842b325d346a77514aa7a935d4570
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-07 14:12:28 +00:00
hjk
68a707458b Debugger: Remove workaround for older LLDB
... that breaks QHash display for keys with value 0.

Task-number: QTCREATORBUG-14451
Change-Id: I8578d9f1d14c367beaccabc5373bd75860ee454b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-07 13:44:54 +00:00
hjk
fdde69a5a5 Debugger: Add dumper for various QJson* classes
Needed to debug the QmlDebugger.

Change-Id: Ia0b50dac2146fcc81990b78eb8de30c8e763bba2
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-02 06:58:04 +00:00
Ray Donnelly
5e61c2dfc7 MinGW-w64 Utils:: compilation fix
The include for utils/environment.h was omitted
unless Q_OS_MSVC, but the code that uses it is
also compiled for MinGW-w64, so change that compile
guard to Q_OS_WIN instead.

Change-Id: I2fa5a09f1864c0ed38d09e3fbb2c6f661fbc8b26
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-06-01 11:38:37 +00:00
hjk
7d13400041 Debugger: Remove StdStream dumper test
This was testing a bool value, not a stream, and doing that wrong
on Windows.

Change-Id: I86b1aaea99e77b2aa3c37bb5c9c3e0ba8a90cb05
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-17 08:25:14 +00:00
hjk
ba947fbb9e Debugger: Fix handling of ? in dumper test
Normally, we use '?' as an optional Qt namespace qualification.
This clashes with the use of ? in a regexp type expression.
Re-order checks to avoid the clash.

Change-Id: I4a8aee0174f4f3d21bec624919856623808becb1
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-16 07:42:34 +00:00
hjk
d3c06c9e4a Debugger: Make QUrl dumper test pass for LLDB on Linux
... by relaxing the namespace checks.

Change-Id: I2c2978fe4e95bdc87df24fd6ecbcba4bf1913df3
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-15 13:49:59 +00:00
hjk
7007bf4057 Debugger: Use a more generic approach to LLDB's namespace problem
This is a generalization of 134234be67. '?QFoo' is now meant to
match both 'QFoo' or 'Ns::QFoo' in a namespaced Qt. '@QFoo'
continues to match 'Ns::QFoo' only.

Change-Id: I4285cd9f75a2e4cd94ec5dbb107214f75a60c810
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-15 13:39:48 +00:00
hjk
aee5668b62 Debugger: Handle char const* and const char* the same in types
Helps recognition of default std::maps and makes the StdMapQt
dumper test pass with LLDB on Linux

Change-Id: I2d2a91d65e895c7fc2c99e24cc77d21ca6353b22
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-15 12:59:12 +00:00
Christian Stenger
62941c7b87 Tests: Fix parsing of gcc version on SuSE
Change-Id: Ieb8b5a1ea998abbd2d3baf13829f81f9d4cc43e5
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-04-15 11:58:35 +00:00
hjk
6965fc30b1 Debugger: Disable parts of QDate* dumper for GDB on 32 bit
Older versions of GDB (~GDB 7.4 on 32 bit) will cause segmentation
faults in inferior calls due to misaligned %ebx values in an SSE
call in qstring.cpp:findChar.

Change-Id: I44492106080f12e645f9d57828438ec70fd66ca6
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-15 11:07:30 +00:00
Christian Stenger
ff81a1a754 Test: Dumper: Limit single check to Qt5.x
Change-Id: Ia769c16761a171e3e472144cd3ace3280ae5a6aa
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-04-15 08:58:44 +00:00
hjk
32aff7820f Debugger: Make QThread dumper test compile and pass on Mac
Change-Id: I094d3add58681cbc94a76cdc0d45040c705169e5
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-15 08:11:50 +00:00
hjk
8c7d3c3a90 Debugger: Weaken QVariant(QUrl) test
... to make it pass with LLDB. The exact display of the private
is not *that* interesting anyways.

Change-Id: I2d0a8bdd5daff4b03c77b00c887837c7568ea508
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-15 07:46:20 +00:00
hjk
134234be67 Debugger: Workaround LLDB type handling failure on Linux
LLDB 3.7 on Linux doesn't get the namespace right in QMapNode:
sc t = lldb.target.FindFirstType('Myns::QMapNode<int, CustomStruct>')
sc t.GetName() -> QMapNode<int, CustomStruct> (no Myns::)

Change-Id: Ied306f70035e0669bc822700a92371b7de35a603
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-15 07:46:03 +00:00
hjk
e452ebde97 Debugger: Fix std::unordered_{map,set} dumper for LLDB on Linux
Change-Id: Id96d02cddcccdd7765e5a098bb98f894122781a1
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-15 05:53:12 +00:00
hjk
c9cce0b541 Debugger: Simplify LLDB test loop handling
We know that we expect a frame with valid debug info.

Change-Id: I51079ca4db87df05c93464fd46e5add1f756cba7
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-04-14 09:41:10 +00:00
hjk
d73a5c9f88 Debugger: Fix GCC/LLDB anon struct test by adjusting expectations
Change-Id: I31775513c2e4a690b2620225682c89ee8c9156d2
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-14 08:13:50 +00:00
hjk
53bd2e2ee9 Debugger: Improve normalization of types containing pointers
Always add a space before a *. This fixes some test cases with LLDB
that failed to recognize the default argument in "std::vector<int *,
std::allocator<int*> >" due to the different spacing.

Change-Id: Ib4a57a808551d0b4cd527021f7d19772378e405f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-14 05:55:22 +00:00
Christian Stenger
08ad4bef77 Tests: Robustify compile of debugger auto tests
Change-Id: I9deb837b693c433e3c865dda2b212129e193d63b
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-04-13 13:26:10 +00:00
hjk
300304de19 Debugger: Parse openSUSE's gdb version strings
Change-Id: I49cfb29a3d6ec2245ed05956bb2cd46c6a2338cc
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-13 12:41:43 +00:00
hjk
bfac365ebb Debugger: Fix parameter passing to LLDB dumper tests
Change-Id: Iae342ffe68385de877c7a1e9a7e61e7d4889f731
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-04-02 14:56:32 +00:00
hjk
3417ffad83 Debugger: Make QHash dumper pass again
Failures were due to version specific reordering. This is still
checked in cases h1, h7, h8. Simplify maintanance by removing the
check in the other cases.

Change-Id: I481672e693f6370c75bc4739d6cca937b9f027ea
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-02 14:07:30 +00:00
hjk
e6f73164c3 Debugger: Adjust QVariant2 dumper test
Take new QPolygon{,F} dumpers into account, also make QUrlPrivate
field accessible,

Change-Id: I2b5c122895c3ee389ba939eaeffcd613fa206009
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-02 14:07:24 +00:00
David Schulz
28c06b5b58 Test: Dumper: Adjust QVector test to cdb output.
Change-Id: I2da7f4b21251e1417efaf20813ce260ea286b1f2
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-02 13:24:37 +00:00
David Schulz
8548343ef4 Test: Dumper: Fix Compilation and adjust cdb output of "BigInt" test.
Change-Id: I8ecfd77cd72e155e291acdc96fcbfd49572c91e3
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-04-02 13:07:30 +00:00
David Schulz
1aa8c5258f Test: Dumper: Adjust test to cdb output.
Change-Id: Iae81984eedeb4f7190268eb5d19fb652e76f8f34
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-31 13:25:36 +00:00