All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cleber Rosa <crosa@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Fam Zheng" <fam@euphon.net>,
	"Aleksandar Rikalo" <aleksandar.rikalo@syrmia.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Max Reitz" <mreitz@redhat.com>,
	"Willian Rampazzo" <willianr@redhat.com>,
	"Eric Auger" <eauger@redhat.com>, "John Snow" <jsnow@redhat.com>,
	"Willian Rampazzo" <wrampazz@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Aurelien Jarno" <aurelien@aurel32.net>,
	"Beraldo Leal" <bleal@redhat.com>
Subject: [PATCH v2 10/10] Acceptance Tests: introduce CPU hotplug test
Date: Tue, 23 Mar 2021 18:15:39 -0400	[thread overview]
Message-ID: <20210323221539.3532660-11-crosa@redhat.com> (raw)
In-Reply-To: <20210323221539.3532660-1-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>
---
 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 <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.25.4



  parent reply	other threads:[~2021-03-23 22:26 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-23 22:15 [PATCH v2 00/10] Acceptance Test: introduce base class for Linux based tests Cleber Rosa
2021-03-23 22:15 ` [PATCH v2 01/10] tests/acceptance/virtiofs_submounts.py: add missing accel tag Cleber Rosa
2021-03-24  8:45   ` Auger Eric
2021-03-23 22:15 ` [PATCH v2 02/10] tests/acceptance/virtiofs_submounts.py: evaluate string not length Cleber Rosa
2021-03-24  8:45   ` Auger Eric
2021-03-24 19:54   ` Willian Rampazzo
2021-03-23 22:15 ` [PATCH v2 03/10] Python: add utility function for retrieving port redirection Cleber Rosa
2021-03-24  8:58   ` Auger Eric
2021-03-24 20:35   ` Willian Rampazzo
2021-03-24 21:58     ` Cleber Rosa
2021-03-25 18:10   ` John Snow
2021-04-12  2:09     ` Cleber Rosa
2021-05-13 19:16       ` John Snow
2021-03-23 22:15 ` [PATCH v2 04/10] Acceptance Tests: move useful ssh methods to base class Cleber Rosa
2021-03-24  9:07   ` Auger Eric
2021-03-24 22:23     ` Cleber Rosa
2021-03-25 12:50       ` Auger Eric
2021-03-25 17:43         ` Wainer dos Santos Moschetta
2021-04-12  2:18     ` Cleber Rosa
2021-03-23 22:15 ` [PATCH v2 05/10] Acceptance Tests: add port redirection for ssh by default Cleber Rosa
2021-03-24  8:30   ` Marc-André Lureau
2021-03-24 22:28     ` Cleber Rosa
2021-03-24  9:10   ` Auger Eric
2021-03-24 22:27     ` Cleber Rosa
2021-03-25 17:57     ` Wainer dos Santos Moschetta
2021-04-12  2:47       ` Cleber Rosa
2021-03-24 10:36   ` Auger Eric
2021-03-24 22:40     ` Cleber Rosa
2021-03-24 20:39   ` Willian Rampazzo
2021-03-23 22:15 ` [PATCH v2 06/10] Acceptance Tests: make username/password configurable Cleber Rosa
2021-03-24  8:31   ` Marc-André Lureau
2021-03-24  9:18   ` Auger Eric
2021-03-24 20:43   ` Willian Rampazzo
2021-03-23 22:15 ` [PATCH v2 07/10] Acceptance Tests: set up SSH connection by default after boot for LinuxTest Cleber Rosa
2021-03-24  8:33   ` Marc-André Lureau
2021-03-24  9:22   ` Auger Eric
2021-03-24 22:45     ` Cleber Rosa
2021-03-24 20:45   ` Willian Rampazzo
2021-03-25 14:31   ` Wainer dos Santos Moschetta
2021-03-25 14:53     ` Wainer dos Santos Moschetta
2021-03-23 22:15 ` [PATCH v2 08/10] tests/acceptance/virtiofs_submounts.py: remove launch_vm() Cleber Rosa
2021-03-24  8:34   ` Marc-André Lureau
2021-03-24  9:24   ` Auger Eric
2021-03-24 20:46   ` Willian Rampazzo
2021-03-23 22:15 ` [PATCH v2 09/10] Acceptance Tests: add basic documentation on LinuxTest base class Cleber Rosa
2021-03-24  9:25   ` Auger Eric
2021-03-25 18:14   ` Wainer dos Santos Moschetta
2021-04-12  2:59     ` Cleber Rosa
2021-03-23 22:15 ` Cleber Rosa [this message]
2021-03-24  9:29   ` [PATCH v2 10/10] Acceptance Tests: introduce CPU hotplug test Auger Eric
2021-03-25 19:45 ` [PATCH v2 00/10] Acceptance Test: introduce base class for Linux based tests Wainer dos Santos Moschetta
2021-03-26  8:06   ` Auger Eric
2021-04-12  3:22   ` Cleber Rosa

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=20210323221539.3532660-11-crosa@redhat.com \
    --to=crosa@redhat.com \
    --cc=aleksandar.rikalo@syrmia.com \
    --cc=alex.bennee@linaro.org \
    --cc=aurelien@aurel32.net \
    --cc=bleal@redhat.com \
    --cc=eauger@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=fam@euphon.net \
    --cc=jsnow@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    --cc=willianr@redhat.com \
    --cc=wrampazz@redhat.com \
    /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.