[lld] [ELF, test] Improve error-handling-script-linux.test (PR #105454)

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 20 17:21:31 PDT 2024


https://github.com/MaskRay created https://github.com/llvm/llvm-project/pull/105454

None

>From 0c8012ac006d00648e04e631cadfb63ef5c91a2d Mon Sep 17 00:00:00 2001
From: Fangrui Song <i at maskray.me>
Date: Tue, 20 Aug 2024 17:21:21 -0700
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
 =?UTF-8?q?l=20version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Created using spr 1.3.5-bogner
---
 lld/test/ELF/error-handling-script-linux.test | 52 +++++++++++--------
 1 file changed, 31 insertions(+), 21 deletions(-)
 mode change 100755 => 100644 lld/test/ELF/error-handling-script-linux.test

diff --git a/lld/test/ELF/error-handling-script-linux.test b/lld/test/ELF/error-handling-script-linux.test
old mode 100755
new mode 100644
index 54e1b29ab236a6..f7a00758dcd30b
--- a/lld/test/ELF/error-handling-script-linux.test
+++ b/lld/test/ELF/error-handling-script-linux.test
@@ -1,46 +1,56 @@
-#!/bin/sh
 # REQUIRES: x86
 # UNSUPPORTED: system-windows
 
-# RUN: llvm-mc -filetype=obj -triple=x86_64 /dev/null -o %t0.o
-# RUN: not ld.lld -o /dev/null -lidontexist --error-handling-script=%s %t0.o 2>&1 |\
+# RUN: rm -rf %t && split-file %s %t && cd %t
+# RUN: chmod +x a.sh
+# RUN: llvm-mc -filetype=obj -triple=x86_64 /dev/null -o 0.o
+# RUN: not ld.lld -lidontexist --error-handling-script=%t/a.sh 0.o 2>&1 |\
 # RUN:   FileCheck --check-prefix=CHECK-LIB %s
-# RUN: not ld.lld -o /dev/null -lidontexist --error-handling-script=%s.nope %t0.o 2>&1 |\
-# RUN:   FileCheck --check-prefix=CHECK-SCRIPT-DOES-NOT-EXIST -DFILE=%s.nope %s
+# RUN: not ld.lld -lidontexist --error-handling-script=./notexist 0.o 2>&1 |\
+# RUN:   FileCheck --check-prefix=CHECK-SCRIPT-DOES-NOT-EXIST %s
 
-# RUN: echo 'bar: movl a(%rip), %eax' | llvm-mc -filetype=obj -triple=x86_64 - -o %t1.o
-# RUN: not ld.lld -o /dev/null --error-handling-script=%s %t1.o 2>&1 |\
+# RUN: llvm-mc -filetype=obj -triple=x86_64 1.s -o 1.o
+# RUN: not ld.lld --error-handling-script=./a.sh 1.o 2>&1 |\
 # RUN:   FileCheck --check-prefix=CHECK-SYM-C %s
 
-# RUN: echo 'bar: movl _Z1av(%rip), %eax' | llvm-mc -filetype=obj -triple=x86_64 - -o %t2.o
-# RUN: not ld.lld -o /dev/null --demangle --error-handling-script=%s %t2.o 2>&1 |\
+# RUN: llvm-mc -filetype=obj -triple=x86_64 2.s -o 2.o
+# RUN: not ld.lld --demangle --error-handling-script=./a.sh 2.o 2>&1 |\
 # RUN:   FileCheck --check-prefix=CHECK-SYM-CXX-DEMANGLE %s
-# RUN: not ld.lld -o /dev/null --no-demangle --error-handling-script=%s %t2.o 2>&1 |\
+# RUN: not ld.lld --no-demangle --error-handling-script=./a.sh 2.o 2>&1 |\
 # RUN:   FileCheck --check-prefix=CHECK-SYM-CXX-NO-DEMANGLE %s
 
-# RUN: { echo 'a_: ret'; echo 'bar: movl a(%rip), %eax' ; } | llvm-mc -filetype=obj -triple=x86_64 - -o %t3.o
-# RUN: not ld.lld -o /dev/null --error-handling-script=%s %t3.o 2>&1 |\
-# RUN:   FileCheck --check-prefix=CHECK-SYM-C-CORRECTION -DOBJ=%t3.o %s
+# RUN: llvm-mc -filetype=obj -triple=x86_64 3.s -o 3.o
+# RUN: not ld.lld --error-handling-script=%t/a.sh 3.o 2>&1 |\
+# RUN:   FileCheck --check-prefix=CHECK-SYM-C-CORRECTION %s
 
 # CHECK-LIB:      script: info: called with missing-lib idontexist
-# CHECK-LIB-NEXT: ld.lld: error: unable to find library -lidontexist
+# CHECK-LIB-NEXT: error: unable to find library -lidontexist
 
-# CHECK-SCRIPT-DOES-NOT-EXIST:      ld.lld: error: unable to find library -lidontexist
-# CHECK-SCRIPT-DOES-NOT-EXIST-NEXT: ld.lld: error: error handling script '[[FILE]]' failed to execute
+# CHECK-SCRIPT-DOES-NOT-EXIST:      error: unable to find library -lidontexist
+# CHECK-SCRIPT-DOES-NOT-EXIST-NEXT: error: error handling script './notexist' failed to execute
 
 # CHECK-SYM-C:      script: info: called with undefined-symbol a
-# CHECK-SYM-C-NEXT: ld.lld: error: undefined symbol: a
+# CHECK-SYM-C-NEXT: error: undefined symbol: a
 
 # CHECK-SYM-CXX-DEMANGLE:      script: info: called with undefined-symbol _Z1av
-# CHECK-SYM-CXX-DEMANGLE-NEXT: ld.lld: error: undefined symbol: a()
+# CHECK-SYM-CXX-DEMANGLE-NEXT: error: undefined symbol: a()
 
 # CHECK-SYM-CXX-NO-DEMANGLE:      script: info: called with undefined-symbol _Z1av
-# CHECK-SYM-CXX-NO-DEMANGLE-NEXT: ld.lld: error: undefined symbol: _Z1av
+# CHECK-SYM-CXX-NO-DEMANGLE-NEXT: error: undefined symbol: _Z1av
 
 # CHECK-SYM-C-CORRECTION:      script: info: called with undefined-symbol a
-# CHECK-SYM-C-CORRECTION-NEXT: ld.lld: error: undefined symbol: a
-# CHECK-SYM-C-CORRECTION-NEXT: >>> referenced by [[OBJ]]:
+# CHECK-SYM-C-CORRECTION-NEXT: error: undefined symbol: a
+# CHECK-SYM-C-CORRECTION-NEXT: >>> referenced by 3.o:
 # CHECK-SYM-C-CORRECTION-NEXT: >>> did you mean: a_
 
+#--- 1.s
+bar: movl a(%rip), %eax
+#--- 2.s
+bar: movl _Z1av(%rip), %eax
+#--- 3.s
+a_: ret
+bar: movl a(%rip), %eax
 
+#--- a.sh
+#!/bin/sh
 echo "script: info: called with $*"



More information about the llvm-commits mailing list