@@ -22,6 +22,7 @@ testing.
2222 - [ Common output formats] ( #common-output-formats )
2323 - [ Special output parts] ( #special-output-parts )
2424 - [ ` meta.yaml ` ] ( #metayaml )
25+ - [ ` manifest.yaml ` ] ( #manifestyaml )
2526 - [ ` config.yaml ` ] ( #configyaml )
2627- [ Config sourcing] ( #config-sourcing )
2728- [ Note for implementers] ( #note-for-implementers )
@@ -213,6 +214,28 @@ bls_setting: int -- optional, can have 3 different values:
213214 2: known as "BLS ignored" - if the test validity is strictly dependent on BLS being OFF
214215```
215216
217+ ##### ` manifest.yaml `
218+
219+ Included in every test case. Contains metadata that identifies the test vector:
220+
221+ ``` yaml
222+ config_name : minimal # Configuration preset (mainnet, minimal, general)
223+ fork_name : phase0 # Fork/phase name
224+ runner_name : bls # Test runner category
225+ handler_name : eth_aggregate_pubkeys # Specific handler
226+ suite_name : bls # Test suite name
227+ case_name : eth_aggregate_pubkeys_valid_0 # Individual test case name
228+ ` ` `
229+
230+ This metadata duplicates what is already encoded in the directory path:
231+
232+ ` ` `
233+ tests/<config_name>/<fork_name>/<runner_name>/<handler_name>/<suite_name>/<case_name>/
234+ ```
235+
236+ Having it in a file means test vectors can be moved or distributed without
237+ losing context.
238+
216239##### ` config.yaml `
217240
218241The runtime-configurables may be different for specific tests. When present,
@@ -247,13 +270,13 @@ The basic pattern for test-suite loading and running is:
247270
2482711 . For a specific config, load it first (and only need to do so once), then
249272 continue with the tests defined in the config folder.
250- 2 . Select a fork. Repeat for each fork if running tests for multiple forks.
251- 3 . Select the category and specialization of interest (e.g.
273+ 1 . Select a fork. Repeat for each fork if running tests for multiple forks.
274+ 1 . Select the category and specialization of interest (e.g.
252275 ` operations > deposits ` ). Again, repeat for each if running all.
253- 4 . Select a test suite. Or repeat for each.
254- 5 . Select a test case. Or repeat for each.
255- 6 . Load the parts of the case. And ` meta.yaml ` if present.
256- 7 . Run the test, as defined by the test format.
276+ 1 . Select a test suite. Or repeat for each.
277+ 1 . Select a test case. Or repeat for each.
278+ 1 . Load the parts of the case. ` manifest.yaml ` and ` meta.yaml ` if present.
279+ 1 . Run the test, as defined by the test format.
257280
258281Step 1 may be a step with compile time selection of a configuration, if desired
259282for optimization. The base requirement is just to use the same set of constants,
0 commit comments