[Lldb-commits] [lldb] 31a68bd - [lldb][Windows] Enable 61 tests (#231483)

via lldb-commits lldb-commits at lists.llvm.org
Fri Oct 16 04:17:45 PDT 2026


Author: Charles Zablit
Date: 2026-10-16T13:17:38+02:00
New Revision: 31a68bdb5babe8f885ff3cbd9a5d4f27dd0c39ae

URL: https://github.com/llvm/llvm-project/commit/31a68bdb5babe8f885ff3cbd9a5d4f27dd0c39ae
DIFF: https://github.com/llvm/llvm-project/commit/31a68bdb5babe8f885ff3cbd9a5d4f27dd0c39ae.diff

LOG: [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

Added: 
    lldb/test/API/tools/lldb-dap/databreakpoint/categories

Modified: 
    lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
    lldb/test/API/commands/expression/top-level/TestTopLevelExprs.py
    lldb/test/API/commands/log/basic/TestLogging.py
    lldb/test/API/commands/statistics/basic/TestStats.py
    lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
    lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py
    lldb/test/API/functionalities/duplicate-archive-members/TestDuplicateMembers.py
    lldb/test/API/functionalities/gdb_remote_client/TestPlatformAttach.py
    lldb/test/API/functionalities/gdb_remote_client/TestPlatformListProcesses.py
    lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
    lldb/test/API/functionalities/postmortem/elf-core/gcore/TestGCore.py
    lldb/test/API/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
    lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
    lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidumpYaml.py
    lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
    lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
    lldb/test/API/lang/cpp/incomplete-types/TestCppIncompleteTypes.py
    lldb/test/API/linux/builtin_trap/TestBuiltinTrap.py
    lldb/test/API/symbol_ondemand/breakpoint_source_regex/TestSourceTextRegexBreakpoint.py
    lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
    lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_disableSTDIO.py
    lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_array.py
    lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_object.py
    lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
    lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
    lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
    lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
    lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
    lldb/test/API/tools/lldb-dap/send-event/TestDAP_sendEvent.py
    lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
    lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
    lldb/test/API/tools/lldb-dap/step/TestDAP_step.py
    lldb/test/Shell/Commands/command-disassemble-aarch64-color.s
    lldb/test/Shell/Commands/command-image-dump-ast.test
    lldb/test/Shell/Commands/command-source-embedded.test
    lldb/test/Shell/Commands/command-wrong-subcommand-error-msg.test
    lldb/test/Shell/Driver/TestUseColor.test
    lldb/test/Shell/ExecControl/StopHook/stop-hook-unified.test
    lldb/test/Shell/ExecControl/StopHook/stop-hook.test
    lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
    lldb/test/Shell/Expr/TestIRMemoryMap.test
    lldb/test/Shell/Expr/TestObjCIDCast.test
    lldb/test/Shell/Quit/TestQuitExitCode0.test
    lldb/test/Shell/Quit/TestQuitExitCode30.test
    lldb/test/Shell/Quit/TestQuitExitCodeHex0.test
    lldb/test/Shell/Quit/TestQuitExitCodeHexA.test
    lldb/test/Shell/Quit/TestQuitExitCodeImplicit0.test
    lldb/test/Shell/Quit/TestQuitExitCodeNonInt.test
    lldb/test/Shell/Quit/TestQuitExitCodeTooManyArgs.test
    lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArgumentsObjC.test
    lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
    lldb/test/Shell/SymbolFile/DWARF/anon_class_w_and_wo_export_symbols.ll
    lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
    lldb/test/Shell/SymbolFile/DWARF/vla.cpp
    lldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-line-strp.s
    lldb/test/Shell/SymbolFile/checksum-mismatch.test
    lldb/test/Shell/Watchpoint/ExpressionLanguage.test

Removed: 
    lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
    lldb/test/Shell/Expr/TestIRMemoryMapWindows.test


################################################################################
diff  --git a/lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py b/lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
index 4607308ef09118..623c5b87f14c74 100644
--- a/lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
+++ b/lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
@@ -7,8 +7,6 @@
 class ExprFromNonZeroFrame(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
-    # Requires DWARF debug information.
-    @skipIfWindows
     def test(self):
         """
         Tests that we can use SBFrame::EvaluateExpression on a frame

diff  --git a/lldb/test/API/commands/expression/top-level/TestTopLevelExprs.py b/lldb/test/API/commands/expression/top-level/TestTopLevelExprs.py
index bbaa6b8137d1e5..0ca54107c7a8f5 100644
--- a/lldb/test/API/commands/expression/top-level/TestTopLevelExprs.py
+++ b/lldb/test/API/commands/expression/top-level/TestTopLevelExprs.py
@@ -48,7 +48,6 @@ def run_dummy(self):
 
     @add_test_categories(["pyapi"])
     @skipIf(debug_info="gmodules")  # not relevant
-    @skipIf(oslist=["windows"])  # Error in record layout on Windows
     def test_top_level_expressions(self):
         self.build_and_run()
 

diff  --git a/lldb/test/API/commands/log/basic/TestLogging.py b/lldb/test/API/commands/log/basic/TestLogging.py
index 8051cafe495196..ffed5c871e66c2 100644
--- a/lldb/test/API/commands/log/basic/TestLogging.py
+++ b/lldb/test/API/commands/log/basic/TestLogging.py
@@ -83,7 +83,6 @@ def test_log_append(self):
         self.assertEqual(contents.find("bacon"), 0)
 
     # Enable all log options and check that nothing crashes.
-    @skipIfWindows
     def test_all_log_options(self):
         if os.path.exists(self.log_file):
             os.remove(self.log_file)

diff  --git a/lldb/test/API/commands/statistics/basic/TestStats.py b/lldb/test/API/commands/statistics/basic/TestStats.py
index 56bf61ccb4a53c..c22c2011f3c71e 100644
--- a/lldb/test/API/commands/statistics/basic/TestStats.py
+++ b/lldb/test/API/commands/statistics/basic/TestStats.py
@@ -1271,7 +1271,6 @@ def test_order_of_options_do_not_matter(self):
                 f"The order of options '{options[0]}' and '{options[1]}' should not matter",
             )
 
-    @skipIfWindows
     def test_summary_statistics_providers(self):
         """
         Test summary timing statistics is included in statistics dump when
@@ -1311,7 +1310,6 @@ def test_summary_statistics_providers(self):
         self.assertIn("'totalTime':", summary_provider_str)
         self.assertIn("'type': 'python'", summary_provider_str)
 
-    @skipIfWindows
     def test_summary_statistics_providers_vec(self):
         """
         Test summary timing statistics is included in statistics dump when
@@ -1337,7 +1335,6 @@ def test_summary_statistics_providers_vec(self):
         if "c++" in summary_provider_str:
             self.assertIn("std::vector", summary_provider_str)
 
-    @skipIfWindows
     def test_multiple_targets(self):
         """
         Test statistics dump only reports the stats from current target and

diff  --git a/lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py b/lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
index 05db47c8ff1484..c3cf614c9f3789 100644
--- a/lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
+++ b/lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
@@ -13,10 +13,6 @@
 class TestStopOnCoreLoad(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
-    # This was originally marked as expected failure on Windows, but it has
-    # started timing out instead, so the expectedFailure attribute no longer
-    # correctly tracks it: llvm.org/pr37371
-    @skipIfWindows
     def test_hook_runs_no_threads(self):
         # Create core form YAML.
         core_path = self.getBuildArtifact("test.core")

diff  --git a/lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py b/lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py
index 56750dac78f3d2..3b4fb4a066b713 100644
--- a/lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py
+++ b/lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py
@@ -65,9 +65,9 @@ def testBreakpointByLine(self):
             in_condition |= b_loc.GetColumn() < 30
         self.assertTrue(in_condition)
 
-    @skipIfWindows
     ## Skip gcc version less 7.1 since it doesn't support -gcolumn-info
     @skipIf(compiler="gcc", compiler_version=["<", "7.1"])
+    @expectedFailureAll(debug_info=["pdb"], bugnumber="llvm.org/pr149498")
     def testBreakpointByLineAndColumnNearestCode(self):
         self.build()
 

diff  --git a/lldb/test/API/functionalities/duplicate-archive-members/TestDuplicateMembers.py b/lldb/test/API/functionalities/duplicate-archive-members/TestDuplicateMembers.py
index 44597e12995460..1a0e60e53b1a5b 100644
--- a/lldb/test/API/functionalities/duplicate-archive-members/TestDuplicateMembers.py
+++ b/lldb/test/API/functionalities/duplicate-archive-members/TestDuplicateMembers.py
@@ -8,7 +8,6 @@
 
 
 class BSDArchivesTestCase(TestBase):
-    @skipIfWindows  # ar does not exist on Windows
     def test(self):
         """Break inside a() and b() defined within libfoo.a."""
         self.build()

diff  --git a/lldb/test/API/functionalities/gdb_remote_client/TestPlatformAttach.py b/lldb/test/API/functionalities/gdb_remote_client/TestPlatformAttach.py
index ea7baecc2e3bea..f7b1af24f9f014 100644
--- a/lldb/test/API/functionalities/gdb_remote_client/TestPlatformAttach.py
+++ b/lldb/test/API/functionalities/gdb_remote_client/TestPlatformAttach.py
@@ -7,7 +7,6 @@
 
 class TestPlatformAttach(GDBRemoteTestBase):
     @skipIfRemote
-    @skipIfWindows
     def test_attach(self):
         """Test attaching by name"""
 

diff  --git a/lldb/test/API/functionalities/gdb_remote_client/TestPlatformListProcesses.py b/lldb/test/API/functionalities/gdb_remote_client/TestPlatformListProcesses.py
index a33d3ca9056ac3..ebb0bebcb0ac32 100644
--- a/lldb/test/API/functionalities/gdb_remote_client/TestPlatformListProcesses.py
+++ b/lldb/test/API/functionalities/gdb_remote_client/TestPlatformListProcesses.py
@@ -7,7 +7,6 @@
 
 class TestPlatformListProcesses(GDBRemoteTestBase):
     @skipIfRemote
-    @skipIfWindows
     def test_get_all_processes(self):
         """Test listing processes"""
 

diff  --git a/lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py b/lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
index af14f5e7d6a74f..93c579d8b78692 100644
--- a/lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
+++ b/lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
@@ -8,8 +8,6 @@
 class InlineSourceFilesTestCase(TestBase):
     @skipIf(compiler="gcc")
     @skipIf(compiler="clang", compiler_version=["<", "18.0"])
-    # Fails on Windows for unknown reasons.
-    @skipIfWindows
     def test(self):
         """Test DWARF inline source files."""
         self.build()

diff  --git a/lldb/test/API/functionalities/postmortem/elf-core/gcore/TestGCore.py b/lldb/test/API/functionalities/postmortem/elf-core/gcore/TestGCore.py
index 497b8e8a19a86e..58c04a5640b701 100644
--- a/lldb/test/API/functionalities/postmortem/elf-core/gcore/TestGCore.py
+++ b/lldb/test/API/functionalities/postmortem/elf-core/gcore/TestGCore.py
@@ -15,13 +15,11 @@ class GCoreTestCase(TestBase):
     _i386_pid = 5586
     _x86_64_pid = 5669
 
-    @skipIf(oslist=["windows"])
     @skipIf(triple="^mips")
     def test_i386(self):
         """Test that lldb can read the process information from an i386 linux core file."""
         self.do_test("linux-i386", self._i386_pid)
 
-    @skipIf(oslist=["windows"])
     @skipIf(triple="^mips")
     def test_x86_64(self):
         """Test that lldb can read the process information from an x86_64 linux core file."""

diff  --git a/lldb/test/API/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py b/lldb/test/API/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
index 6d9aef286a7964..fe92edd9411f73 100644
--- a/lldb/test/API/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
+++ b/lldb/test/API/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
@@ -19,19 +19,16 @@ class LinuxCoreThreadsTestCase(TestBase):
     _i386_tid = 5195
     _x86_64_tid = 5250
 
-    @skipIf(oslist=["windows"])
     @skipIf(triple="^mips")
     def test_i386(self):
         """Test that lldb can read the process information from an i386 linux core file."""
         self.do_test("linux-i386", self._i386_pid, self._i386_tid)
 
-    @skipIf(oslist=["windows"])
     @skipIf(triple="^mips")
     def test_x86_64(self):
         """Test that lldb can read the process information from an x86_64 linux core file."""
         self.do_test("linux-x86_64", self._x86_64_pid, self._x86_64_tid)
 
-    @skipIf(oslist=["windows"])
     @skipIf(triple="^mips")
     def test_fs_gs_base(self):
         """Tests fs_base/gs_base registers can be read from linux coredump."""

diff  --git a/lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py b/lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
index bb72164cdaf8fc..c8812b84a7c281 100644
--- a/lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
+++ b/lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
@@ -12,10 +12,6 @@
 class MachCoreTestCase(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
-    # This was originally marked as expected failure on Windows, but it has
-    # started timing out instead, so the expectedFailure attribute no longer
-    # correctly tracks it: llvm.org/pr37371
-    @skipIfWindows
     def test_selected_thread(self):
         """Test that the right thread is selected after a core is loaded."""
         # Create core form YAML.

diff  --git a/lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidumpYaml.py b/lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidumpYaml.py
index c0572e34d77462..a385451b5304db 100644
--- a/lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidumpYaml.py
+++ b/lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidumpYaml.py
@@ -28,7 +28,6 @@ def process_from_yaml(self, yaml_file):
         self.process = self.target.LoadCore(minidump_path)
         return self.process
 
-    @skipIfWindows
     def validate_regions_saved_correctly(
         self, core_process, expected_region, expected_invalid_region=None
     ):
@@ -59,7 +58,6 @@ def validate_regions_saved_correctly(
         )
         self.assertTrue(error.Fail(), error.GetCString())
 
-    @skipIfWindows
     def test_saving_sub_memory_range(self):
         """
         Validate we can save a Minidump for a subsection of a memory range.
@@ -92,7 +90,6 @@ def test_saving_sub_memory_range(self):
             core_process, expected_address_range, expected_invalid_range
         )
 
-    @skipIfWindows
     def test_saving_super_memory_range(self):
         """
         Validate we can save a Minidump for a subsection of a memory range.
@@ -125,7 +122,6 @@ def test_saving_super_memory_range(self):
             core_process, expected_address_range, expected_invalid_range
         )
 
-    @skipIfWindows
     def test_region_that_goes_out_of_bounds(self):
         """
         Validate we can save a Minidump for a custom region
@@ -156,7 +152,6 @@ def test_region_that_goes_out_of_bounds(self):
             core_process, expected_address_range, expected_invalid_range
         )
 
-    @skipIfWindows
     def test_region_that_starts_out_of_bounds(self):
         """
         Validate we can save a Minidump for a custom region
@@ -187,7 +182,6 @@ def test_region_that_starts_out_of_bounds(self):
             core_process, expected_address_range, expected_invalid_range
         )
 
-    @skipIfWindows
     def test_region_spans_multiple_regions(self):
         """
         Validate we can save a Minidump for a custom region
@@ -215,7 +209,6 @@ def test_region_spans_multiple_regions(self):
         expected_address_range = AddressRange(begin, end)
         self.validate_regions_saved_correctly(core_process, expected_address_range)
 
-    @skipIfWindows
     def test_region_spans_multiple_regions_with_one_subrange(self):
         """
         Validate we can save a Minidump for a custom region

diff  --git a/lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py b/lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
index 3cc9ad197f4f42..57ad813af684f6 100644
--- a/lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
+++ b/lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
@@ -19,8 +19,6 @@ def setUp(self):
         self.break_2 = line_number("main.cpp", "// Set second breakpoint here")
         self.break_3 = line_number("main.cpp", "// Set third breakpoint here")
 
-    # Occasionally hangs on Windows, may be same as other issues.
-    @skipIfWindows
     @skipIfiOSSimulator
     @expectedFailureNetBSD
     def test_create_after_attach(self):

diff  --git a/lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py b/lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
index 86ddabd30d2401..7b8d227f39eb0a 100644
--- a/lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
+++ b/lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
@@ -12,7 +12,6 @@
 class TestThreadPlanCommands(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
-    @skipIfWindows
     def test_thread_plan_actions(self):
         self.build()
         self.main_source_file = lldb.SBFileSpec("main.c")

diff  --git a/lldb/test/API/lang/cpp/incomplete-types/TestCppIncompleteTypes.py b/lldb/test/API/lang/cpp/incomplete-types/TestCppIncompleteTypes.py
index abb8dd69e0c5a0..4f1917b72ea0af 100644
--- a/lldb/test/API/lang/cpp/incomplete-types/TestCppIncompleteTypes.py
+++ b/lldb/test/API/lang/cpp/incomplete-types/TestCppIncompleteTypes.py
@@ -19,8 +19,6 @@ def test_limit_debug_info(self):
         self.assertSuccess(value_a.GetError(), "'expr a' is successful")
 
     @skipIf(compiler="gcc")
-    # Clang on Windows asserts in external record layout in this case.
-    @skipIfWindows
     def test_partial_limit_debug_info(self):
         self.build()
         frame = self.get_test_frame("nolimit")

diff  --git a/lldb/test/API/linux/builtin_trap/TestBuiltinTrap.py b/lldb/test/API/linux/builtin_trap/TestBuiltinTrap.py
index 5fdf7b488259fd..5e3c0d54596e65 100644
--- a/lldb/test/API/linux/builtin_trap/TestBuiltinTrap.py
+++ b/lldb/test/API/linux/builtin_trap/TestBuiltinTrap.py
@@ -20,7 +20,6 @@ def setUp(self):
     # gcc generates incorrect linetable
     @expectedFailureAll(archs="arm$", compiler="gcc", triple=".*-android")
     @expectedFailureAll(archs=["aarch64"], oslist=no_match(["freebsd", "linux"]))
-    @skipIfWindows
     def test_with_run_command(self):
         """Test that LLDB handles a function with __builtin_trap correctly."""
         self.build()

diff  --git a/lldb/test/API/symbol_ondemand/breakpoint_source_regex/TestSourceTextRegexBreakpoint.py b/lldb/test/API/symbol_ondemand/breakpoint_source_regex/TestSourceTextRegexBreakpoint.py
index 6904d8e2d57ffe..79e7fda7d541a9 100644
--- a/lldb/test/API/symbol_ondemand/breakpoint_source_regex/TestSourceTextRegexBreakpoint.py
+++ b/lldb/test/API/symbol_ondemand/breakpoint_source_regex/TestSourceTextRegexBreakpoint.py
@@ -11,7 +11,6 @@
 
 
 class TestSourceTextRegexBreakpoint(TestBase):
-    @skipIfWindows
     def test_with_run_command(self):
         self.build()
 

diff  --git a/lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py b/lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
index b0205d51dc83cb..2be422ae3e0923 100644
--- a/lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
+++ b/lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
@@ -15,7 +15,6 @@
 class TestDAP_setDataBreakpoints(DAPTestCaseBase):
     ACCESS_TYPES = ["read", "write", "readWrite"]
 
-    @skipIfWindows
     def test_duplicate_start_addresses(self):
         """Test setDataBreakpoints with multiple watchpoints starting at the same addresses."""
         program = self.getBuildArtifact("a.out")
@@ -67,7 +66,6 @@ def test_duplicate_start_addresses(self):
         session.set_data_breakpoints([])
         session.continue_to_exit()
 
-    @skipIfWindows
     def test_expression(self):
         """Tests setting data breakpoints on expression."""
         source = "main.cpp"
@@ -112,7 +110,6 @@ def test_expression(self):
         session.set_data_breakpoints([])
         session.continue_to_exit()
 
-    @skipIfWindows
     def test_functionality(self):
         """Tests setting data breakpoints on variable."""
         source = "main.cpp"
@@ -188,7 +185,6 @@ def test_functionality(self):
     # Test works but test program faults after continuing.
     # https://github.com/llvm/llvm-project/issues/217961
     @skipIf(oslist=["linux"], archs=["arm$"])
-    @skipIfWindows
     def test_console_watchpoint_preserved(self):
         """Test setDataBreakpoints must not delete watchpoints created via the console."""
         source = "main.cpp"
@@ -235,7 +231,6 @@ def test_console_watchpoint_preserved(self):
         session.evaluate("`watchpoint delete 1", context="repl")
         session.continue_to_exit()
 
-    @skipIfWindows
     def test_hit_count_preserved(self):
         """Test setDataBreakpoints preserves hit counts of existing watchpoints."""
         source = "main.cpp"
@@ -298,7 +293,6 @@ def test_hit_count_preserved(self):
         session.set_data_breakpoints([])
         session.continue_to_exit()
 
-    @skipIfWindows
     def test_type_change_recreates(self):
         """Test setDataBreakpoints recreates watchpoint in case of changing type."""
         source = "main.cpp"
@@ -341,7 +335,6 @@ def test_type_change_recreates(self):
         session.set_data_breakpoints([])
         session.continue_to_exit()
 
-    @skipIfWindows
     def test_bytes(self):
         """Tests setting data breakpoints on memory range."""
         source = self.getSourcePath("main.cpp")

diff  --git a/lldb/test/API/tools/lldb-dap/databreakpoint/categories b/lldb/test/API/tools/lldb-dap/databreakpoint/categories
new file mode 100644
index 00000000000000..50c1613cda72f2
--- /dev/null
+++ b/lldb/test/API/tools/lldb-dap/databreakpoint/categories
@@ -0,0 +1 @@
+watchpoint

diff  --git a/lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py b/lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
index 8e9ed811eb0456..eb08563c8d1b4c 100644
--- a/lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
+++ b/lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
@@ -9,7 +9,6 @@
 
 
 class TestDAP_disassemble(DAPTestCaseBase):
-    @skipIfWindows
     def test_disassemble(self):
         """Disassembly at the current PC returns the expected source line, and
         clearing breakpoints doesn't change the instructions."""
@@ -49,7 +48,6 @@ def test_disassemble(self):
 
         session.continue_to_exit()
 
-    @skipIfWindows
     def test_disassemble_backwards(self):
         """
         Tests the 'disassemble' request with a backwards disassembly range.

diff  --git a/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_disableSTDIO.py b/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_disableSTDIO.py
index 61a85e284edc70..e6ecfa1495931a 100644
--- a/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_disableSTDIO.py
+++ b/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_disableSTDIO.py
@@ -12,7 +12,6 @@ class TestDAP_launch_disableSTDIO(DAPTestCaseBase):
     Tests the default launch of a simple program with STDIO disabled.
     """
 
-    @skipIfWindows
     def test(self):
         program = self.getBuildArtifact("a.out")
         session = self.build_and_create_session()

diff  --git a/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_array.py b/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_array.py
index 6f286cf223e976..258e807f8110d0 100644
--- a/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_array.py
+++ b/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_array.py
@@ -12,7 +12,6 @@ class TestDAP_launch_environment_with_array(DAPTestCaseBase):
     Tests launch of a simple program with environment variables
     """
 
-    @skipIfWindows
     def test(self):
         program = self.getBuildArtifact("a.out")
         expected_env = [

diff  --git a/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_object.py b/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_object.py
index 4a2acf6232cf59..466b344c41f0d2 100644
--- a/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_object.py
+++ b/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_object.py
@@ -12,7 +12,6 @@ class TestDAP_launch_environment_with_object(DAPTestCaseBase):
     Tests launch of a simple program with environment variables
     """
 
-    @skipIfWindows
     def test(self):
         program = self.getBuildArtifact("a.out")
         expected_env = {

diff  --git a/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py b/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
index 9b9124d7e030e3..e2aba71647d923 100644
--- a/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
+++ b/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
@@ -16,7 +16,6 @@ class TestDAP_launch_stdio_redirection_and_console(DAPTestCaseBase):
 
     @skipIfAsan
     @skipIfWasm  # runInTerminal has the client run the program, and a Wasm module is not executable
-    @skipIfWindows  # https://github.com/llvm/llvm-project/issues/198763
     @skipIf(oslist=["linux"], archs=no_match(["x86_64"]))
     @skipIfBuildType(["debug"])
     def test(self):

diff  --git a/lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py b/lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
index d2422129afdc48..0a6066aab067ef 100644
--- a/lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
+++ b/lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
@@ -23,7 +23,6 @@ def stop_at_breakpoint(self, session: DAPTestSession):
         thread_ctx = session.thread_context_from(stop_event)
         return thread_ctx.top_frame()
 
-    @skipIfWindows
     def test_memory_refs_variables(self):
         """Tests memory references on local variables."""
         session = self.build_and_create_session()
@@ -35,7 +34,6 @@ def test_memory_refs_variables(self):
         # Non-pointers should also have memory references.
         self.assertIsNotNone(locals["not_a_ptr"].memoryReference)
 
-    @skipIfWindows
     def test_memory_refs_evaluate(self):
         """Tests memory references on `evaluate` responses."""
         session = self.build_and_create_session()
@@ -44,7 +42,6 @@ def test_memory_refs_evaluate(self):
         eval_body = session.evaluate("rawptr", frameId=top_frame.id)
         self.assertIsNotNone(eval_body.memoryReference)
 
-    @skipIfWindows
     def test_memory_refs_set_variable(self):
         """Tests memory references on `setVariable` responses."""
         session = self.build_and_create_session()
@@ -56,7 +53,6 @@ def test_memory_refs_set_variable(self):
         response = self.expect_success(response)
         self.assertIsNotNone(response.body.memoryReference)
 
-    @skipIfWindows
     @requireExpressionEvaluation
     def test_readMemory(self):
         """Tests the `readMemory` request."""

diff  --git a/lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py b/lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
index ef26730785c069..9335a4b7f2b8ff 100644
--- a/lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
+++ b/lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
@@ -9,7 +9,6 @@
 
 
 class TestDAP_optimized(DAPTestCaseBase):
-    @skipIfWindows
     def test_stack_frame_name(self):
         """Test optimized frame has special name suffix."""
         program = self.getBuildArtifact("a.out")
@@ -31,7 +30,6 @@ def test_stack_frame_name(self):
         self.assertTrue(parent_frame.name.endswith(" [opt]"))
 
     @skipIfAsan  # On ASAN builds this test intermittently fails https://github.com/llvm/llvm-project/issues/111061
-    @skipIfWindows
     @skipIfWasm  # an optimized out variable keeps a reused local, so reading it succeeds
     def test_optimized_variable(self):
         """Test optimized variable value contains error."""

diff  --git a/lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py b/lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
index f41d8cef2b7f86..f386653471ab30 100755
--- a/lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
+++ b/lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
@@ -61,7 +61,6 @@ def verify_progress_events(
             if expected_not_in_message is not None:
                 self.assertNotIn(expected_not_in_message, message)
 
-    @skipIfWindows
     def test_progress(self):
         program = self.getBuildArtifact("a.out")
         session = self.build_and_create_session()

diff  --git a/lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py b/lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
index 23fa433c0f8f07..b45226095b45b0 100644
--- a/lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
+++ b/lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
@@ -9,7 +9,6 @@
 
 
 class TestDAP_restart(DAPTestCaseBase):
-    @skipIfWindows
     def test_basic_functionality(self):
         """
         Tests the basic restarting functionality: set two breakpoints in
@@ -47,7 +46,6 @@ def test_basic_functionality(self):
             i_val.value_as_int, 0, "i != 0 after hitting breakpoint A on restart"
         )
 
-    @skipIfWindows
     def test_stopOnEntry(self):
         """
         Check that the stopOnEntry setting is still honored after a restart.
@@ -67,7 +65,6 @@ def test_stopOnEntry(self):
         session.restart()
         session.verify_stopped_on_entry(after=bp_stop_event)
 
-    @skipIfWindows
     def test_arguments(self):
         """
         Tests that lldb-dap will use updated launch arguments included

diff  --git a/lldb/test/API/tools/lldb-dap/send-event/TestDAP_sendEvent.py b/lldb/test/API/tools/lldb-dap/send-event/TestDAP_sendEvent.py
index d7370f6017c238..33ff6686e77870 100644
--- a/lldb/test/API/tools/lldb-dap/send-event/TestDAP_sendEvent.py
+++ b/lldb/test/API/tools/lldb-dap/send-event/TestDAP_sendEvent.py
@@ -23,7 +23,6 @@ class Body:
 
 
 class TestDAP_sendEvent(DAPTestCaseBase):
-    @skipIfWindows
     def test_send_event(self):
         """
         Test sending a custom event.
@@ -56,7 +55,6 @@ def test_send_event(self):
         self.assertEqual(custom_event_with_body.event, "my-custom-event")
         self.assertEqual(custom_event_with_body.body, custom_event_body)
 
-    @skipIfWindows
     def test_send_internal_event(self):
         """
         Test sending an internal event produces an error.

diff  --git a/lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py b/lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
index ac7ed956fa8281..ba134ee41b7d4e 100644
--- a/lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
+++ b/lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
@@ -229,7 +229,6 @@ def test_stackTrace(self):
             0, len(stack_frames), "verify zero frames with startFrame out of bounds"
         )
 
-    @skipIfWindows
     def test_function_name_with_args(self):
         """Test that a stack frame's name includes its argument values."""
         program = self.getBuildArtifact("a.out")
@@ -248,7 +247,6 @@ def test_function_name_with_args(self):
         frame = thread_ctx.top_frame().frame
         self.assertEqual(frame.name, "recurse(x=1)")
 
-    @skipIfWindows
     def test_stack_frame_format(self):
         """
         Test the StackFrameFormat options.
@@ -279,7 +277,6 @@ def test_stack_frame_format(self):
         frame = thread_ctx.top_frame(format=format)
         self.assertEqual(frame.name, "a.out recurse")
 
-    @skipIfWindows
     def test_stack_frame_module_id(self) -> None:
         """Test that each stack frame's moduleId matches the loaded module's id."""
         program = self.getBuildArtifact("a.out")

diff  --git a/lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py b/lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
index f232873c44393a..6802f841e62c0e 100644
--- a/lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
+++ b/lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
@@ -8,7 +8,6 @@
 
 
 class TestDAP_stackTraceMissingFunctionName(DAPTestCaseBase):
-    @skipIfWindows
     @skipIfWasm  # a Wasm indirect call traps without transferring control to the callee
     def test_missingFunctionName(self):
         """

diff  --git a/lldb/test/API/tools/lldb-dap/step/TestDAP_step.py b/lldb/test/API/tools/lldb-dap/step/TestDAP_step.py
index 0744ad3898c8ec..333dc2cd2f8c3d 100644
--- a/lldb/test/API/tools/lldb-dap/step/TestDAP_step.py
+++ b/lldb/test/API/tools/lldb-dap/step/TestDAP_step.py
@@ -9,7 +9,6 @@
 
 
 class TestDAP_step(DAPTestCaseBase):
-    @skipIfWindows
     def test_step(self):
         """
         Tests the stepping in/out/over in threads.

diff  --git a/lldb/test/Shell/Commands/command-disassemble-aarch64-color.s b/lldb/test/Shell/Commands/command-disassemble-aarch64-color.s
index bb97680a329702..4e24795ea78ea7 100644
--- a/lldb/test/Shell/Commands/command-disassemble-aarch64-color.s
+++ b/lldb/test/Shell/Commands/command-disassemble-aarch64-color.s
@@ -1,4 +1,3 @@
-# UNSUPPORTED: system-windows
 # REQUIRES: aarch64
 
 # This checks that lldb's disassembler colors AArch64 disassembly.

diff  --git a/lldb/test/Shell/Commands/command-image-dump-ast.test b/lldb/test/Shell/Commands/command-image-dump-ast.test
index 86fe1836a2c6cb..2f43e74e93773a 100644
--- a/lldb/test/Shell/Commands/command-image-dump-ast.test
+++ b/lldb/test/Shell/Commands/command-image-dump-ast.test
@@ -1,9 +1,5 @@
 # Test `image dump ast` command.
 
-# DWARF is required to properly create the AST, and on Windows that is discarded
-# and we only have PDB which doesn't work for this test.
-# UNSUPPORTED: system-windows
-
 # RUN: split-file %s %t
 # RUN: %clangxx_host -g -gdwarf %t/main.cpp -o %t.out
 # RUN: %lldb -x -b -s %t/commands.input %t.out -o exit 2>&1 \

diff  --git a/lldb/test/Shell/Commands/command-source-embedded.test b/lldb/test/Shell/Commands/command-source-embedded.test
index e792ecafaf2899..65d9544ede2a4a 100644
--- a/lldb/test/Shell/Commands/command-source-embedded.test
+++ b/lldb/test/Shell/Commands/command-source-embedded.test
@@ -3,8 +3,6 @@
 # When a program with embedded source being debugged reaches a breakpoint, its
 # source code should be listed. This test prevents a regression identified in #191801.
 
-# UNSUPPORTED: system-windows
-
 # RUN: split-file %s %t
 # RUN: %clang_host -g -gdwarf-5 -gembed-source %t/main.c -o %t.out
 # RUN: %lldb -x -b -s %t/commands %t.out -o exit 2>&1 \

diff  --git a/lldb/test/Shell/Commands/command-wrong-subcommand-error-msg.test b/lldb/test/Shell/Commands/command-wrong-subcommand-error-msg.test
index 968a4d6fb96826..138c8ba08a0b98 100644
--- a/lldb/test/Shell/Commands/command-wrong-subcommand-error-msg.test
+++ b/lldb/test/Shell/Commands/command-wrong-subcommand-error-msg.test
@@ -1,5 +1,3 @@
-# UNSUPPORTED: system-windows
-#
 # RUN: %clang_host -g -O0 %S/Inputs/main.c -o %t.out
 # RUN: not %lldb -b -o 'breakpoint foo' %t.out -o exit 2>&1 | FileCheck %s --check-prefix BP-MSG
 # RUN: not %lldb -b -o 'watchpoint set foo' %t.out -o exit 2>&1 | FileCheck %s --check-prefix WP-MSG

diff  --git a/lldb/test/Shell/Driver/TestUseColor.test b/lldb/test/Shell/Driver/TestUseColor.test
index dcb9f8c1517306..c52d4dda8237e3 100644
--- a/lldb/test/Shell/Driver/TestUseColor.test
+++ b/lldb/test/Shell/Driver/TestUseColor.test
@@ -1,5 +1,3 @@
-UNSUPPORTED: system-windows
-
 RUN: not %lldb -b -o 'settings set use-color true' -o 'settings show use-color' -o 'bogus' > %t 2>&1
 RUN: cat -v %t | FileCheck %s --check-prefix COLOR
 COLOR: use-color (boolean) = true

diff  --git a/lldb/test/Shell/ExecControl/StopHook/stop-hook-unified.test b/lldb/test/Shell/ExecControl/StopHook/stop-hook-unified.test
index f456be671cf0e0..a28156719272c7 100644
--- a/lldb/test/Shell/ExecControl/StopHook/stop-hook-unified.test
+++ b/lldb/test/Shell/ExecControl/StopHook/stop-hook-unified.test
@@ -4,7 +4,6 @@
 # RUN: %clang_host %p/Inputs/stop-hook.c -g -o %t
 # RUN: %lldb -b -s %p/Inputs/stop-hook-unified-1.lldbinit -s %s -f %t \
 # RUN:      | FileCheck %s
-# UNSUPPORTED: system-windows
 
 break set -f stop-hook.c -p "// Set breakpoint here to test target stop-hook"
 break set -f stop-hook.c -p "// Another breakpoint which is outside of the stop-hook range"

diff  --git a/lldb/test/Shell/ExecControl/StopHook/stop-hook.test b/lldb/test/Shell/ExecControl/StopHook/stop-hook.test
index 98a77cac99bac6..9d15c5799259dc 100644
--- a/lldb/test/Shell/ExecControl/StopHook/stop-hook.test
+++ b/lldb/test/Shell/ExecControl/StopHook/stop-hook.test
@@ -6,11 +6,6 @@
 # RUN: %lldb -b -s %p/Inputs/stop-hook-2.lldbinit -s %s -f %t | FileCheck %s
 # Test setting stop-hook with multi-line expression
 # RUN: %lldb -b -s %p/Inputs/stop-hook-3.lldbinit -s %s -f %t | FileCheck %s
-# This test is not "unsupported" on Windows, but it fails because "expr ptr"
-# does not evaluate correctly. However, the error message contains the expected
-# string, so the test "passes" despite the fact that the commands failed
-# llvm.org/pr40119
-# UNSUPPORTED: system-windows
 
 break set -f stop-hook.c -p "// Set breakpoint here to test target stop-hook"
 break set -f stop-hook.c -p "// Another breakpoint which is outside of the stop-hook range"

diff  --git a/lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp b/lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
index b41a81f6f31a9f..5cddeb567f7197 100644
--- a/lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
+++ b/lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
@@ -1,8 +1,6 @@
 // Tests evaluating expressions with side effects on convenience variable.
 // Applied side effect should be visible to the debugger.
 
-// UNSUPPORTED: system-windows
-
 // RUN: %build %s -o %t
 // RUN: %lldb %t \
 // RUN:   -o "settings set target.process.track-memory-cache-changes false" \

diff  --git a/lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp b/lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
deleted file mode 100644
index 8ac4b961f1ca9a..00000000000000
--- a/lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// Same as TestExprWithSideEffectOnConvenienceVar.cpp but without $ escaping
-
-// REQUIRES: target-windows
-
-// RUN: %build %s -o %t
-// RUN: %lldb %t \
-// RUN:   -o "settings set target.process.track-memory-cache-changes false" \
-// RUN:   -o "run" \
-// RUN:   -o "expr int $y = 11" \
-// RUN:   -o "expr $y" \
-// RUN:   -o "expr $y = 100" \
-// RUN:   -o "expr $y" \
-// RUN:   -o "continue" \
-// RUN:   -o "expr $y" \
-// RUN:   -o "expr X $mine = {100, 200}" \
-// RUN:   -o "expr $mine.a = 300" \
-// RUN:   -o "expr $mine" \
-// RUN:   -o "exit" | FileCheck %s -dump-input=fail
-
-struct X {
-  int a;
-  int b;
-};
-
-int main() {
-  X x;
-
-  __builtin_debugtrap();
-  __builtin_debugtrap();
-  return 0;
-}
-
-// CHECK-LABEL: expr int $y = 11
-// CHECK-LABEL: expr $y
-// CHECK: (int) $y = 11
-
-// CHECK-LABEL: expr $y = 100
-// CHECK: (int) $0 = 100
-
-// CHECK-LABEL: expr $y
-// CHECK: (int) $y = 100
-
-// CHECK-LABEL: continue
-// CHECK-LABEL: expr $y
-// CHECK: (int) $y = 100
-
-// CHECK-LABEL: expr X $mine = {100, 200}
-// CHECK-LABEL: expr $mine.a = 300
-// CHECK: (int) $1 = 300
-// CHECK-LABEL: expr $mine
-// CHECK: (X) $mine = (a = 300, b = 200)

diff  --git a/lldb/test/Shell/Expr/TestIRMemoryMap.test b/lldb/test/Shell/Expr/TestIRMemoryMap.test
index 9cba0624c92688..6ef10ac55d0a9e 100644
--- a/lldb/test/Shell/Expr/TestIRMemoryMap.test
+++ b/lldb/test/Shell/Expr/TestIRMemoryMap.test
@@ -1,4 +1,4 @@
-# UNSUPPORTED: system-windows, remote-linux
+# UNSUPPORTED: remote-linux
 
 # RUN: %clangxx_host %p/Inputs/call-function.cpp -g -o %t
 

diff  --git a/lldb/test/Shell/Expr/TestIRMemoryMapWindows.test b/lldb/test/Shell/Expr/TestIRMemoryMapWindows.test
deleted file mode 100644
index 66f0bce3047303..00000000000000
--- a/lldb/test/Shell/Expr/TestIRMemoryMapWindows.test
+++ /dev/null
@@ -1,13 +0,0 @@
-# REQUIRES: target-windows
-
-# RUN: %clang_cl_host /Zi /GS- %p/Inputs/call-function.cpp /c /o %t.obj
-# RUN: %msvc_link /debug:full %t.obj /out:%t
-
-# RUN: lldb-test ir-memory-map %t %S/Inputs/ir-memory-map-basic
-# RUN: lldb-test ir-memory-map -host-only %t %S/Inputs/ir-memory-map-basic
-
-# RUN: lldb-test ir-memory-map %t %S/Inputs/ir-memory-map-overlap1
-# RUN: lldb-test ir-memory-map -host-only %t %S/Inputs/ir-memory-map-overlap1
-
-# RUN: lldb-test ir-memory-map %t %S/Inputs/ir-memory-map-mix-malloc-free
-# RUN: lldb-test ir-memory-map -host-only %t %S/Inputs/ir-memory-map-mix-malloc-free

diff  --git a/lldb/test/Shell/Expr/TestObjCIDCast.test b/lldb/test/Shell/Expr/TestObjCIDCast.test
index 19ca404643c1d9..73595ca7a1deec 100644
--- a/lldb/test/Shell/Expr/TestObjCIDCast.test
+++ b/lldb/test/Shell/Expr/TestObjCIDCast.test
@@ -1,4 +1,4 @@
-// UNSUPPORTED: system-linux, system-windows
+// UNSUPPORTED: system-linux
 //
 // RUN: %clangxx_host %p/Inputs/objc-cast.cpp -g -o %t
 // RUN: %lldb %t \

diff  --git a/lldb/test/Shell/Quit/TestQuitExitCode0.test b/lldb/test/Shell/Quit/TestQuitExitCode0.test
index af39b4293f302c..ed877c993fe5d1 100644
--- a/lldb/test/Shell/Quit/TestQuitExitCode0.test
+++ b/lldb/test/Shell/Quit/TestQuitExitCode0.test
@@ -1,3 +1,2 @@
-# UNSUPPORTED: system-windows
 # RUN: %lldb -b -s %s
 q 0

diff  --git a/lldb/test/Shell/Quit/TestQuitExitCode30.test b/lldb/test/Shell/Quit/TestQuitExitCode30.test
index e5ff634e713678..a0f2d99bfce732 100644
--- a/lldb/test/Shell/Quit/TestQuitExitCode30.test
+++ b/lldb/test/Shell/Quit/TestQuitExitCode30.test
@@ -1,3 +1,2 @@
-# UNSUPPORTED: system-windows
 # RUN: %python %S/expect_exit_code.py 30  %lldb -b -s %s
 q 30

diff  --git a/lldb/test/Shell/Quit/TestQuitExitCodeHex0.test b/lldb/test/Shell/Quit/TestQuitExitCodeHex0.test
index f85a046fa1353d..7c909eaecb47d9 100644
--- a/lldb/test/Shell/Quit/TestQuitExitCodeHex0.test
+++ b/lldb/test/Shell/Quit/TestQuitExitCodeHex0.test
@@ -1,3 +1,2 @@
-# UNSUPPORTED: system-windows
 # RUN: %lldb -b -s %s
 q 0x0

diff  --git a/lldb/test/Shell/Quit/TestQuitExitCodeHexA.test b/lldb/test/Shell/Quit/TestQuitExitCodeHexA.test
index ca0e2d5acc3bc9..57e77153cb0ebc 100644
--- a/lldb/test/Shell/Quit/TestQuitExitCodeHexA.test
+++ b/lldb/test/Shell/Quit/TestQuitExitCodeHexA.test
@@ -1,3 +1,2 @@
-# UNSUPPORTED: system-windows
 # RUN: %python %S/expect_exit_code.py 10 %lldb -b -s %s
 q 0xA

diff  --git a/lldb/test/Shell/Quit/TestQuitExitCodeImplicit0.test b/lldb/test/Shell/Quit/TestQuitExitCodeImplicit0.test
index 5494231b23be31..169fba1bab18c5 100644
--- a/lldb/test/Shell/Quit/TestQuitExitCodeImplicit0.test
+++ b/lldb/test/Shell/Quit/TestQuitExitCodeImplicit0.test
@@ -1,3 +1,2 @@
-# UNSUPPORTED: system-windows
 # RUN: %lldb -b -s %s
 q

diff  --git a/lldb/test/Shell/Quit/TestQuitExitCodeNonInt.test b/lldb/test/Shell/Quit/TestQuitExitCodeNonInt.test
index 1747ddd669b609..eb83deb1796414 100644
--- a/lldb/test/Shell/Quit/TestQuitExitCodeNonInt.test
+++ b/lldb/test/Shell/Quit/TestQuitExitCodeNonInt.test
@@ -1,4 +1,3 @@
-# UNSUPPORTED: system-windows
 # RUN: not %lldb -b -s %s 2>&1 | FileCheck %s
 q str
 // CHECK: Couldn't parse 'str'

diff  --git a/lldb/test/Shell/Quit/TestQuitExitCodeTooManyArgs.test b/lldb/test/Shell/Quit/TestQuitExitCodeTooManyArgs.test
index 315adf02af4d10..edd5dbb9256587 100644
--- a/lldb/test/Shell/Quit/TestQuitExitCodeTooManyArgs.test
+++ b/lldb/test/Shell/Quit/TestQuitExitCodeTooManyArgs.test
@@ -1,4 +1,3 @@
-# UNSUPPORTED: system-windows
 # RUN: not %lldb -b -s %s 2>&1 | FileCheck %s
 q 1 2
 // CHECK: Too many arguments for 'quit'

diff  --git a/lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArgumentsObjC.test b/lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArgumentsObjC.test
index c9da1d4bd7772b..62c519430d4247 100644
--- a/lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArgumentsObjC.test
+++ b/lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArgumentsObjC.test
@@ -1,5 +1,3 @@
-# UNSUPPORTED: system-windows
-
 # Check that we have an appropriate fallback for ${function.formatted-arguments} in languages that
 # don't implement this frame format variable (in this case Objective-C).
 #

diff  --git a/lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test b/lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
index 5883c722f33368..3044b7b55bbb06 100644
--- a/lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
+++ b/lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
@@ -1,5 +1,3 @@
-# UNSUPPORTED: system-windows
-
 # Test the ${function.suffix} frame-format variable.
 
 # RUN: split-file %s %t

diff  --git a/lldb/test/Shell/SymbolFile/DWARF/anon_class_w_and_wo_export_symbols.ll b/lldb/test/Shell/SymbolFile/DWARF/anon_class_w_and_wo_export_symbols.ll
index c61012b6053526..a1623fa66dc963 100644
--- a/lldb/test/Shell/SymbolFile/DWARF/anon_class_w_and_wo_export_symbols.ll
+++ b/lldb/test/Shell/SymbolFile/DWARF/anon_class_w_and_wo_export_symbols.ll
@@ -1,5 +1,3 @@
-; UNSUPPORTED: system-windows
-;
 ; This test verifies that we do the right thing with DIFlagExportSymbols which is the new
 ; behaviour and without the DIFlagExportSymbols which is the old behavior for the given
 ; definitions below.

diff  --git a/lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test b/lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
index e21393a5dd057a..e1874a08ea2655 100644
--- a/lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
+++ b/lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
@@ -1,7 +1,5 @@
 # Test definition DIE searching is delayed until complete type is required.
 
-# UNSUPPORTED: system-windows
-
 # RUN: split-file %s %t
 # RUN: %clangxx_host %t/main.cpp %t/t1_def.cpp -gdwarf -gno-simple-template-names -o %t.out
 # RUN: %lldb -b %t.out -s %t/lldb.cmd | FileCheck %s

diff  --git a/lldb/test/Shell/SymbolFile/DWARF/vla.cpp b/lldb/test/Shell/SymbolFile/DWARF/vla.cpp
index 47a4aa1836899a..344b100efd9f96 100644
--- a/lldb/test/Shell/SymbolFile/DWARF/vla.cpp
+++ b/lldb/test/Shell/SymbolFile/DWARF/vla.cpp
@@ -1,6 +1,3 @@
-// When linking with link.exe, -gdwarf still produces PDB instead.
-// UNSUPPORTED: system-windows
-
 // RUN: %clangxx_host -gdwarf -std=c++11 -o %t %s
 // RUN: %lldb %t \
 // RUN:   -o run \

diff  --git a/lldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-line-strp.s b/lldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-line-strp.s
index 67f52454604f65..f22689ae766e45 100755
--- a/lldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-line-strp.s
+++ b/lldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-line-strp.s
@@ -1,6 +1,6 @@
 # Test handling of DWARF5 DW_FORM_line_strp from .debug_info as used by GCC.
 
-# UNSUPPORTED: system-darwin, system-windows
+# UNSUPPORTED: system-darwin
 
 # RUN: llvm-mc -filetype=obj -o %t -triple x86_64-pc-linux %s
 # RUN: %lldb %t -o "expression main" \

diff  --git a/lldb/test/Shell/SymbolFile/checksum-mismatch.test b/lldb/test/Shell/SymbolFile/checksum-mismatch.test
index 8dc55f80e5c2ef..5db97647c9aa02 100644
--- a/lldb/test/Shell/SymbolFile/checksum-mismatch.test
+++ b/lldb/test/Shell/SymbolFile/checksum-mismatch.test
@@ -1,5 +1,3 @@
-UNSUPPORTED: system-windows
-
 RUN: mkdir -p %t
 RUN: cp %S/Inputs/main.c %t/main.c
 RUN: %clang_host %t/main.c -std=c99 -gdwarf-5 -o %t/main.out

diff  --git a/lldb/test/Shell/Watchpoint/ExpressionLanguage.test b/lldb/test/Shell/Watchpoint/ExpressionLanguage.test
index 3966923778620a..ba2ac6178e5969 100644
--- a/lldb/test/Shell/Watchpoint/ExpressionLanguage.test
+++ b/lldb/test/Shell/Watchpoint/ExpressionLanguage.test
@@ -1,4 +1,7 @@
-# UNSUPPORTED: system-windows
+# On Windows on Arm, the in-process plugin has no hardware watchpoints and
+# lldb-server has one. This test sets two.
+# UNSUPPORTED: system-windows && target-aarch64
+
 # RUN: %clangxx_host %p/Inputs/languages.cpp -g -o %t.out
 # RUN: %lldb -b -o 'settings set interpreter.stop-command-source-on-error false' -s %s %t.out 2>&1 | FileCheck %s
 


        


More information about the lldb-commits mailing list