Fix GDB/LLDB unittests.

Authored by qi437103 on Jul 26 2017, 8:45 PM.


Group Reviewers
R32:2162175425e8: Fix GDB/LLDB unittests.
  • Fix string handling in LLDB formatters. It was broken after LLDB 4.0 released.
  • Fix failing GDB unittests due to changes in debuggees.
  • Mark a few LLDB tests as expected fail due to LLDB bugs.
Test Plan

No failing tests any more, at least on my box. I'm not familiar with the current CI setup yet.
If these tests still fail on CI I'll see what I can do to improve the reliability.

Diff Detail

R32 KDevelop
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
qi437103 created this revision.Jul 26 2017, 8:45 PM
Restricted Application added a subscriber: kdevelop-devel. · View Herald TranscriptJul 26 2017, 8:45 PM
kfunk accepted this revision.Jul 26 2017, 11:22 PM

Great work, very much appreciated!

This revision is now accepted and ready to land.Jul 26 2017, 11:22 PM
This revision was automatically updated to reflect the committed changes.

Hmm, it seems kdevelop tries to popup an error or something for lldb tests. Maybe due to unsupported lldb version?

For gdb things is more interesting... For some reason the debuggee stopped right after starting, thus the timeout:

QWARN  : KDevMI::GDB::GdbTest::testStdOut() current state 5 waiting for 6
QWARN  : KDevMI::GDB::GdbTest::testBreakpoint() current state 5 waiting for 3

(state 5 is StoppedState)

gdb printer tests are also failed for the same reason:

QDEBUG : QtPrintersTest::testQString() "run"  =  "Starting program: /home/jenkins/workspace/KDevelop kdevelop kf5-qt5 XenialQt5.7/build/debuggers/common/tests/debuggees/debuggee_qstring \nDuring startup program exited normally."

I'll look into this. BTW, do you know how I can get a shell into the CI environment? Or otherwise anyway I can easily test code changes on CI like making it build another branch?