qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC 17/18] validator.py script


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [RFC 17/18] validator.py script
Date: Wed, 18 Apr 2018 06:22:31 -0300
User-agent: Mutt/1.9.2 (2017-12-15)

On Wed, Apr 18, 2018 at 08:58:00AM +0200, Markus Armbruster wrote:
> Eduardo Habkost <address@hidden> writes:
> 
> > On Tue, Apr 17, 2018 at 02:01:53PM +0200, Markus Armbruster wrote:
> >> Eduardo Habkost <address@hidden> writes:
> [...]
> >> > +    command-line: '$QEMU -nodefaults -machine none'
> >> > +    monitor-commands:
> >> > +    - qmp:
> >> > +      - execute: qom-list-types
> >> > +        arguments:
> >> > +          implements: 'device'
> >> > +          abstract: true
> >> > +    - hmp: 'device_add help'
> [...]
> >> > +monitor-commands
> >> > +~~~~~~~~~~~~~~~~
> >> > +
> >> > +Mapping or list-of-mappings containing monitor commands to run.
> 
> http://yaml.org/spec/1.2/spec.html talks about mappings and sequences.
> Recommend to say "sequence" rather than "list".

Noted.

> 
> I can't see how sequences come into play.  Your example's
> monitor-command is a mapping, not a sequence of mappings.  Am I
> confused?

The example is supposed to be a sequence of mappings.

> 
> >> >                                                                   The 
> >> > key on each
> >> > +item can be ``hmp`` or ``qmp``.  The value on each entry can be a 
> >> > string,
> >> > +mapping, or list.
> >> > +
> >> > +Default: None.
> [...]
> >> Can I do
> >> 
> >>     monitor-commands:
> >>     - qmp:
> >>       - execute: eins
> >>     - hmp: zwei
> >>     - qmp:
> >>       - execute: drei
> >> 
> >> to execute eins, zwei, drei in this order?
> >
> > Yes, it can.  See the test specification examples.
> 
> I asked because the YAML spec I quoted above says mappings are unordered
> and must be unique.  My example violates "unique", and your "yes, it
> can" violates "unordered".
> 
> [...]

The above is a sequence of one-key mappings.


This is a (not very useful) mapping:

>>> yaml.load("""
... qmp:
... - execute: eins
... hmp: zwei
... """)
{'qmp': [{'execute': 'eins'}], 'hmp': 'zwei'}


This is a sequence of one-key mappings:

>>> yaml.load("""
... - qmp:
...   - execute: eins
... - hmp: zwei
... - qmp:
...   - execute: drei
... """)
[{'qmp': [{'execute': 'eins'}]}, {'hmp': 'zwei'}, {'qmp': [{'execute': 
'drei'}]}]
>>>

-- 
Eduardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]