[llvm] [LIT][LLVM-STRINGS]Make stdin tests shell-consistent (PR #176139)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 15 08:22:58 PST 2026


https://github.com/midhuncodes7 updated https://github.com/llvm/llvm-project/pull/176139

>From 4707aa6238c6293f967018b73264e1441e0a4313 Mon Sep 17 00:00:00 2001
From: Midhunesh <midhunesh.p at ibm.com>
Date: Thu, 15 Jan 2026 17:15:30 +0530
Subject: [PATCH 1/2] [LLVM-STRINGS]Fix stdin test to support on AIX

---
 llvm/test/tools/llvm-strings/stdin.test | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/llvm/test/tools/llvm-strings/stdin.test b/llvm/test/tools/llvm-strings/stdin.test
index 63f7194ab973d..87502db08122a 100644
--- a/llvm/test/tools/llvm-strings/stdin.test
+++ b/llvm/test/tools/llvm-strings/stdin.test
@@ -1,24 +1,22 @@
-# XFAIL: system-aix
-
 ## Show that llvm-strings can handle stdin input properly.
 
 ## Case 1: output with single string.
-RUN: echo -n "abcdefg" | llvm-strings - | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
+RUN: bash -c 'echo -n "abcdefg"' | llvm-strings - | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
 CASE1: abcdefg
 
 ## Case 2: output too short for string.
-RUN: echo -n "abc" | llvm-strings - | FileCheck %s --implicit-check-not={{.}} --allow-empty
+RUN: bash -c 'echo -n "abc"' | llvm-strings - | FileCheck %s --implicit-check-not={{.}} --allow-empty
 
 ## Case 3: output with new line.
-RUN: printf "abcd\nefgh" | llvm-strings - | FileCheck %s --check-prefix=CASE3 --implicit-check-not={{.}}
+RUN: bash -c 'printf "abcd\nefgh"' | llvm-strings - | FileCheck %s --check-prefix=CASE3 --implicit-check-not={{.}}
 CASE3:      abcd
 CASE3-NEXT: efgh
 
 ## Case 4: output containing unprintable characters.
-RUN: printf "abcd\000ef\037ghij\177klmn" | llvm-strings - | FileCheck %s --check-prefix=CASE4 --implicit-check-not={{.}}
+RUN: bash -c 'printf "abcd\000ef\037ghij\177klmn"' | llvm-strings - | FileCheck %s --check-prefix=CASE4 --implicit-check-not={{.}}
 CASE4:      abcd
 CASE4-NEXT: ghij
 CASE4-NEXT: klmn
 
 ## Case 5: no file name specified is equivalent to explicitly requesting stdin.
-RUN: echo -n "abcdefg" | llvm-strings | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
+RUN: bash -c 'echo -n "abcdefg"' | llvm-strings | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
\ No newline at end of file

>From 75ec41c77dffa386a00cc7a11f06d684f5d52f60 Mon Sep 17 00:00:00 2001
From: Midhunesh <midhunesh.p at ibm.com>
Date: Thu, 15 Jan 2026 21:36:11 +0530
Subject: [PATCH 2/2] test fix to use printf instead of echo -n

---
 llvm/test/tools/llvm-strings/stdin.test | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/llvm/test/tools/llvm-strings/stdin.test b/llvm/test/tools/llvm-strings/stdin.test
index 87502db08122a..d0b6e44aabbea 100644
--- a/llvm/test/tools/llvm-strings/stdin.test
+++ b/llvm/test/tools/llvm-strings/stdin.test
@@ -1,22 +1,22 @@
 ## Show that llvm-strings can handle stdin input properly.
 
 ## Case 1: output with single string.
-RUN: bash -c 'echo -n "abcdefg"' | llvm-strings - | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
+RUN: printf "abcdefg" | llvm-strings - | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
 CASE1: abcdefg
 
 ## Case 2: output too short for string.
-RUN: bash -c 'echo -n "abc"' | llvm-strings - | FileCheck %s --implicit-check-not={{.}} --allow-empty
+RUN: printf "abc" | llvm-strings - | FileCheck %s --implicit-check-not={{.}} --allow-empty
 
 ## Case 3: output with new line.
-RUN: bash -c 'printf "abcd\nefgh"' | llvm-strings - | FileCheck %s --check-prefix=CASE3 --implicit-check-not={{.}}
+RUN: printf "abcd\nefgh" | llvm-strings - | FileCheck %s --check-prefix=CASE3 --implicit-check-not={{.}}
 CASE3:      abcd
 CASE3-NEXT: efgh
 
 ## Case 4: output containing unprintable characters.
-RUN: bash -c 'printf "abcd\000ef\037ghij\177klmn"' | llvm-strings - | FileCheck %s --check-prefix=CASE4 --implicit-check-not={{.}}
+RUN: printf "abcd\000ef\037ghij\177klmn" | llvm-strings - | FileCheck %s --check-prefix=CASE4 --implicit-check-not={{.}}
 CASE4:      abcd
 CASE4-NEXT: ghij
 CASE4-NEXT: klmn
 
 ## Case 5: no file name specified is equivalent to explicitly requesting stdin.
-RUN: bash -c 'echo -n "abcdefg"' | llvm-strings | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
\ No newline at end of file
+RUN: printf "abcdefg" | llvm-strings | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}



More information about the llvm-commits mailing list