[all-commits] [llvm/llvm-project] 85ee3f: Fix command escape bug in lldb-dap (#72902)

jeffreytan81 via All-commits all-commits at lists.llvm.org
Mon Nov 20 15:57:28 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 85ee3fc7ec15f432430ee0c73fe81f3d6382d9df
      https://github.com/llvm/llvm-project/commit/85ee3fc7ec15f432430ee0c73fe81f3d6382d9df
  Author: jeffreytan81 <jeffreytan at meta.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  Fix command escape bug in lldb-dap (#72902)

https://github.com/llvm/llvm-project/pull/69238 caused breakage in
VSCode debug console usage -- the user's input is always treated as
commands instead of expressions (the same behavior as if empty command
escape prefix is specified).

The bug is in one overload of `GetString()` which did not respect the
default value of "\`". But more important, I am puzzled to find out why
the regression is not caught by lldb test (testdap_evaluate). Turns out
https://github.com/llvm/llvm-project/pull/69238 specifies
commandEscapePrefix default value in test framework to be "\`" while
VSCode will default not specify any commandEscapePrefix at all. Changing
it to None will fail `testdap_evaluate`. We should align the default
behavior between DAP client and testcase.

This patches fixes the bug in `GetString()` and changed the default
value of commandEscapePrefix in testcases to be None (be consistent with
IDE).

Co-authored-by: jeffreytan81 <jeffreytan at fb.com>




More information about the All-commits mailing list