[libcxx-commits] [libcxx] [libcxx][lit] Fix dsl.sh.py test failure on Windows (PR #195230)

via libcxx-commits libcxx-commits at lists.llvm.org
Fri May 1 00:14:49 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libcxx

Author: Haowei (zeroomega)

<details>
<summary>Changes</summary>

We are seeing linux runtimes test failures on Windows host after PR #<!-- -->194752 was merged. The runtimes unit test is producing Unix style line break symbol on Windows, causing dsl.sh.py to fail. This patch mitigate this issue by converting Windows style line breaks to Unix style ones to mitigate this issue.

---
Full diff: https://github.com/llvm/llvm-project/pull/195230.diff


1 Files Affected:

- (modified) libcxx/test/selftest/dsl/dsl.sh.py (+9-5) 


``````````diff
diff --git a/libcxx/test/selftest/dsl/dsl.sh.py b/libcxx/test/selftest/dsl/dsl.sh.py
index 95b97fde2dadf..39c5fa6fc6ebe 100644
--- a/libcxx/test/selftest/dsl/dsl.sh.py
+++ b/libcxx/test/selftest/dsl/dsl.sh.py
@@ -142,6 +142,9 @@ def test_link_error_fails(self):
                     int main(int, char**) { this_isnt_defined_anywhere(); return 0; }"""
         self.assertFalse(dsl.sourceBuilds(self.config, source))
 
+def line_breaks_conversion(origin):
+    if os.linesep == "\r\n":
+        return origin.replace("\r\n", "\n")
 
 class TestProgramOutput(SetupConfigs):
     """
@@ -161,7 +164,8 @@ def test_valid_program_returns_output_newline_handling(self):
         int main(int, char**) { std::printf("FOOBAR\\n"); return 0; }
         """
         self.assertEqual(
-            dsl.programOutput(self.config, source), "FOOBAR%s" % os.linesep
+            line_breaks_conversion(dsl.programOutput(self.config, source)),
+            "FOOBAR\n",
         )
 
     def test_valid_program_returns_no_output(self):
@@ -225,15 +229,15 @@ def test_caching_is_not_too_aggressive(self):
             "%{compile_flags}",
             compileFlags + " -DMACRO=1",
         )
-        output1 = dsl.programOutput(self.config, source)
-        self.assertEqual(output1, "MACRO=1%s" % os.linesep)
+        output1 =line_breaks_conversion(dsl.programOutput(self.config, source))
+        self.assertEqual(output1, "MACRO=1\n")
 
         self.config.substitutions[compileFlagsIndex] = (
             "%{compile_flags}",
             compileFlags + " -DMACRO=2",
         )
-        output2 = dsl.programOutput(self.config, source)
-        self.assertEqual(output2, "MACRO=2%s" % os.linesep)
+        output2 = line_breaks_conversion(dsl.programOutput(self.config, source))
+        self.assertEqual(output2, "MACRO=2\n")
 
     def test_program_stderr_is_not_conflated_with_stdout(self):
         # Run a program that produces stdout output and stderr output too, making

``````````

</details>


https://github.com/llvm/llvm-project/pull/195230


More information about the libcxx-commits mailing list