[OptTable] Fix typo VALUE => VALUES (NFCI) (#121523)
[llvm-project.git] / llvm / test / tools / llvm-objcopy / wasm / add-section.test
blob1a0df092dc7c44afed44378efbcefd1183f0f348
1 ## Test --add-section. This test dumps and removes the section first and checks
2 ## that adding it back doesn't change the result.
3 # RUN: yaml2obj %s -o %t
4 # RUN: llvm-objcopy --dump-section=producers=%t.sec --remove-section=producers %t %t2
5 # RUN: llvm-objcopy --add-section=producers=%t.sec %t2 %t3
6 # RUN: obj2yaml %t3 | FileCheck %s
8 ## Check that the producers section has been added back unchanged.
9 # CHECK:      Name: producers
10 # CHECK-NEXT: Tools:
11 # CHECK-NEXT:  - Name:    clang
12 # CHECK-NEXT:    Version: 9.0.0
14 # Check that the section is replaced with new content in one invocation.
15 # RUN: echo "123" > %t4
16 # RUN: llvm-objcopy --remove-section=foo --add-section=foo=%t4 %t %t5
17 # RUN: obj2yaml %t5 | FileCheck %s --check-prefix=REPLACE
19 # REPLACE: - Type:  CUSTOM
20 # REPLACE:   Name:    foo
21 # REPLACE:   Payload: 3132330A
23 ## Check that raw data bytes can be imported and exported unchanged especially the ones containing empty bytes.
24 # RUN: echo -e -n "\x02\x01\x00\x01\x02" > %t6
25 # RUN: llvm-objcopy --add-section=bar=%t6 %t %t7
26 # RUN: llvm-objcopy --dump-section=bar=%t8 %t7
27 # RUN: diff %t8 %t6
28 # RUN: obj2yaml %t7 | FileCheck %s --check-prefix=RAW-DATA
30 ## Check that raw data is well formated in the file as well.
31 # RAW-DATA:      Name: bar
32 # RAW-DATA-NEXT: Payload: '0201000102'
34 --- !WASM
35 FileHeader:
36   Version: 0x00000001
37 Sections:
38   - Type: TYPE
39     Signatures:
40       - Index: 0
41         ParamTypes:
42           - I32
43         ReturnTypes:
44           - F32
45       - Index: 1
46         ParamTypes:
47           - I32
48           - I64
49         ReturnTypes: []
50   - Type: FUNCTION
51     FunctionTypes:
52       - 0
53       - 1
54   - Type: CODE
55     Relocations:
56       - Type: R_WASM_TABLE_INDEX_SLEB
57         Index: 0
58         Offset: 0x00000000
59       - Type: R_WASM_FUNCTION_INDEX_LEB
60         Index: 1
61         Offset: 0x0000000
62     Functions:
63       - Index: 0
64         Locals:
65          - Type: I32
66            Count: 3
67         Body: 010101010B
68       - Index: 1
69         Locals:
70          - Type:  I32
71            Count: 1
72         Body: 010101010B
73   - Type: CUSTOM
74     Name: linking
75     Version: 2
76     SymbolTable:
77       - Index:    0
78         Kind:     FUNCTION
79         Name:     func1
80         Flags:    [  ]
81         Function: 0
82       - Index:    1
83         Kind:     FUNCTION
84         Name:     func2
85         Flags:    [  ]
86         Function: 1
87   - Type: CUSTOM
88     Name: producers
89     Tools:
90       - Name:   clang
91         Version: 9.0.0
92   - Type: CUSTOM
93     Name: foo
94     Payload: ABC123