[llvm] [BOLT][test] Removed the use of parentheses in BOLT tests with lit internal shell (PR #105720)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 22 12:18:39 PDT 2024
https://github.com/Harini0924 created https://github.com/llvm/llvm-project/pull/105720
This patch addresses compatibility issues with the lit internal shell by removing the use of subshell execution (parentheses and subshell syntax) in the `BOLT` tests. The lit internal shell does not support parentheses, so the tests have been refactored to use separate command invocations, with outputs redirected to temporary files where necessary.
This change is relevant for enabling the lit internal shell by default, as outlined in [[RFC] Enabling the Lit Internal Shell by Default](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)
fixes: #102401
>From df8d3d4a9b0f006f4807ac7d05238168090d3e4f Mon Sep 17 00:00:00 2001
From: Harini <harinidonthula at google.com>
Date: Thu, 22 Aug 2024 14:53:33 +0000
Subject: [PATCH] [llvm-lit] Removed the use of parentheses in bolt tests
Replaced the use of subshell execution with separate command invocations in the `bolt` tests. Ensured compatibility with the lit internal shell by avoiding parentheses and subshell syntax. Updated tests to use temporary files for simplified command structures.
---
bolt/test/X86/end-symbol.test | 6 ++++--
bolt/test/X86/instrumentation-eh_frame_hdr.cpp | 5 +++--
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/bolt/test/X86/end-symbol.test b/bolt/test/X86/end-symbol.test
index 18c11a8a749fc4..69087b7f2597e0 100644
--- a/bolt/test/X86/end-symbol.test
+++ b/bolt/test/X86/end-symbol.test
@@ -1,7 +1,9 @@
# RUN: yaml2obj %p/Inputs/plt-sec.yaml &> %t.exe
# RUN: llvm-bolt %t.exe -o %t.out
-# RUN: (llvm-readelf --program-headers %t.out | grep LOAD | tail -n 1 ; llvm-nm %t.out) \
-# RUN: | FileCheck %s
+
+# RUN: llvm-readelf --program-headers %t.out | grep LOAD | tail -n 1 > %t.load
+# RUN: llvm-nm %t.out >> %t.load
+# RUN: FileCheck %s < %t.load
## Check that llvm-bolt correctly updates _end symbol to match the end of the
## last loadable segment.
diff --git a/bolt/test/X86/instrumentation-eh_frame_hdr.cpp b/bolt/test/X86/instrumentation-eh_frame_hdr.cpp
index 4ed8be42cd0f37..b360530099ce32 100644
--- a/bolt/test/X86/instrumentation-eh_frame_hdr.cpp
+++ b/bolt/test/X86/instrumentation-eh_frame_hdr.cpp
@@ -6,8 +6,9 @@
// RUN: %clangxx %cxxflags -static -Wl,-q %s -o %t.exe -Wl,--entry=_start
// RUN: llvm-bolt %t.exe -o %t.instr -instrument \
// RUN: --instrumentation-file=%t.fdata -instrumentation-sleep-time=1
-// RUN: (llvm-readelf -SW %t.instr | grep -v bolt; llvm-readelf -lW %t.instr | \
-// RUN: grep LOAD | tail -n 1) | FileCheck %s
+// RUN: llvm-readelf -SW %t.instr | grep -v bolt > %t.sections
+// RUN: llvm-readelf -lW %t.instr | grep LOAD | tail -n 1 >> %t.sections
+// RUN: FileCheck %s < %t.sections
// CHECK: {{.*}} .eh_frame_hdr PROGBITS [[#%x, EH_ADDR:]]
// CHECK: LOAD 0x[[#%x, LD_OFFSET:]] 0x[[#%x, LD_VADDR:]] 0x[[#%x, LD_FSIZE:]]
More information about the llvm-commits
mailing list