[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:13:58 PDT 2026
https://github.com/zeroomega created https://github.com/llvm/llvm-project/pull/195230
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.
>From 2d556a6990a30e3b5cdef590edeb6186ac9d2acd Mon Sep 17 00:00:00 2001
From: Haowei Wu <haowei at google.com>
Date: Fri, 1 May 2026 00:01:30 -0700
Subject: [PATCH] [libcxx][lit] Fix dsl.sh.py test failure on Windows
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.
---
libcxx/test/selftest/dsl/dsl.sh.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
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
More information about the libcxx-commits
mailing list