| ## We have a special "<none>" value for all keys that are implemented |
| ## as Optional<> in the code. Setting a key to "<none>" means no-op and |
| ## works in the same way as when a field was not specified at all. |
| |
| ## Test a few keys for which the "<none>" value is supported. |
| ## We do not test all possible keys, because it would be too verbose. |
| ## It reasonable to test all keys for a section, because normally many |
| ## of them would conflict or intersect when specified together. |
| # RUN: yaml2obj %s --docnum=1 -o %t-none |
| # RUN: yaml2obj %s --docnum=2 -o %t-base |
| # RUN: cmp %t-none %t-base |
| |
| ## We do not use the TEST macro. It exists to |
| ## demonstrate the expected use case for the <none> word. |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Sections: |
| - Name: .bar |
| Type: SHT_PROGBITS |
| Flags: [[TEST=<none>]] ## Comment |
| Offset: [[TEST=<none>]] |
| Address: [[TEST=<none>]] |
| Content: [[TEST=<none>]] |
| Size: [[TEST=<none>]] |
| ContentArray: [[TEST=<none>]] |
| Info: [[TEST=<none>]] |
| EntSize: [[TEST=<none>]] |
| ShName: [[TEST=<none>]] |
| ShOffset: [[TEST=<none>]] |
| ShSize: [[TEST=<none>]] |
| ShFlags: [[TEST=<none>]] |
| |
| ## The same document, but all fields that were set to <none> are removed. |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Sections: |
| - Name: .bar |
| Type: SHT_PROGBITS |