All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 9/9] tests: Test case for query-cpu-model-expansion
Date: Wed, 18 Jan 2017 10:39:46 +0100	[thread overview]
Message-ID: <9b1bc94e-f1bf-d166-e796-16410a66bb93@redhat.com> (raw)
In-Reply-To: <20170117010204.4909-10-ehabkost@redhat.com>

Am 17.01.2017 um 02:02 schrieb Eduardo Habkost:
> +    def checkExpansions(self, model, msg):
> +        """Perform multiple expansion operations on model, validate results
> +
> +        @model is a CpuModelExpansionInfo struct, with some extra keys:
> +        * model['runnable'] should be set to True if the CPU model is
> +          runnable on this host
> +        * model['qom-props'] will be set to the full list of properties for
> +          the CPU, if the model is runnable
> +        """
> +        exp_s = self.checkOneExpansion(model, 'static',
> +                                       '%s.static' % (msg))
> +        exp_f = self.checkOneExpansion(model, 'full',
> +                                       '%s.full' % (msg))
> +        exp_ss = self.checkOneExpansion(exp_s, 'static',
> +                                        '%s.static.static' % (msg))
> +        exp_sf = self.checkOneExpansion(exp_s, 'full',
> +                                        '%s.static.full' % (msg))
> +        exp_ff = self.checkOneExpansion(exp_f, 'full',
> +                                        '%s.full.full' % (msg))
> +
> +        # static expansion twice should result in the same data:
> +        self.assertEquals(exp_s, exp_ss, '%s: static != static+static' % (msg))
> +        # full expansion twice should also result in the same data:
> +        self.assertEquals(exp_f, exp_ff, '%s: full != full+full' % (msg))
> +
> +        # migration-safe CPU models have an extra feature:
> +        # their static expansion should be equivalent to the full
> +        # expansion (as their static expansion is also precise)

This is not true for s390x:

"z13-base" is both, static and migration-safe.

Doing a full expansion will expand all features (so your check against
QOM properties should succeed)

Doing a static expansion will expand no features, as z13-base is
already static, so there are no features to expand (no delta changes).

"z13" is only migration-safe.

Doing a full expansion will expand all features.

Doing a static expansion will only expand the features different to
"z13-base". (Remember, delta changes only to minimize reported
features).


And I wonder if that is also true for x86? This should only be true if
the "base" model contains absolutely no features.

> +        if self.isMigrationSafe(model['model']):
> +            self.assertEquals(exp_sf['model']['props'], exp_f['model']['props'],
> +                              '%s: props: static+full != full' % (msg))
> +            self.assertEquals(exp_sf.get('qom-props'), exp_f.get('qom-props'),
> +                              '%s: qom-props: static+full != full' % (msg))


-- 

David

  reply	other threads:[~2017-01-18  9:39 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-17  1:01 [Qemu-devel] [PATCH 0/9] i386: query-cpu-model-expansion test script Eduardo Habkost
2017-01-17  1:01 ` [Qemu-devel] [PATCH 1/9] target-i386: Move "host" properties to base class Eduardo Habkost
2017-01-17  1:01 ` [Qemu-devel] [PATCH 2/9] target-i386: Allow short strings to be used as vendor ID Eduardo Habkost
2017-01-17  1:01 ` [Qemu-devel] [PATCH 3/9] cpu: Support comma escaping when parsing -cpu Eduardo Habkost
2017-01-17  1:01 ` [Qemu-devel] [PATCH 4/9] qemu.py: Make logging optional Eduardo Habkost
2017-01-17  1:02 ` [Qemu-devel] [PATCH 5/9] qtest.py: Support QTEST_LOG environment variable Eduardo Habkost
2017-01-17  1:02 ` [Qemu-devel] [PATCH 6/9] qtest.py: make logging optional Eduardo Habkost
2017-01-17  1:02 ` [Qemu-devel] [PATCH 7/9] qtest.py: Make 'binary' parameter optional Eduardo Habkost
2017-01-17  1:02 ` [Qemu-devel] [PATCH 8/9] tests: Add rules to non-gtester qtest test cases Eduardo Habkost
2017-01-17  1:02 ` [Qemu-devel] [PATCH 9/9] tests: Test case for query-cpu-model-expansion Eduardo Habkost
2017-01-18  9:39   ` David Hildenbrand [this message]
2017-01-18 12:39     ` Eduardo Habkost
2017-01-18 12:42       ` David Hildenbrand
2017-01-17  1:21 ` [Qemu-devel] [PATCH 0/9] i386: query-cpu-model-expansion test script no-reply
2017-01-17 15:22 ` Jason J. Herne
2017-01-18 17:00   ` Eduardo Habkost
2017-01-18 17:09     ` [Qemu-devel] [libvirt] " Jason J. Herne
2017-01-18 17:34       ` Eduardo Habkost
2017-01-18 19:18         ` David Hildenbrand
2017-01-19 10:48           ` Eduardo Habkost
2017-01-19 17:21             ` David Hildenbrand
2017-01-19 17:45               ` Daniel P. Berrange
2017-01-20 14:30                 ` David Hildenbrand
2017-01-20 18:33                   ` Eduardo Habkost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9b1bc94e-f1bf-d166-e796-16410a66bb93@redhat.com \
    --to=david@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.