From: Adrian Freihofer <[email protected]> The autobuilder intermittently failed the clang devtool ide-sdk selftest when LLDB attempted to connect before lldb-server had started listening. The first two commits prevent that race: generated LLDB MULTI tasks wait for the target TCP listener before returning, and the selftest runs that startup task synchronously before starting LLDB.
The remaining commits make the debugger lifecycle and its coverage more robust. Centralize TCP polling, timeout cleanup, server naming, readiness-marker generation, and shutdown handling in DebuggerCrossConfig. GDB ONCE and ATTACH tasks emit a dedicated readiness marker and retain their SSH connection for the debug session. Remove the unused LLDB one-shot start path and reject unsupported LLDB modes explicitly. Strengthen the devtool ide-sdk selftests to exercise these generated task contracts rather than rely on timing or process-list probes. Use QEMU target commands, wait for GDB's readiness marker, and normalize task-shell dollar escaping before invoking SSH directly. Keep the C++ debugger test code observable so breakpoint checks remain meaningful across toolchains and rebuilds. Changes from v1 to v2: - Rather than making the connection-failure path more robust, v2 prevents the failure by waiting for lldb-server to become ready before connecting. - Extend the same lifecycle synchronization and coverage to related debugger startup and shutdown paths. Adrian Freihofer (8): devtool: ide-sdk: wait for lldb-server readiness oe-selftest: devtool ide-sdk: wait for lldb-server readiness devtool: ide-sdk: synchronize debugger server readiness oe-selftest: devtool ide-sdk: wait for gdbserver readiness devtool: ide-sdk: wait for debugger server shutdown oe-selftest: devtool ide-sdk: verify debugger shutdown oe-selftest: devtool: use QEMU target commands cpp-example: prevent compiler from eliminating debugger test code .../cpp/files/cpp-example-lib.hpp | 6 +- .../recipes-test/cpp/files/cpp-example.cpp | 10 +- meta/lib/oeqa/selftest/cases/devtool.py | 222 +++++++++--------- scripts/lib/devtool/ide_plugins/__init__.py | 74 ++++-- scripts/lib/devtool/ide_plugins/ide_code.py | 7 +- scripts/lib/devtool/ide_plugins/ide_none.py | 17 +- 6 files changed, 193 insertions(+), 143 deletions(-) -- 2.55.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#243067): https://lists.openembedded.org/g/openembedded-core/message/243067 Mute This Topic: https://lists.openembedded.org/mt/120667690/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
