[llvm-objdump][test] Improve address test
authorFangrui Song <i@maskray.me>
Sun, 2 Oct 2022 17:49:52 +0000 (10:49 -0700)
committerFangrui Song <i@maskray.me>
Sun, 2 Oct 2022 17:49:52 +0000 (10:49 -0700)
llvm/test/tools/llvm-objdump/X86/disassemble-data.test
llvm/test/tools/llvm-objdump/X86/print-symbol-addr.s

index e9c4e7e..7e96185 100644 (file)
@@ -1,4 +1,8 @@
-// This test checks that -D disassembles from a data section
-// RUN: llvm-objdump -D %p/Inputs/disassemble-data.obj | FileCheck %s
+# This test checks that -D disassembles from a data section.
+# RUN: llvm-objdump -D %p/Inputs/disassemble-data.obj | FileCheck %s --match-full-lines --strict-whitespace
 
-// CHECK: Disassembly of section .data:
\ No newline at end of file
+#      CHECK:Disassembly of section .data:
+#CHECK-EMPTY:
+#      CHECK:00000000 <.data>:
+# CHECK-NEXT:       0: 00 00{{ +}}     addb    %al, (%eax)
+#  CHECK-NOT:{{.}}
index 6b233be..95023f3 100644 (file)
@@ -2,24 +2,35 @@
 # RUN: llvm-mc %s -filetype=obj -triple=x86_64 -o %t.64.o
 
 ## Check we print the address of `foo` and `bar`.
-# RUN: llvm-objdump -d %t.32.o | FileCheck --check-prefixes=ADDR32,ADDR %s
-# RUN: llvm-objdump -d %t.64.o | FileCheck --check-prefixes=ADDR64,ADDR %s
-# ADDR32:    00000000 <foo>:
-# ADDR64:    0000000000000000 <foo>:
-# ADDR-NEXT:   0: {{.*}}  nop
-# ADDR-NEXT:   1: {{.*}}  nop
-# ADDR32:    00000002 <bar>:
-# ADDR64:    0000000000000002 <bar>:
-# ADDR-NEXT:   2: {{.*}}  nop
+# RUN: llvm-objdump -D %t.32.o | FileCheck --check-prefixes=ADDR32,ADDR %s --match-full-lines --strict-whitespace
+# RUN: llvm-objdump -D %t.64.o | FileCheck --check-prefixes=ADDR64,ADDR %s --match-full-lines --strict-whitespace
+#    ADDR32:00000000 <foo>:
+#    ADDR64:0000000000000000 <foo>:
+# ADDR-NEXT:       0: 90{{ +}} nop
+# ADDR-NEXT:       1: 90{{ +}} nop
+#ADDR-EMPTY:
+#    ADDR32:00000002 <bar>:
+#    ADDR64:0000000000000002 <bar>:
+# ADDR-NEXT:       2: 90{{ +}} nop
+#      ADDR:Disassembly of section .data:
+#ADDR-EMPTY:
+#    ADDR32:00000000 <.data>:
+#    ADDR64:0000000000000000 <.data>:
+# ADDR-NEXT:       0: 01 00{{ +}}      addl    %eax, (%{{[er]}}ax)
+#ADDR-EMPTY:
 
 ## Check we do not print the addresses with --no-leading-addr.
-# RUN: llvm-objdump -d --no-leading-addr %t.32.o | FileCheck %s --check-prefix=NOADDR
-# RUN: llvm-objdump -d --no-leading-addr %t.64.o | FileCheck %s --check-prefix=NOADDR
-# NOADDR:      <foo>:
-# NOADDR-NEXT:   {{.*}} nop
-# NOADDR-NEXT:   {{.*}} nop
-# NOADDR:      <bar>:
-# NOADDR-NEXT:   {{.*}} nop
+# RUN: llvm-objdump -d --no-leading-addr %t.32.o > %t.32.txt
+# RUN: llvm-objdump -d --no-leading-addr %t.64.o > %t.64.txt
+# RUN: FileCheck --input-file=%t.32.txt %s --check-prefix=NOADDR --match-full-lines --strict-whitespace
+# RUN: FileCheck --input-file=%t.64.txt %s --check-prefix=NOADDR --match-full-lines --strict-whitespace
+
+#      NOADDR:<foo>:
+# NOADDR-NEXT: 90{{ +}}        nop
+# NOADDR-NEXT: 90{{ +}}        nop
+#NOADDR-EMPTY:
+#      NOADDR:<bar>:
+# NOADDR-NEXT: 90{{ +}}        nop
 
 .text
 .globl  foo
@@ -30,3 +41,6 @@ foo:
 
 bar:
  nop
+
+.data
+  .word 1