[libcxx-commits] [libcxx] 640e45b - [lit] Read command stdout/stderr as text on Windows

Martin Storsjö via libcxx-commits libcxx-commits at lists.llvm.org
Tue Mar 1 04:25:26 PST 2022


Author: Martin Storsjö
Date: 2022-03-01T14:24:02+02:00
New Revision: 640e45b9b2205ba18a4a562a9404418d8b90abda

URL: https://github.com/llvm/llvm-project/commit/640e45b9b2205ba18a4a562a9404418d8b90abda
DIFF: https://github.com/llvm/llvm-project/commit/640e45b9b2205ba18a4a562a9404418d8b90abda.diff

LOG: [lit] Read command stdout/stderr as text on Windows

This takes care of normalizing newlines back to single LF instead
of CRLF.

This on itself breaks on a couple tests that accidentally seem to
be writing binary data to stdout; make sure those cases are piped
to /dev/null instead of actually written to a terminal.

Differential Revision: https://reviews.llvm.org/D120623

Added: 
    

Modified: 
    libcxx/test/libcxx/selftest/dsl/dsl.sh.py
    llvm/test/MC/ELF/diff2.s
    llvm/test/MC/Mips/relocation-xfail.s
    llvm/test/Other/cfg-printer-branch-weights-percent.ll
    llvm/test/Other/cfg-printer-branch-weights.ll
    llvm/test/Other/cfg-printer-filter.ll
    llvm/test/Other/cfg_deopt_unreach.ll
    llvm/utils/lit/lit/TestRunner.py

Removed: 
    


################################################################################
diff  --git a/libcxx/test/libcxx/selftest/dsl/dsl.sh.py b/libcxx/test/libcxx/selftest/dsl/dsl.sh.py
index d11b2382ad7ae..ce7bd8c367a41 100644
--- a/libcxx/test/libcxx/selftest/dsl/dsl.sh.py
+++ b/libcxx/test/libcxx/selftest/dsl/dsl.sh.py
@@ -6,8 +6,6 @@
 #
 #===----------------------------------------------------------------------===##
 
-# XFAIL: LIBCXX-WINDOWS-FIXME
-
 # Note: We prepend arguments with 'x' to avoid thinking there are too few
 #       arguments in case an argument is an empty string.
 # RUN: %{python} %s x%S x%T x%{substitutions}

diff  --git a/llvm/test/MC/ELF/
diff 2.s b/llvm/test/MC/ELF/
diff 2.s
index 4a9fbd1d83a76..625b300023f58 100644
--- a/llvm/test/MC/ELF/
diff 2.s
+++ b/llvm/test/MC/ELF/
diff 2.s
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s 2> %t
+// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s 2> %t > /dev/null
 // RUN: FileCheck -input-file %t %s
 
 .global zed

diff  --git a/llvm/test/MC/Mips/relocation-xfail.s b/llvm/test/MC/Mips/relocation-xfail.s
index 25db54a727e3d..4bb350212b25a 100644
--- a/llvm/test/MC/Mips/relocation-xfail.s
+++ b/llvm/test/MC/Mips/relocation-xfail.s
@@ -1,5 +1,5 @@
 // RUN: llvm-mc -filetype=obj -triple mips-unknown-linux -mattr=+micromips < %s \
-// RUN:     | llvm-readobj --sections --section-data \
+// RUN:     | llvm-readobj --sections --section-data - \
 // RUN:     | FileCheck -check-prefix=DATA %s
 //
 // XFAIL: *

diff  --git a/llvm/test/Other/cfg-printer-branch-weights-percent.ll b/llvm/test/Other/cfg-printer-branch-weights-percent.ll
index d1a647d4fc434..b7e82aa1c6fc3 100644
--- a/llvm/test/Other/cfg-printer-branch-weights-percent.ll
+++ b/llvm/test/Other/cfg-printer-branch-weights-percent.ll
@@ -1,4 +1,4 @@
-;RUN: opt < %s -dot-cfg -cfg-weights -cfg-dot-filename-prefix=%t 2>/dev/null
+;RUN: opt < %s -dot-cfg -cfg-weights -cfg-dot-filename-prefix=%t 2>/dev/null > /dev/null
 ;RUN: FileCheck %s -input-file=%t.f.dot
 
 define void @f(i32) {

diff  --git a/llvm/test/Other/cfg-printer-branch-weights.ll b/llvm/test/Other/cfg-printer-branch-weights.ll
index 52dfd204eb98c..bf32f2e553c55 100644
--- a/llvm/test/Other/cfg-printer-branch-weights.ll
+++ b/llvm/test/Other/cfg-printer-branch-weights.ll
@@ -1,4 +1,4 @@
-;RUN: opt < %s -dot-cfg -cfg-weights -cfg-raw-weights -cfg-dot-filename-prefix=%t 2>/dev/null
+;RUN: opt < %s -dot-cfg -cfg-weights -cfg-raw-weights -cfg-dot-filename-prefix=%t 2>/dev/null > /dev/null
 ;RUN: FileCheck %s -input-file=%t.f.dot
 
 define void @f(i32) {

diff  --git a/llvm/test/Other/cfg-printer-filter.ll b/llvm/test/Other/cfg-printer-filter.ll
index 0d3bf3df5f531..e4089c12f1195 100644
--- a/llvm/test/Other/cfg-printer-filter.ll
+++ b/llvm/test/Other/cfg-printer-filter.ll
@@ -1,12 +1,12 @@
 ; RUN: rm -f %t.other.dot %t-only.other.dot
 
 ;; Both f and func are dumped because their names contain the pattern 'f' as a substring.
-; RUN: opt < %s -dot-cfg -cfg-dot-filename-prefix=%t -cfg-func-name=f 2>/dev/null
+; RUN: opt < %s -dot-cfg -cfg-dot-filename-prefix=%t -cfg-func-name=f 2>/dev/null > /dev/null
 ; RUN: FileCheck %s -input-file=%t.f.dot -check-prefix=F
 ; RUN: FileCheck %s -input-file=%t.func.dot -check-prefix=Func
 ; RUN: not test -f %t.other.dot
 
-; RUN: opt < %s -dot-cfg-only -cfg-dot-filename-prefix=%t-only -cfg-func-name=f 2>/dev/null
+; RUN: opt < %s -dot-cfg-only -cfg-dot-filename-prefix=%t-only -cfg-func-name=f 2>/dev/null > /dev/null
 ; RUN: FileCheck %s -input-file=%t-only.f.dot -check-prefix=F
 ; RUN: FileCheck %s -input-file=%t-only.func.dot -check-prefix=Func
 ; RUN: not test -f %t-only.other.dot

diff  --git a/llvm/test/Other/cfg_deopt_unreach.ll b/llvm/test/Other/cfg_deopt_unreach.ll
index 2aa04338bb4ab..1cde68bed2de4 100644
--- a/llvm/test/Other/cfg_deopt_unreach.ll
+++ b/llvm/test/Other/cfg_deopt_unreach.ll
@@ -1,12 +1,12 @@
 ; RUN: rm -rf %t
 ; RUN: mkdir -p %t
-; RUN: opt < %s -dot-cfg -cfg-hide-unreachable-paths -cfg-dot-filename-prefix=%t/unreach 2>/dev/null
+; RUN: opt < %s -dot-cfg -cfg-hide-unreachable-paths -cfg-dot-filename-prefix=%t/unreach 2>/dev/null > /dev/null
 ; RUN: FileCheck %s -input-file=%t/unreach.callee.dot -check-prefix=UNREACH
-; RUN: opt < %s -dot-cfg -cfg-hide-deoptimize-paths -cfg-dot-filename-prefix=%t/deopt 2>/dev/null
+; RUN: opt < %s -dot-cfg -cfg-hide-deoptimize-paths -cfg-dot-filename-prefix=%t/deopt 2>/dev/null > /dev/null
 ; RUN: FileCheck %s -input-file=%t/deopt.callee.dot -check-prefix=DEOPT
-; RUN: opt < %s -dot-cfg -cfg-dot-filename-prefix=%t/no-flags 2>/dev/null
+; RUN: opt < %s -dot-cfg -cfg-dot-filename-prefix=%t/no-flags 2>/dev/null > /dev/null
 ; RUN: FileCheck %s -input-file=%t/no-flags.callee.dot -check-prefix=NO-FLAGS
-; RUN: opt < %s -dot-cfg -cfg-hide-unreachable-paths -cfg-hide-deoptimize-paths -cfg-dot-filename-prefix=%t/both-flags 2>/dev/null
+; RUN: opt < %s -dot-cfg -cfg-hide-unreachable-paths -cfg-hide-deoptimize-paths -cfg-dot-filename-prefix=%t/both-flags 2>/dev/null > /dev/null
 ; RUN: FileCheck %s -input-file=%t/both-flags.callee.dot -check-prefix=BOTH-FLAGS
 
 declare i8 @llvm.experimental.deoptimize.i8(...)

diff  --git a/llvm/utils/lit/lit/TestRunner.py b/llvm/utils/lit/lit/TestRunner.py
index 35afa033cf57b..7d94fb6a6e4ef 100644
--- a/llvm/utils/lit/lit/TestRunner.py
+++ b/llvm/utils/lit/lit/TestRunner.py
@@ -783,7 +783,8 @@ def _executeShCmd(cmd, shenv, results, timeoutHelper):
                                           stdout = stdout,
                                           stderr = stderr,
                                           env = cmd_shenv.env,
-                                          close_fds = kUseCloseFDs))
+                                          close_fds = kUseCloseFDs,
+                                          universal_newlines = True))
             proc_not_counts.append(not_count)
             # Let the helper know about this process
             timeoutHelper.addProcess(procs[-1])


        


More information about the libcxx-commits mailing list