On Wed, 12 Jan 2022 at 10:42, Dr. David Alan Gilbert <[email protected]> wrote: > > * Peter Maydell ([email protected]) wrote: > > Does 'make check' definitely do the traversal for all vmstate > > structs, or do we need to add a "sanity check them all on startup" > > bit of test code ? > > Oh I doubt it does; some vmsd's are conditional on guest state, many are > only on particular machine types. > > I think the closest we have to being able to walk the tree, is > --dump-vmstate - although you need to call that for each machine type. > (I forgot to add the canary check in the dump-vmstate code, I'll fix > that).
We could have vmstate_register_with_alias_id() iterate through and assert presence of the right terminator (probably only if qtest enabled, or some other suitable condition). Then the existing tests that do the basic "check we can instantiate every device and initialize every board model" would run that code and catch most missing terminator cases, I think. -- PMM
