]> granicus.if.org Git - llvm/commitdiff
[llvm-symbolizer][test] Simplify test input reading
authorJames Henderson <jh7370@my.bristol.ac.uk>
Thu, 31 Jan 2019 14:04:47 +0000 (14:04 +0000)
committerJames Henderson <jh7370@my.bristol.ac.uk>
Thu, 31 Jan 2019 14:04:47 +0000 (14:04 +0000)
This change migrates most llvm-symbolizer tests away from reading input
via stdin and instead using --obj + positional arguments for the file
and addresses respectively, which makes the tests easier to read.

One exception is the test test/tools/llvm-symbolizer/pdb/pdb.test, which
was doing some manipulation on the input addresses. This patch
simplifies this somewhat, but it still reads from stdin.

More changes to follow to simplify/break-up other tests.

Reviewed by: dblaikie

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352752 91177308-0d34-0410-b5e6-96231b3b80d8

test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test
test/DebugInfo/llvm-symbolizer-tu.test
test/DebugInfo/llvm-symbolizer-zlib.test
test/tools/llvm-symbolizer/coff-dwarf.test
test/tools/llvm-symbolizer/coff-exports.test
test/tools/llvm-symbolizer/fat.test
test/tools/llvm-symbolizer/padding-x86_64.ll
test/tools/llvm-symbolizer/pdb/missing_pdb.test
test/tools/llvm-symbolizer/pdb/pdb.test
test/tools/llvm-symbolizer/ppc64.test
test/tools/llvm-symbolizer/print_context.c

index 1b8da86f6d3cb7ac5fc0148d4803a7a1ef1be791..13965e07f092fa1a093878bc8592d5c483751c7c 100644 (file)
@@ -1,10 +1,5 @@
-RUN: rm -rf %t && mkdir -p %t
-RUN: cd %t
-RUN: cp %p/Inputs/split-dwarf-no-skel-address.dwo %t
-RUN: echo "%p/Inputs/split-dwarf-no-skel-address.o 0x4" > %t.input
-
 RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \
-RUN:    --default-arch=i386 < %t.input | FileCheck %s
+RUN:    --default-arch=i386 --obj=%p/Inputs/split-dwarf-no-skel-address.o 0x4 | FileCheck %s
 
 Built from the following source:
 void f1();
index c89a4f14d33cbfa0b3663c464d6457c58bf29a66..7878a98cabe352c090ad96cc126d0ad885eca307 100644 (file)
@@ -1,5 +1,4 @@
-RUN: echo "%p/Inputs/llvm-symbolizer-tu.elf-x86-64 0x0" \
-RUN:   | llvm-symbolizer | FileCheck %s
+RUN: llvm-symbolizer --obj=%p/Inputs/llvm-symbolizer-tu.elf-x86-64 0x0 | FileCheck %s
 
 Built from the following source:
 
index 2860d090eb8bbe3531de453a4b0eadcb5e4bdecf..a02361da8733a14ba578b40d3a814c92f5b16eb1 100644 (file)
@@ -1,10 +1,7 @@
 REQUIRES: zlib
 
-RUN: echo "%p/Inputs/dwarfdump-test-zlib.elf-x86-64 0x4005e9" > %t1.input
-RUN: llvm-symbolizer < %t1.input | FileCheck %s
-
-RUN: echo "%p/Inputs/dwarfdump-test-zlibgnu.elf-x86-64 0x4005e9" > %t2.input
-RUN: llvm-symbolizer < %t2.input | FileCheck %s
+RUN: llvm-symbolizer --obj=%p/Inputs/dwarfdump-test-zlib.elf-x86-64 0x4005e9 | FileCheck %s
+RUN: llvm-symbolizer --obj=%p/Inputs/dwarfdump-test-zlibgnu.elf-x86-64 0x4005e9 | FileCheck %s
 
 CHECK: main
 CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test-zlib.cc:16
index ac3d3bd689fb126a8fae4e2ed273c2e4eea1ac52..790763a2ddf0734ec7bb177c8d96741b1f4ca0d2 100644 (file)
@@ -1,19 +1,13 @@
-RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
-RUN:     | llvm-symbolizer --inlining --relative-address -obj="%p/Inputs/coff-dwarf.exe" \
+RUN: llvm-symbolizer 0x5009 0x5038 --inlining --relative-address -obj="%p/Inputs/coff-dwarf.exe" \
 RUN:     | FileCheck %s
-RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
-RUN:     | llvm-symbolizer --inlines --relative-address -obj="%p/Inputs/coff-dwarf.exe" \
+RUN: llvm-symbolizer 0x5009 0x5038 --inlines --relative-address -obj="%p/Inputs/coff-dwarf.exe" \
 RUN:     | FileCheck %s
-RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
-RUN:     | llvm-symbolizer -i --relative-address -obj="%p/Inputs/coff-dwarf.exe" \
+RUN: llvm-symbolizer 0x5009 0x5038 -i --relative-address -obj="%p/Inputs/coff-dwarf.exe" \
 RUN:     | FileCheck %s
 
 This test relies on UnDecorateSymbolName, which is Windows-only.
 REQUIRES: target-windows, system-windows
 
-ADDR: 0x5009
-ADDR: 0x5038
-
 CHECK: foo(void)
 CHECK: coff-dwarf.cpp:7
 CHECK: bar(void)
index 470d198a415a9f21e421c0f1ac4e424ebedde246..8678aae2960e945c5b5c415b18c26ff44c171b58 100644 (file)
@@ -1,22 +1,15 @@
-RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
-RUN:    | llvm-symbolizer --inlining --relative-address -obj="%p/Inputs/coff-exports.exe" \
-RUN:    | FileCheck %s
-RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
-RUN:    | llvm-symbolizer --inlines --relative-address -obj="%p/Inputs/coff-exports.exe" \
-RUN:    | FileCheck %s
-RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
-RUN:    | llvm-symbolizer -i --relative-address -obj="%p/Inputs/coff-exports.exe" \
-RUN:    | FileCheck %s
+RUN: llvm-symbolizer 0x500A 0x5038 0x504B --inlining --relative-address -obj="%p/Inputs/coff-exports.exe" \
+RUN:   | FileCheck %s
+RUN: llvm-symbolizer 0x500A 0x5038 0x504B --inlines --relative-address -obj="%p/Inputs/coff-exports.exe" \
+RUN:   | FileCheck %s
+RUN: llvm-symbolizer 0x500A 0x5038 0x504B -i --relative-address -obj="%p/Inputs/coff-exports.exe" \
+RUN:   | FileCheck %s
 
 This test relies on UnDecorateSymbolName, which is Win32-only.
 REQUIRES: system-windows
 REQUIRES: target-windows
 FIXME: This test depends on host, not target.
 
-ADDR: 0x500A
-ADDR: 0x5038
-ADDR: 0x504B
-
 We get the expected stack trace, except 'foo' appears for the 'bar' frame
 because 'bar' isn't in the export table.
 
index 1ecd1abb356f48ba75b6fddcdd29c4376715a370..4596b4e079dbefcbf22dab30e6c6ea0443a7ee90 100644 (file)
@@ -1,8 +1,8 @@
-RUN: echo 0 | llvm-symbolizer -obj=%p/Inputs/fat.o -default-arch=x86_64 | FileCheck --check-prefix=X86_64 %s
-RUN: echo 0 | llvm-symbolizer -obj=%p/Inputs/fat.o -default-arch=x86_64h | FileCheck --check-prefix=X86_64H %s
-RUN: echo 0 | llvm-symbolizer -obj=%p/Inputs/fat.o -default-arch=armv7 | FileCheck --check-prefix=ARMV7 %s
-RUN: echo 0 | llvm-symbolizer -obj=%p/Inputs/fat.o -default-arch=armv7em | FileCheck --check-prefix=ARMV7EM %s
-RUN: echo 0 | llvm-symbolizer -obj=%p/Inputs/fat.o -default-arch=armv7m | FileCheck --check-prefix=ARMV7M %s
+RUN: llvm-symbolizer 0 -obj=%p/Inputs/fat.o -default-arch=x86_64 | FileCheck --check-prefix=X86_64 %s
+RUN: llvm-symbolizer 0 -obj=%p/Inputs/fat.o -default-arch=x86_64h | FileCheck --check-prefix=X86_64H %s
+RUN: llvm-symbolizer 0 -obj=%p/Inputs/fat.o -default-arch=armv7 | FileCheck --check-prefix=ARMV7 %s
+RUN: llvm-symbolizer 0 -obj=%p/Inputs/fat.o -default-arch=armv7em | FileCheck --check-prefix=ARMV7EM %s
+RUN: llvm-symbolizer 0 -obj=%p/Inputs/fat.o -default-arch=armv7m | FileCheck --check-prefix=ARMV7M %s
 
 X86_64: x86_64_function
 X86_64H: x86_64h_function
index 1d3d6d8b689477cb445319fbb2529bcd1c0629e5..7b2cff8b276d30f8c73978405feede740616abbd 100644 (file)
@@ -2,9 +2,9 @@
 ; Checks if symbolizer can correctly symbolize address in the padding between
 ; functions.
 ; RUN: llc  -o %t.o -filetype=obj -mtriple=x86_64-pc-linux  %s
-; RUN: echo 0x5 | llvm-symbolizer -obj=%t.o | FileCheck %s --check-prefix=FOO
-; RUN: echo 0xd | llvm-symbolizer -obj=%t.o | FileCheck %s --check-prefix=PADDING
-; RUN: echo 0x10 | llvm-symbolizer -obj=%t.o | FileCheck %s --check-prefix=MAIN
+; RUN: llvm-symbolizer 0x5 -obj=%t.o | FileCheck %s --check-prefix=FOO
+; RUN: llvm-symbolizer 0xd -obj=%t.o | FileCheck %s --check-prefix=PADDING
+; RUN: llvm-symbolizer 0x10 -obj=%t.o | FileCheck %s --check-prefix=MAIN
 
 ;FOO: foo
 ;PADDING: ??
index e5282f30fa6f82de445783cfd22ca836120defb7..b83b46a752133c51bd7b192054062be70a48e6e2 100644 (file)
@@ -1,11 +1,7 @@
-RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
-RUN:    | llvm-symbolizer -obj="%p/Inputs/missing_pdb.exe" 2>%t.err \
+RUN: llvm-symbolizer 0x401000 0x401001 -obj="%p/Inputs/missing_pdb.exe" 2>%t.err \
 RUN:    | FileCheck %s
 RUN: FileCheck --check-prefix=ERROR %s < %t.err
 
-ADDR: 0x401000
-ADDR: 0x401001
-
 llvm-symbolizer should print one error and two unknown line info records.
 
 ERROR: LLVMSymbolizer: error reading file: {{.*}}: {{N|n}}o such file or directory
index a97b35eab9c405b8556663c2f2bd82c3ec416d28..062c0409895f832b283c9d93e060fb72fabffbf1 100644 (file)
@@ -1,27 +1,23 @@
-RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
-RUN:   | llvm-symbolizer -obj="%p/Inputs/test.exe" \
+RUN: echo 0x401380 > %t.input
+RUN: echo 0x401390 >> %t.input
+RUN: echo 0x4013A0 >> %t.input
+RUN: echo 0x4013C0 >> %t.input
+RUN: echo 0x4013D0 >> %t.input
+RUN: echo 0x4013E0 >> %t.input
+RUN: echo 0x4013F0 >> %t.input
+RUN: echo 0x401420 >> %t.input
+RUN: llvm-symbolizer -obj="%p/Inputs/test.exe" < %t.input \
 RUN:    | FileCheck %s
-RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
-RUN:   | llvm-symbolizer -obj="%p/Inputs/test.exe" -demangle=false \
-RUN:   | FileCheck %s --check-prefix=CHECK-NO-DEMANGLE
+RUN: llvm-symbolizer -obj="%p/Inputs/test.exe" -demangle=false < %t.input \
+RUN:    | FileCheck %s --check-prefix=CHECK-NO-DEMANGLE
 
 Subtract ImageBase from all the offsets and run the test again with
 --relative-address.
 
-RUN: grep '^ADDR:' %s | sed -s 's/ADDR: //' \
-RUN:   | %python -c 'import sys;print("\n".join([hex(int(x, 16) - 0x400000) for x in sys.stdin]))' \
-RUN:   | llvm-symbolizer -obj="%p/Inputs/test.exe" -demangle=false --relative-address \
+RUN: %python -c 'import sys;print("\n".join([hex(int(x, 16) - 0x400000) for x in sys.stdin]))' < %t.input \
+RUN:    | llvm-symbolizer -obj="%p/Inputs/test.exe" -demangle=false --relative-address \
 RUN:    | FileCheck %s --check-prefix=CHECK-NO-DEMANGLE
 
-ADDR: 0x401380
-ADDR: 0x401390
-ADDR: 0x4013A0
-ADDR: 0x4013C0
-ADDR: 0x4013D0
-ADDR: 0x4013E0
-ADDR: 0x4013F0
-ADDR: 0x401420
-
 CHECK: foo(void)
 CHECK-NEXT: test.cpp:10
 CHECK: {{^private_symbol$}}
index fc8e4ffc7e2e92d5c7ddf3d5e1781ebeecc6f1d2..681557cd2e54d7d9941f80f5a6edff10ab693f8d 100644 (file)
@@ -4,7 +4,7 @@ int foo() { return 0; }
 int bar() { return foo(); }
 int _start() { return bar(); }
 
-RUN: %python -c "print('0x1000014c\n0x1000018c\n0x100001cc')" | llvm-symbolizer -obj=%p/Inputs/ppc64 | FileCheck %s
+RUN: llvm-symbolizer 0x1000014c 0x1000018c 0x100001cc -obj=%p/Inputs/ppc64 | FileCheck %s
 
 CHECK: foo
 CHECK: bar
index fe8747c8dfdb6c5c0d3d0c463b13519c374280ee..5b80054416d688d557ba5f75d51f8198f99466f0 100644 (file)
@@ -13,7 +13,7 @@ int main() {
 // RUN: cp %s %t/
 // RUN: cp %p/Inputs/print_context.o %t
 // RUN: cd %t
-// RUN: echo "%t/print_context.o 0x0" | llvm-symbolizer -print-source-context-lines=5 | FileCheck %s
+// RUN: llvm-symbolizer -obj=%t/print_context.o 0x0 -print-source-context-lines=5 | FileCheck %s
 
 // Inputs/print_context.o built with plain -g -c from this source file
 // Specifying -Xclang -fdebug-compilation-dir -Xclang . to make the debug info