xref: /openbmc/qemu/tests/avocado/cpu_queries.py (revision bbbd9b6e)
1*bbbd9b6eSWillian Rampazzo# Sanity check of query-cpu-* results
2*bbbd9b6eSWillian Rampazzo#
3*bbbd9b6eSWillian Rampazzo# Copyright (c) 2019 Red Hat, Inc.
4*bbbd9b6eSWillian Rampazzo#
5*bbbd9b6eSWillian Rampazzo# Author:
6*bbbd9b6eSWillian Rampazzo#  Eduardo Habkost <ehabkost@redhat.com>
7*bbbd9b6eSWillian Rampazzo#
8*bbbd9b6eSWillian Rampazzo# This work is licensed under the terms of the GNU GPL, version 2 or
9*bbbd9b6eSWillian Rampazzo# later.  See the COPYING file in the top-level directory.
10*bbbd9b6eSWillian Rampazzo
11*bbbd9b6eSWillian Rampazzofrom avocado_qemu import Test
12*bbbd9b6eSWillian Rampazzo
13*bbbd9b6eSWillian Rampazzoclass QueryCPUModelExpansion(Test):
14*bbbd9b6eSWillian Rampazzo    """
15*bbbd9b6eSWillian Rampazzo    Run query-cpu-model-expansion for each CPU model, and validate results
16*bbbd9b6eSWillian Rampazzo    """
17*bbbd9b6eSWillian Rampazzo
18*bbbd9b6eSWillian Rampazzo    def test(self):
19*bbbd9b6eSWillian Rampazzo        """
20*bbbd9b6eSWillian Rampazzo        :avocado: tags=arch:x86_64
21*bbbd9b6eSWillian Rampazzo        :avocado: tags=machine:none
22*bbbd9b6eSWillian Rampazzo        """
23*bbbd9b6eSWillian Rampazzo        self.vm.add_args('-S')
24*bbbd9b6eSWillian Rampazzo        self.vm.launch()
25*bbbd9b6eSWillian Rampazzo
26*bbbd9b6eSWillian Rampazzo        cpus = self.vm.command('query-cpu-definitions')
27*bbbd9b6eSWillian Rampazzo        for c in cpus:
28*bbbd9b6eSWillian Rampazzo            self.log.info("Checking CPU: %s", c)
29*bbbd9b6eSWillian Rampazzo            self.assertNotIn('', c['unavailable-features'], c['name'])
30*bbbd9b6eSWillian Rampazzo
31*bbbd9b6eSWillian Rampazzo        for c in cpus:
32*bbbd9b6eSWillian Rampazzo            model = {'name': c['name']}
33*bbbd9b6eSWillian Rampazzo            e = self.vm.command('query-cpu-model-expansion', model=model, type='full')
34*bbbd9b6eSWillian Rampazzo            self.assertEquals(e['model']['name'], c['name'])
35