[lldb][Windows] Enable 61 tests (#231483)
This patch enables 58 tests on Windows, which pass with both the
in-process plugin and lldb-server. They have been enabled in swiftlang,
where they have been stable.
It also removes `TestIRMemoryMapWindows.test` and
`TestExprWithSideEffectOnConvenienceVarWindows.cpp`. They ran the same
commands as `TestIRMemoryMap.test` and
`TestExprWithSideEffectOnConvenienceVar.cpp`, which now run on Windows.
Where the tests were fixed, for reference if one of them becomes flaky:
- `vla.cpp`, `delayed-definition-die-searching.test`,
`command-image-dump-ast.test`, `TestFrameFormatFunctionSuffix.test`,
`TestFrameFormatFunctionFormattedArgumentsObjC.test`,
`command-source-embedded.test`, `checksum-mismatch.test`: link.exe
dropped the DWARF. Clang links with lld-link for `-gdwarf` since
#198600.
- `TestStats.py` `test_summary_statistics_providers(_vec)`: MSVC STL
`std::string` and `std::vector` formatters, #143177 and #147538.
- `TestExprWithSideEffectOnConvenienceVar.cpp`: lit internal shell `$`
handling, #156125 and #156742.
- `TestUseColor.test`: `cat -e` replaced by `cat -v`, #104878.
- `TestIRMemoryMap.test`: debuggee memory allocation on Windows,
https://reviews.llvm.org/D52618.
- `TestDAP_launch_disableSTDIO.py`,
`TestDAP_launch_environment_with_array.py`,
`TestDAP_launch_environment_with_object.py` (#137599): ConPTY support
and `get_stdout()`, #168729 and #181813.
- `TestDAP_launch_stdio_redirection_and_console.py` (#198763): #208233.
- `TestDuplicateMembers.py`: the tests build archives with `llvm-ar`
since #109961.
- `stop-hook.test` and `stop-hook-unified.test`: `expr ptr` now
evaluates, so the `(void *) $0 = 0x...` checks match real output instead
of an error message.
- The other skips have no recorded root cause. Most were added with the
test or predate the lldb-server backend becoming the default (#209258).
`TestDAP_setDataBreakpoints.py` and `Watchpoint/ExpressionLanguage.test`
stay disabled on Windows on Arm. The in-process plugin, which the
`lldb-aarch64-windows` bot uses, implements hardware watchpoints only
for x86 and x86_64.
Tested on Windows x64 (Release with assertions), with both backends:
- In-process plugin, which the Windows bots use (they build without
libxml2): 16 rounds of `lit -j 32`, a full API and Shell suite run, 96
runs of each API test in a 32-worker loop, and 20 rounds of the Shell
tests running alongside it.
- lldb-server: 16 rounds of `lit -j 32`, two full API and Shell suite
runs, and the same 32-worker loop and Shell rounds.
Fixes #39466