Hi Cleber, On 3/23/21 11:15 PM, Cleber Rosa wrote: > Even though there are qtest based tests for hotplugging CPUs (from > which this test took some inspiration from), this one adds checks > from a Linux guest point of view. > > It should also serve as an example for tests that follow a similar > pattern and need to interact with QEMU (via qmp) and with the Linux > guest via SSH. > > Signed-off-by: Cleber Rosa <[email protected]> > Reviewed-by: Marc-André Lureau <[email protected]> > Reviewed-by: Willian Rampazzo <[email protected]> Reviewed-by: Eric Auger <[email protected]>
Eric > --- > tests/acceptance/hotplug_cpu.py | 37 +++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100644 tests/acceptance/hotplug_cpu.py > > diff --git a/tests/acceptance/hotplug_cpu.py b/tests/acceptance/hotplug_cpu.py > new file mode 100644 > index 0000000000..6374bf1b54 > --- /dev/null > +++ b/tests/acceptance/hotplug_cpu.py > @@ -0,0 +1,37 @@ > +# Functional test that hotplugs a CPU and checks it on a Linux guest > +# > +# Copyright (c) 2021 Red Hat, Inc. > +# > +# Author: > +# Cleber Rosa <[email protected]> > +# > +# This work is licensed under the terms of the GNU GPL, version 2 or > +# later. See the COPYING file in the top-level directory. > + > +from avocado_qemu import LinuxTest > + > + > +class HotPlugCPU(LinuxTest): > + > + def test(self): > + """ > + :avocado: tags=arch:x86_64 > + :avocado: tags=machine:q35 > + :avocado: tags=accel:kvm > + """ > + self.require_accelerator('kvm') > + self.vm.add_args('-accel', 'kvm') > + self.vm.add_args('-cpu', 'Haswell') > + self.vm.add_args('-smp', '1,sockets=1,cores=2,threads=1,maxcpus=2') > + self.launch_and_wait() > + > + self.ssh_command('test -e /sys/devices/system/cpu/cpu0') > + with self.assertRaises(AssertionError): > + self.ssh_command('test -e /sys/devices/system/cpu/cpu1') > + > + self.vm.command('device_add', > + driver='Haswell-x86_64-cpu', > + socket_id=0, > + core_id=1, > + thread_id=0) > + self.ssh_command('test -e /sys/devices/system/cpu/cpu1') >
