103 lines · plain
1## Test how we output JSON file summaries.2 3# RUN: rm -rf %t.dir4# RUN: mkdir -p %t.dir5# RUN: yaml2obj %s -o %t.dir/obj6 7## Test outputting file summary for a single file.8# RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.dir/obj | \9# RUN: FileCheck %s --check-prefix=SINGLE \10# RUN: --match-full-lines --strict-whitespace --implicit-check-not={{.}}11 12# SINGLE:[13# SINGLE-NEXT: {14# SINGLE-NEXT: "FileSummary": {15# SINGLE-NEXT: "File": "{{.*}}/obj",16# SINGLE-NEXT: "Format": "elf64-x86-64",17# SINGLE-NEXT: "Arch": "x86_64",18# SINGLE-NEXT: "AddressSize": "64bit",19# SINGLE-NEXT: "LoadName": "<Not found>"20# SINGLE-NEXT: }21# SINGLE-NEXT: }22# SINGLE-NEXT:]23 24## Test outputting file summary for multiple files.25# RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.dir/obj %t.dir/obj | \26# RUN: FileCheck %s --check-prefix=MULTI \27# RUN: --match-full-lines --strict-whitespace --implicit-check-not={{.}}28 29# MULTI:[30# MULTI-NEXT: {31# MULTI-NEXT: "FileSummary": {32# MULTI-NEXT: "File": "{{.*}}/obj",33# MULTI-NEXT: "Format": "elf64-x86-64",34# MULTI-NEXT: "Arch": "x86_64",35# MULTI-NEXT: "AddressSize": "64bit",36# MULTI-NEXT: "LoadName": "<Not found>"37# MULTI-NEXT: }38# MULTI-NEXT: },39# MULTI-NEXT: {40# MULTI-NEXT: "FileSummary": {41# MULTI-NEXT: "File": "{{.*}}/obj",42# MULTI-NEXT: "Format": "elf64-x86-64",43# MULTI-NEXT: "Arch": "x86_64",44# MULTI-NEXT: "AddressSize": "64bit",45# MULTI-NEXT: "LoadName": "<Not found>"46# MULTI-NEXT: }47# MULTI-NEXT: }48# MULTI-NEXT:]49 50## Test outputting file summary for an archive with a single file.51# RUN: rm -f %t.archive-single52# RUN: llvm-ar rc %t.archive-single %t.dir/obj53# RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.archive-single | \54# RUN: FileCheck %s --check-prefix=ARCH-SINGLE \55# RUN: --match-full-lines --strict-whitespace --implicit-check-not={{.}}56 57# ARCH-SINGLE:[58# ARCH-SINGLE-NEXT: {59# ARCH-SINGLE-NEXT: "FileSummary": {60# ARCH-SINGLE-NEXT: "File": "{{.*}}.archive-single(obj)",61# ARCH-SINGLE-NEXT: "Format": "elf64-x86-64",62# ARCH-SINGLE-NEXT: "Arch": "x86_64",63# ARCH-SINGLE-NEXT: "AddressSize": "64bit",64# ARCH-SINGLE-NEXT: "LoadName": "<Not found>"65# ARCH-SINGLE-NEXT: }66# ARCH-SINGLE-NEXT: }67# ARCH-SINGLE-NEXT:]68 69## Test outputting file summary for an archive with multiple files.70# RUN: rm -f %t.archive-multiple71# RUN: llvm-ar rc %t.archive-multiple %t.dir/obj %t.dir/obj72# RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.archive-multiple | \73# RUN: FileCheck %s --check-prefix=ARCH-MULTI \74# RUN: --match-full-lines --strict-whitespace --implicit-check-not={{.}}75 76# ARCH-MULTI:[77# ARCH-MULTI-NEXT: {78# ARCH-MULTI-NEXT: "FileSummary": {79# ARCH-MULTI-NEXT: "File": "{{.*}}.archive-multiple(obj)",80# ARCH-MULTI-NEXT: "Format": "elf64-x86-64",81# ARCH-MULTI-NEXT: "Arch": "x86_64",82# ARCH-MULTI-NEXT: "AddressSize": "64bit",83# ARCH-MULTI-NEXT: "LoadName": "<Not found>"84# ARCH-MULTI-NEXT: }85# ARCH-MULTI-NEXT: },86# ARCH-MULTI-NEXT: {87# ARCH-MULTI-NEXT: "FileSummary": {88# ARCH-MULTI-NEXT: "File": "{{.*}}.archive-multiple(obj)",89# ARCH-MULTI-NEXT: "Format": "elf64-x86-64",90# ARCH-MULTI-NEXT: "Arch": "x86_64",91# ARCH-MULTI-NEXT: "AddressSize": "64bit",92# ARCH-MULTI-NEXT: "LoadName": "<Not found>"93# ARCH-MULTI-NEXT: }94# ARCH-MULTI-NEXT: }95# ARCH-MULTI-NEXT:]96 97--- !ELF98FileHeader:99 Class: ELFCLASS64100 Data: ELFDATA2LSB101 Type: ET_REL102 Machine: EM_X86_64103