[PATCH] D93753: [obj2yaml][test] - Improve and fix section-group.yaml test.
George Rimar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 23 02:44:21 PST 2020
grimar created this revision.
grimar added reviewers: jhenderson, MaskRay.
Herald added a subscriber: emaste.
Herald added a reviewer: espindola.
grimar requested review of this revision.
Herald added a project: LLVM.
It has multiple issues fixed by this patch:
1. It shouldn't test how llvm-readelf/yaml2obj works.
2. It should use "-NEXT" prefix for check lines.
3. It can use YAML macros, that allows to use a single YAML.
4. It should probably test the case when a group member is a null section.
https://reviews.llvm.org/D93753
Files:
llvm/test/tools/obj2yaml/ELF/section-group.yaml
Index: llvm/test/tools/obj2yaml/ELF/section-group.yaml
===================================================================
--- llvm/test/tools/obj2yaml/ELF/section-group.yaml
+++ llvm/test/tools/obj2yaml/ELF/section-group.yaml
@@ -1,30 +1,17 @@
## Checks that the tool is able to read section groups from ELF.
-# RUN: yaml2obj --docnum=1 %s -o %t1.o
-# RUN: llvm-readobj --elf-section-groups %t1.o | FileCheck %s -check-prefix=OBJ
-# RUN: obj2yaml %t1.o | FileCheck %s --check-prefix YAML
-
-# OBJ: Groups {
-# OBJ-NEXT: Group {
-# OBJ-NEXT: Name: .group
-# OBJ-NEXT: Index: 1
-# OBJ-NEXT: Link: 3
-# OBJ-NEXT: Info: 1
-# OBJ-NEXT: Type: COMDAT (0x1)
-# OBJ-NEXT: Signature: signature
-# OBJ-NEXT: Section(s) in group [
-# OBJ-NEXT: .rodata (2)
-# OBJ-NEXT: ]
-# OBJ-NEXT: }
-# OBJ-NEXT: }
-
-# YAML: - Name: .group
-# YAML: Type: SHT_GROUP
-# YAML: Link: .symtab
-# YAML: Info: signature
-# YAML: Members:
-# YAML: - SectionOrType: GRP_COMDAT
-# YAML: - SectionOrType: .rodata
+# RUN: yaml2obj %s -o %t1.o
+# RUN: obj2yaml %t1.o | FileCheck %s -DSEC=.rodata
+
+# CHECK: - Name: .group
+# CHECK-NEXT: Type: SHT_GROUP
+# CHECK-NEXT: Link: .symtab
+# CHECK-NEXT: EntSize: 0x4
+# CHECK-NEXT: Info: signature
+# CHECK-NEXT: Members:
+# CHECK-NEXT: - SectionOrType: GRP_COMDAT
+# CHECK-NEXT: - SectionOrType: [[SEC]]
+# CHECK-NEXT: - Name:
--- !ELF
FileHeader:
@@ -35,10 +22,10 @@
- Name: .group
Type: SHT_GROUP
Link: .symtab
- Info: signature
+ Info: [[INFO=signature]]
Members:
- SectionOrType: GRP_COMDAT
- - SectionOrType: .rodata
+ - SectionOrType: [[SEC=.rodata]]
- Name: .rodata
Type: SHT_PROGBITS
Symbols:
@@ -46,24 +33,16 @@
Type: STT_OBJECT
Section: .rodata
+## Check we are able to dump members of the SHT_GROUP section even when
+## one of them has section index 0.
+
+# RUN: yaml2obj -DSEC=0 %s -o %tnull.o
+# RUN: obj2yaml %tnull.o | FileCheck %s -DSEC="''"
+
## Check obj2yaml report an error when sh_info field of
## group section contains invalid (too large) signature symbol index.
-# RUN: yaml2obj --docnum=2 %s -o %t2.o
-# RUN: not obj2yaml %t2.o 2>&1 | FileCheck %s --check-prefix ERR
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
-Sections:
- - Name: .group
- Type: SHT_GROUP
- Link: .symtab
- Info: 0xFF
- Members:
- - SectionOrType: GRP_COMDAT
-Symbols: []
+# RUN: yaml2obj -DINFO=0xFF %s -o %t2.o
+# RUN: not obj2yaml %t2.o 2>&1 | FileCheck %s -DFILE=%t2.o --check-prefix=ERR
-# ERR: Error reading file: {{.*}}2.o: unable to get symbol from section [index 2]: invalid symbol index (255)
+# ERR: Error reading file: [[FILE]]: unable to get symbol from section [index 3]: invalid symbol index (255)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93753.313519.patch
Type: text/x-patch
Size: 2850 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201223/235db11a/attachment.bin>
More information about the llvm-commits
mailing list