[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 11/44] Acceptance Tests: introduce CPU hotplug test
From: |
John Snow |
Subject: |
[PULL 11/44] Acceptance Tests: introduce CPU hotplug test |
Date: |
Thu, 27 May 2021 22:31:47 -0400 |
From: Cleber Rosa <crosa@redhat.com>
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 <crosa@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-Id: <20210412044644.55083-11-crosa@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
---
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 00000000000..6374bf1b546
--- /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 <crosa@redhat.com>
+#
+# 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')
--
2.31.1
- [PULL 01/44] Python: expose QEMUMachine's temporary directory, (continued)
- [PULL 01/44] Python: expose QEMUMachine's temporary directory, John Snow, 2021/05/27
- [PULL 02/44] tests/acceptance/virtiofs_submounts.py: add missing accel tag, John Snow, 2021/05/27
- [PULL 03/44] tests/acceptance/virtiofs_submounts.py: evaluate string not length, John Snow, 2021/05/27
- [PULL 04/44] Python: add utility function for retrieving port redirection, John Snow, 2021/05/27
- [PULL 05/44] Acceptance Tests: move useful ssh methods to base class, John Snow, 2021/05/27
- [PULL 06/44] Acceptance Tests: add port redirection for ssh by default, John Snow, 2021/05/27
- [PULL 07/44] Acceptance Tests: make username/password configurable, John Snow, 2021/05/27
- [PULL 08/44] Acceptance Tests: set up SSH connection by default after boot for LinuxTest, John Snow, 2021/05/27
- [PULL 09/44] tests/acceptance/virtiofs_submounts.py: remove launch_vm(), John Snow, 2021/05/27
- [PULL 10/44] Acceptance Tests: add basic documentation on LinuxTest base class, John Snow, 2021/05/27
- [PULL 11/44] Acceptance Tests: introduce CPU hotplug test,
John Snow <=
- [PULL 12/44] tests/acceptance/virtiofs_submounts.py: fix setup of SSH pubkey, John Snow, 2021/05/27
- [PULL 14/44] python/console_socket: avoid one-letter variable, John Snow, 2021/05/27
- [PULL 13/44] acceptance tests: bump Avocado version to 88.1, John Snow, 2021/05/27
- [PULL 15/44] python/machine: use subprocess.DEVNULL instead of open(os.path.devnull), John Snow, 2021/05/27
- [PULL 16/44] python/machine: use subprocess.run instead of subprocess.Popen, John Snow, 2021/05/27
- [PULL 17/44] python/console_socket: Add a pylint ignore, John Snow, 2021/05/27
- [PULL 18/44] python/machine: Disable pylint warning for open() in _pre_launch, John Snow, 2021/05/27
- [PULL 21/44] iotests/297: add --namespace-packages to mypy arguments, John Snow, 2021/05/27
- [PULL 19/44] python/machine: disable warning for Popen in _launch(), John Snow, 2021/05/27
- [PULL 20/44] python/machine: Trim line length to below 80 chars, John Snow, 2021/05/27