xref: /qemu/tests/avocado/hotplug_cpu.py (revision 684750ab)
1bbbd9b6eSWillian Rampazzo# Functional test that hotplugs a CPU and checks it on a Linux guest
2bbbd9b6eSWillian Rampazzo#
3bbbd9b6eSWillian Rampazzo# Copyright (c) 2021 Red Hat, Inc.
4bbbd9b6eSWillian Rampazzo#
5bbbd9b6eSWillian Rampazzo# Author:
6bbbd9b6eSWillian Rampazzo#  Cleber Rosa <crosa@redhat.com>
7bbbd9b6eSWillian Rampazzo#
8bbbd9b6eSWillian Rampazzo# This work is licensed under the terms of the GNU GPL, version 2 or
9bbbd9b6eSWillian Rampazzo# later.  See the COPYING file in the top-level directory.
10bbbd9b6eSWillian Rampazzo
11bbbd9b6eSWillian Rampazzofrom avocado_qemu import LinuxTest
12bbbd9b6eSWillian Rampazzo
13bbbd9b6eSWillian Rampazzo
14bbbd9b6eSWillian Rampazzoclass HotPlugCPU(LinuxTest):
15bbbd9b6eSWillian Rampazzo
16bbbd9b6eSWillian Rampazzo    def test(self):
17bbbd9b6eSWillian Rampazzo        """
18bbbd9b6eSWillian Rampazzo        :avocado: tags=arch:x86_64
19bbbd9b6eSWillian Rampazzo        :avocado: tags=machine:q35
20bbbd9b6eSWillian Rampazzo        :avocado: tags=accel:kvm
21bbbd9b6eSWillian Rampazzo        """
22bbbd9b6eSWillian Rampazzo        self.require_accelerator('kvm')
23bbbd9b6eSWillian Rampazzo        self.vm.add_args('-accel', 'kvm')
24bbbd9b6eSWillian Rampazzo        self.vm.add_args('-cpu', 'Haswell')
25bbbd9b6eSWillian Rampazzo        self.vm.add_args('-smp', '1,sockets=1,cores=2,threads=1,maxcpus=2')
26bbbd9b6eSWillian Rampazzo        self.launch_and_wait()
27bbbd9b6eSWillian Rampazzo
28bbbd9b6eSWillian Rampazzo        self.ssh_command('test -e /sys/devices/system/cpu/cpu0')
29bbbd9b6eSWillian Rampazzo        with self.assertRaises(AssertionError):
30bbbd9b6eSWillian Rampazzo            self.ssh_command('test -e /sys/devices/system/cpu/cpu1')
31bbbd9b6eSWillian Rampazzo
32684750abSVladimir Sementsov-Ogievskiy        self.vm.cmd('device_add',
33bbbd9b6eSWillian Rampazzo                    driver='Haswell-x86_64-cpu',
34bbbd9b6eSWillian Rampazzo                    socket_id=0,
35bbbd9b6eSWillian Rampazzo                    core_id=1,
36bbbd9b6eSWillian Rampazzo                    thread_id=0)
37bbbd9b6eSWillian Rampazzo        self.ssh_command('test -e /sys/devices/system/cpu/cpu1')
38