xref: /llvm-project/llvm/test/tools/llvm-readobj/ELF/pretty-print.test (revision aa123b8c096cc75100f7d87c9cfcc7afaa03cfd1)
1## Test the JSON pretty-print flag.
2#
3# RUN: yaml2obj %s -o %t.pretty
4
5## Test JSON with pretty-print off.
6# RUN: llvm-readobj --elf-output-style=JSON %t.pretty | \
7# RUN:   FileCheck %s --check-prefix=NO-PRETTY \
8# RUN:     --strict-whitespace --implicit-check-not={{.}}
9
10#      NO-PRETTY:[
11# NO-PRETTY-SAME:{
12# NO-PRETTY-SAME:"FileSummary":{
13# NO-PRETTY-SAME:"File":"{{.*}}.pretty",
14# NO-PRETTY-SAME:"Format":"elf64-x86-64",
15# NO-PRETTY-SAME:"Arch":"x86_64",
16# NO-PRETTY-SAME:"AddressSize":"64bit",
17# NO-PRETTY-SAME:"LoadName":"<Not found>"
18# NO-PRETTY-SAME:}
19# NO-PRETTY-SAME:}
20# NO-PRETTY-SAME:]
21
22## Test JSON with pretty-print on.
23# RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.pretty | \
24# RUN:   FileCheck %s --check-prefix=PRETTY \
25# RUN:     --match-full-lines --strict-whitespace --implicit-check-not={{.}}
26
27#      PRETTY:[
28# PRETTY-NEXT:  {
29# PRETTY-NEXT:    "FileSummary": {
30# PRETTY-NEXT:      "File": "{{.*}}.pretty",
31# PRETTY-NEXT:      "Format": "elf64-x86-64",
32# PRETTY-NEXT:      "Arch": "x86_64",
33# PRETTY-NEXT:      "AddressSize": "64bit",
34# PRETTY-NEXT:      "LoadName": "<Not found>"
35# PRETTY-NEXT:    }
36# PRETTY-NEXT:  }
37# PRETTY-NEXT:]
38
39--- !ELF
40FileHeader:
41  Class:   ELFCLASS64
42  Data:    ELFDATA2LSB
43  Type:    ET_REL
44  Machine: EM_X86_64
45