## Test how we output JSON file summaries.

# RUN: rm -rf %t.dir
# RUN: mkdir -p %t.dir
# RUN: yaml2obj %s -o %t.dir/obj

## Test outputting file summary for a single file.
# RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.dir/obj | \
# RUN:   FileCheck %s --check-prefix=SINGLE \
# RUN:     --match-full-lines --strict-whitespace --implicit-check-not={{.}}

#      SINGLE:[
# SINGLE-NEXT:  {
# SINGLE-NEXT:    "{{.*}}/obj": {
# SINGLE-NEXT:      "FileSummary": {
# SINGLE-NEXT:        "File": "{{.*}}/obj",
# SINGLE-NEXT:        "Format": "elf64-x86-64",
# SINGLE-NEXT:        "Arch": "x86_64",
# SINGLE-NEXT:        "AddressSize": "64bit",
# SINGLE-NEXT:        "LoadName": "<Not found>"
# SINGLE-NEXT:      }
# SINGLE-NEXT:    }
# SINGLE-NEXT:  }
# SINGLE-NEXT:]

## Test outputting file summary for multiple files.
# RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.dir/obj %t.dir/obj | \
# RUN:   FileCheck %s --check-prefix=MULTI \
# RUN:     --match-full-lines --strict-whitespace --implicit-check-not={{.}}

#      MULTI:[
# MULTI-NEXT:  {
# MULTI-NEXT:    "{{.*}}/obj": {
# MULTI-NEXT:      "FileSummary": {
# MULTI-NEXT:        "File": "{{.*}}/obj",
# MULTI-NEXT:        "Format": "elf64-x86-64",
# MULTI-NEXT:        "Arch": "x86_64",
# MULTI-NEXT:        "AddressSize": "64bit",
# MULTI-NEXT:        "LoadName": "<Not found>"
# MULTI-NEXT:      }
# MULTI-NEXT:    }
# MULTI-NEXT:  },
# MULTI-NEXT:  {
# MULTI-NEXT:    "{{.*}}/obj": {
# MULTI-NEXT:      "FileSummary": {
# MULTI-NEXT:        "File": "{{.*}}/obj",
# MULTI-NEXT:        "Format": "elf64-x86-64",
# MULTI-NEXT:        "Arch": "x86_64",
# MULTI-NEXT:        "AddressSize": "64bit",
# MULTI-NEXT:        "LoadName": "<Not found>"
# MULTI-NEXT:      }
# MULTI-NEXT:    }
# MULTI-NEXT:  }
# MULTI-NEXT:]

## Test outputting file summary for an archive with a single file.
# RUN: rm -f %t.archive-single
# RUN: llvm-ar rc %t.archive-single %t.dir/obj
# RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.archive-single | \
# RUN:   FileCheck %s --check-prefix=ARCH-SINGLE \
# RUN:     --match-full-lines --strict-whitespace --implicit-check-not={{.}}

#      ARCH-SINGLE:[
# ARCH-SINGLE-NEXT:  {
# ARCH-SINGLE-NEXT:    "{{.*}}.archive-single(obj)": {
# ARCH-SINGLE-NEXT:      "FileSummary": {
# ARCH-SINGLE-NEXT:        "File": "{{.*}}.archive-single(obj)",
# ARCH-SINGLE-NEXT:        "Format": "elf64-x86-64",
# ARCH-SINGLE-NEXT:        "Arch": "x86_64",
# ARCH-SINGLE-NEXT:        "AddressSize": "64bit",
# ARCH-SINGLE-NEXT:        "LoadName": "<Not found>"
# ARCH-SINGLE-NEXT:      }
# ARCH-SINGLE-NEXT:    }
# ARCH-SINGLE-NEXT:  }
# ARCH-SINGLE-NEXT:]

## Test outputting file summary for an archive with multiple files.
# RUN: rm -f %t.archive-multiple
# RUN: llvm-ar rc %t.archive-multiple %t.dir/obj %t.dir/obj
# RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.archive-multiple | \
# RUN:   FileCheck %s --check-prefix=ARCH-MULTI \
# RUN:     --match-full-lines --strict-whitespace --implicit-check-not={{.}}

#      ARCH-MULTI:[
# ARCH-MULTI-NEXT:  {
# ARCH-MULTI-NEXT:    "{{.*}}.archive-multiple(obj)": {
# ARCH-MULTI-NEXT:      "FileSummary": {
# ARCH-MULTI-NEXT:        "File": "{{.*}}.archive-multiple(obj)",
# ARCH-MULTI-NEXT:        "Format": "elf64-x86-64",
# ARCH-MULTI-NEXT:        "Arch": "x86_64",
# ARCH-MULTI-NEXT:        "AddressSize": "64bit",
# ARCH-MULTI-NEXT:        "LoadName": "<Not found>"
# ARCH-MULTI-NEXT:      }
# ARCH-MULTI-NEXT:    }
# ARCH-MULTI-NEXT:  },
# ARCH-MULTI-NEXT:  {
# ARCH-MULTI-NEXT:    "{{.*}}.archive-multiple(obj)": {
# ARCH-MULTI-NEXT:      "FileSummary": {
# ARCH-MULTI-NEXT:        "File": "{{.*}}.archive-multiple(obj)",
# ARCH-MULTI-NEXT:        "Format": "elf64-x86-64",
# ARCH-MULTI-NEXT:        "Arch": "x86_64",
# ARCH-MULTI-NEXT:        "AddressSize": "64bit",
# ARCH-MULTI-NEXT:        "LoadName": "<Not found>"
# ARCH-MULTI-NEXT:      }
# ARCH-MULTI-NEXT:    }
# ARCH-MULTI-NEXT:  }
# ARCH-MULTI-NEXT:]

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
