[PATCH] D86283: [llvm-readelf][test] - Refine the merged.test

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 21 02:50:18 PDT 2020


grimar updated this revision to Diff 286979.
grimar marked an inline comment as done.
grimar added a comment.

- Addressed review comment.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86283/new/

https://reviews.llvm.org/D86283

Files:
  llvm/test/tools/llvm-readobj/ELF/merged.test


Index: llvm/test/tools/llvm-readobj/ELF/merged.test
===================================================================
--- llvm/test/tools/llvm-readobj/ELF/merged.test
+++ llvm/test/tools/llvm-readobj/ELF/merged.test
@@ -1,13 +1,59 @@
+## In this test we check that short command line options can be merged.
+
 ## Check merged args produce identical output to when not merged.
-# RUN: llvm-readelf -aeWhSrnudlVgIs %p/Inputs/trivial.obj.elf-i386 > %t.merged
-# RUN: llvm-readelf -a -e -W -h -S -r -n -u -d -l -V -g -I -s %p/Inputs/trivial.obj.elf-i386 > %t.not-merged
+# RUN: yaml2obj %s -o %t.o
+# RUN: llvm-readelf -aeWhSrnudlVgIs %t.o > %t.merged
+# RUN: llvm-readelf -a -e -W -h -S -r -n -u -d -l -V -g -I -s %t.o > %t.not-merged
 # RUN: cmp %t.merged %t.not-merged
 # RUN: FileCheck %s --input-file %t.merged
 
+## Check that the output without -a (--all) option is the same. We do it
+## to verify that each of the options is handled, and not just the first
+## one nor just -a, which triggers all other options.
+# RUN: llvm-readelf -eWhSrnudlVgIs %t.o > %t.merged.no.a
+# RUN: cmp %t.merged %t.merged.no.a
+
+## -e (--headers) is equivalent to setting --file-headers (-h),
+## --program-headers (-l) and --section-headers (-S).
+## Check that the output without -e is equal to the output with it.
+## We do not use -a in this test either.
+# RUN: llvm-readelf -WhSrnudlVgIs %t.o > %t.merged.no.ae
+# RUN: cmp %t.merged %t.merged.no.ae
+
+## An arbitrary YAML description that triggers an output for each of
+## the short option from the test sequence.
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_EXEC
+  Machine: EM_X86_64
+Sections:
+  - Name:    .note.ABI-tag
+    Type:    SHT_NOTE
+## An arbitrary valid note content.
+    Content: 040000001000000001000000474E550000000000020000000600000020000000
+  - Name: .eh_frame
+    Type: SHT_PROGBITS
+  - Name:    .dynamic
+    Type:    SHT_DYNAMIC
+    Entries:
+      - Tag:   DT_NULL
+        Value: 0
+  - Name:    .gnu.version
+    Type:    SHT_GNU_versym
+    Flags:   [ SHF_ALLOC ]
+    Link:    .dynsym
+    Entries: [ 0, 1 ]
+DynamicSymbols:
+  - Name:    foo
+    Binding: STB_GLOBAL
+
 ## llvm-readobj does not support merged args, because it also supports some old
 ## flags (-st, -sd, etc.), and it would be confusing if only some merged args
 ## were supported.
-# RUN: not llvm-readobj -aeWhSrnudlVgIs %p/Inputs/trivial.obj.elf-i386 2>&1 | FileCheck %s --check-prefix=UNKNOWN
+# RUN: not llvm-readobj -aeWhSrnudlVgIs %t.o 2>&1 | FileCheck %s --check-prefix=UNKNOWN
 
 # CHECK-NOT: Unknown command line argument
 # UNKNOWN:   for the --section-headers option: may only occur zero or one times!


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86283.286979.patch
Type: text/x-patch
Size: 2705 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200821/d5c99e6f/attachment.bin>


More information about the llvm-commits mailing list