diff mbox series

[2/3] tests/x86: Use 'pc' machine type for hotplug tests

Message ID 20220215162537.605030-3-dgilbert@redhat.com (mailing list archive)
State New, archived
Headers show
Series x86: Switch over to q35 as the default machine type | expand

Commit Message

Dr. David Alan Gilbert Feb. 15, 2022, 4:25 p.m. UTC
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

Hotplug tests need a bridge setting up on q35, for now
keep them on 'pc'.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 tests/qtest/device-plug-test.c | 20 +++++++++++++++++--
 tests/qtest/drive_del-test.c   | 35 +++++++++++++++++++++++++++++-----
 tests/qtest/hd-geo-test.c      |  4 ++--
 tests/qtest/ivshmem-test.c     |  7 ++++++-
 4 files changed, 56 insertions(+), 10 deletions(-)

Comments

Thomas Huth Feb. 17, 2022, 8:09 a.m. UTC | #1
On 15/02/2022 17.25, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 
> Hotplug tests need a bridge setting up on q35, for now
> keep them on 'pc'.
> 
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
>   tests/qtest/device-plug-test.c | 20 +++++++++++++++++--
>   tests/qtest/drive_del-test.c   | 35 +++++++++++++++++++++++++++++-----
>   tests/qtest/hd-geo-test.c      |  4 ++--
>   tests/qtest/ivshmem-test.c     |  7 ++++++-
>   4 files changed, 56 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/qtest/device-plug-test.c b/tests/qtest/device-plug-test.c
> index ad79bd4c14..404a92e132 100644
> --- a/tests/qtest/device-plug-test.c
> +++ b/tests/qtest/device-plug-test.c
> @@ -63,7 +63,15 @@ static void wait_device_deleted_event(QTestState *qtest, const char *id)
>   
>   static void test_pci_unplug_request(void)
>   {
> -    QTestState *qtest = qtest_initf("-device virtio-mouse-pci,id=dev0");
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
> +
> +    QTestState *qtest = qtest_initf("%s -device virtio-mouse-pci,id=dev0",
> +                                    machine_addition);
>   
>       /*
>        * Request device removal. As the guest is not running, the request won't
> @@ -79,8 +87,16 @@ static void test_pci_unplug_request(void)
>   
>   static void test_pci_unplug_json_request(void)
>   {
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
> +
>       QTestState *qtest = qtest_initf(
> -        "-device '{\"driver\": \"virtio-mouse-pci\", \"id\": \"dev0\"}'");
> +        "%s -device '{\"driver\": \"virtio-mouse-pci\", \"id\": \"dev0\"}'",
> +        machine_addition);
>   
>       /*
>        * Request device removal. As the guest is not running, the request won't
> diff --git a/tests/qtest/drive_del-test.c b/tests/qtest/drive_del-test.c
> index 8d08ee9995..0cc18dfa4a 100644
> --- a/tests/qtest/drive_del-test.c
> +++ b/tests/qtest/drive_del-test.c
> @@ -235,14 +235,21 @@ static void test_drive_del_device_del(void)
>   static void test_cli_device_del(void)
>   {
>       QTestState *qts;
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
>   
>       /*
>        * -drive/-device and device_del.  Start with a drive used by a
>        * device that unplugs after reset.
>        */
> -    qts = qtest_initf("-drive if=none,id=drive0,file=null-co://,"
> +    qts = qtest_initf("%s -drive if=none,id=drive0,file=null-co://,"
>                         "file.read-zeroes=on,format=raw"
>                         " -device virtio-blk-%s,drive=drive0,id=dev0",
> +                      machine_addition,
>                         qvirtio_get_dev_type());
>   
>       device_del(qts, true);
> @@ -266,13 +273,19 @@ static void test_empty_device_del(void)
>   static void test_device_add_and_del(void)
>   {
>       QTestState *qts;
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
>   
>       /*
>        * -drive/device_add and device_del.  Start with a drive used by a
>        * device that unplugs after reset.
>        */
> -    qts = qtest_init("-drive if=none,id=drive0,file=null-co://,"
> -                     "file.read-zeroes=on,format=raw");
> +    qts = qtest_initf("%s -drive if=none,id=drive0,file=null-co://,"
> +                     "file.read-zeroes=on,format=raw", machine_addition);
>   
>       device_add(qts);
>       device_del(qts, true);
> @@ -284,8 +297,14 @@ static void test_device_add_and_del(void)
>   static void test_drive_add_device_add_and_del(void)
>   {
>       QTestState *qts;
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
>   
> -    qts = qtest_init("");
> +    qts = qtest_init(machine_addition);
>   
>       /*
>        * drive_add/device_add and device_del.  The drive is used by a
> @@ -302,8 +321,14 @@ static void test_drive_add_device_add_and_del(void)
>   static void test_blockdev_add_device_add_and_del(void)
>   {
>       QTestState *qts;
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
>   
> -    qts = qtest_init("");
> +    qts = qtest_init(machine_addition);
>   
>       /*
>        * blockdev_add/device_add and device_del.  The it drive is used by a
> diff --git a/tests/qtest/hd-geo-test.c b/tests/qtest/hd-geo-test.c
> index 3554b5d500..64023c0574 100644
> --- a/tests/qtest/hd-geo-test.c
> +++ b/tests/qtest/hd-geo-test.c
> @@ -839,7 +839,7 @@ static void test_override_scsi_hot_unplug(void)
>   
>       joined_args = g_strjoinv(" ", args->argv);
>   
> -    qts = qtest_init(joined_args);
> +    qts = qtest_initf("-machine pc %s", joined_args);
>       fw_cfg = pc_fw_cfg_init(qts);
>   
>       read_bootdevices(fw_cfg, expected);
> @@ -899,7 +899,7 @@ static void test_override_virtio_hot_unplug(void)
>   
>       joined_args = g_strjoinv(" ", args->argv);
>   
> -    qts = qtest_init(joined_args);
> +    qts = qtest_initf("-machine pc %s", joined_args);
>       fw_cfg = pc_fw_cfg_init(qts);
>   
>       read_bootdevices(fw_cfg, expected);
> diff --git a/tests/qtest/ivshmem-test.c b/tests/qtest/ivshmem-test.c
> index fe94dd3b96..4e8af42a9d 100644
> --- a/tests/qtest/ivshmem-test.c
> +++ b/tests/qtest/ivshmem-test.c
> @@ -385,7 +385,12 @@ static void test_ivshmem_hotplug(void)
>       QTestState *qts;
>       const char *arch = qtest_get_arch();
>   
> -    qts = qtest_init("-object memory-backend-ram,size=1M,id=mb1");
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        qts = qtest_init("-object memory-backend-ram,size=1M,id=mb1"
> +                         " -machine pc");
> +    } else {
> +        qts = qtest_init("-object memory-backend-ram,size=1M,id=mb1");
> +    }
>   
>       qtest_qmp_device_add(qts, "ivshmem-plain", "iv1",
>                            "{'addr': %s, 'memdev': 'mb1'}",

Reviewed-by: Thomas Huth <thuth@redhat.com>
Michael S. Tsirkin Feb. 17, 2022, 8:18 a.m. UTC | #2
On Tue, Feb 15, 2022 at 04:25:32PM +0000, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 
> Hotplug tests need a bridge setting up on q35, for now
> keep them on 'pc'.
> 
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

I'd really much rather we actually tested q35.

> ---
>  tests/qtest/device-plug-test.c | 20 +++++++++++++++++--
>  tests/qtest/drive_del-test.c   | 35 +++++++++++++++++++++++++++++-----
>  tests/qtest/hd-geo-test.c      |  4 ++--
>  tests/qtest/ivshmem-test.c     |  7 ++++++-
>  4 files changed, 56 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/qtest/device-plug-test.c b/tests/qtest/device-plug-test.c
> index ad79bd4c14..404a92e132 100644
> --- a/tests/qtest/device-plug-test.c
> +++ b/tests/qtest/device-plug-test.c
> @@ -63,7 +63,15 @@ static void wait_device_deleted_event(QTestState *qtest, const char *id)
>  
>  static void test_pci_unplug_request(void)
>  {
> -    QTestState *qtest = qtest_initf("-device virtio-mouse-pci,id=dev0");
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
> +
> +    QTestState *qtest = qtest_initf("%s -device virtio-mouse-pci,id=dev0",
> +                                    machine_addition);
>  
>      /*
>       * Request device removal. As the guest is not running, the request won't
> @@ -79,8 +87,16 @@ static void test_pci_unplug_request(void)
>  
>  static void test_pci_unplug_json_request(void)
>  {
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
> +
>      QTestState *qtest = qtest_initf(
> -        "-device '{\"driver\": \"virtio-mouse-pci\", \"id\": \"dev0\"}'");
> +        "%s -device '{\"driver\": \"virtio-mouse-pci\", \"id\": \"dev0\"}'",
> +        machine_addition);
>  
>      /*
>       * Request device removal. As the guest is not running, the request won't
> diff --git a/tests/qtest/drive_del-test.c b/tests/qtest/drive_del-test.c
> index 8d08ee9995..0cc18dfa4a 100644
> --- a/tests/qtest/drive_del-test.c
> +++ b/tests/qtest/drive_del-test.c
> @@ -235,14 +235,21 @@ static void test_drive_del_device_del(void)
>  static void test_cli_device_del(void)
>  {
>      QTestState *qts;
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
>  
>      /*
>       * -drive/-device and device_del.  Start with a drive used by a
>       * device that unplugs after reset.
>       */
> -    qts = qtest_initf("-drive if=none,id=drive0,file=null-co://,"
> +    qts = qtest_initf("%s -drive if=none,id=drive0,file=null-co://,"
>                        "file.read-zeroes=on,format=raw"
>                        " -device virtio-blk-%s,drive=drive0,id=dev0",
> +                      machine_addition,
>                        qvirtio_get_dev_type());
>  
>      device_del(qts, true);
> @@ -266,13 +273,19 @@ static void test_empty_device_del(void)
>  static void test_device_add_and_del(void)
>  {
>      QTestState *qts;
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
>  
>      /*
>       * -drive/device_add and device_del.  Start with a drive used by a
>       * device that unplugs after reset.
>       */
> -    qts = qtest_init("-drive if=none,id=drive0,file=null-co://,"
> -                     "file.read-zeroes=on,format=raw");
> +    qts = qtest_initf("%s -drive if=none,id=drive0,file=null-co://,"
> +                     "file.read-zeroes=on,format=raw", machine_addition);
>  
>      device_add(qts);
>      device_del(qts, true);
> @@ -284,8 +297,14 @@ static void test_device_add_and_del(void)
>  static void test_drive_add_device_add_and_del(void)
>  {
>      QTestState *qts;
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
>  
> -    qts = qtest_init("");
> +    qts = qtest_init(machine_addition);
>  
>      /*
>       * drive_add/device_add and device_del.  The drive is used by a
> @@ -302,8 +321,14 @@ static void test_drive_add_device_add_and_del(void)
>  static void test_blockdev_add_device_add_and_del(void)
>  {
>      QTestState *qts;
> +    const char *arch = qtest_get_arch();
> +    const char *machine_addition = "";
> +
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        machine_addition = "-machine pc";
> +    }
>  
> -    qts = qtest_init("");
> +    qts = qtest_init(machine_addition);
>  
>      /*
>       * blockdev_add/device_add and device_del.  The it drive is used by a
> diff --git a/tests/qtest/hd-geo-test.c b/tests/qtest/hd-geo-test.c
> index 3554b5d500..64023c0574 100644
> --- a/tests/qtest/hd-geo-test.c
> +++ b/tests/qtest/hd-geo-test.c
> @@ -839,7 +839,7 @@ static void test_override_scsi_hot_unplug(void)
>  
>      joined_args = g_strjoinv(" ", args->argv);
>  
> -    qts = qtest_init(joined_args);
> +    qts = qtest_initf("-machine pc %s", joined_args);
>      fw_cfg = pc_fw_cfg_init(qts);
>  
>      read_bootdevices(fw_cfg, expected);
> @@ -899,7 +899,7 @@ static void test_override_virtio_hot_unplug(void)
>  
>      joined_args = g_strjoinv(" ", args->argv);
>  
> -    qts = qtest_init(joined_args);
> +    qts = qtest_initf("-machine pc %s", joined_args);
>      fw_cfg = pc_fw_cfg_init(qts);
>  
>      read_bootdevices(fw_cfg, expected);
> diff --git a/tests/qtest/ivshmem-test.c b/tests/qtest/ivshmem-test.c
> index fe94dd3b96..4e8af42a9d 100644
> --- a/tests/qtest/ivshmem-test.c
> +++ b/tests/qtest/ivshmem-test.c
> @@ -385,7 +385,12 @@ static void test_ivshmem_hotplug(void)
>      QTestState *qts;
>      const char *arch = qtest_get_arch();
>  
> -    qts = qtest_init("-object memory-backend-ram,size=1M,id=mb1");
> +    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> +        qts = qtest_init("-object memory-backend-ram,size=1M,id=mb1"
> +                         " -machine pc");
> +    } else {
> +        qts = qtest_init("-object memory-backend-ram,size=1M,id=mb1");
> +    }
>  
>      qtest_qmp_device_add(qts, "ivshmem-plain", "iv1",
>                           "{'addr': %s, 'memdev': 'mb1'}",
> -- 
> 2.35.1
diff mbox series

Patch

diff --git a/tests/qtest/device-plug-test.c b/tests/qtest/device-plug-test.c
index ad79bd4c14..404a92e132 100644
--- a/tests/qtest/device-plug-test.c
+++ b/tests/qtest/device-plug-test.c
@@ -63,7 +63,15 @@  static void wait_device_deleted_event(QTestState *qtest, const char *id)
 
 static void test_pci_unplug_request(void)
 {
-    QTestState *qtest = qtest_initf("-device virtio-mouse-pci,id=dev0");
+    const char *arch = qtest_get_arch();
+    const char *machine_addition = "";
+
+    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
+        machine_addition = "-machine pc";
+    }
+
+    QTestState *qtest = qtest_initf("%s -device virtio-mouse-pci,id=dev0",
+                                    machine_addition);
 
     /*
      * Request device removal. As the guest is not running, the request won't
@@ -79,8 +87,16 @@  static void test_pci_unplug_request(void)
 
 static void test_pci_unplug_json_request(void)
 {
+    const char *arch = qtest_get_arch();
+    const char *machine_addition = "";
+
+    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
+        machine_addition = "-machine pc";
+    }
+
     QTestState *qtest = qtest_initf(
-        "-device '{\"driver\": \"virtio-mouse-pci\", \"id\": \"dev0\"}'");
+        "%s -device '{\"driver\": \"virtio-mouse-pci\", \"id\": \"dev0\"}'",
+        machine_addition);
 
     /*
      * Request device removal. As the guest is not running, the request won't
diff --git a/tests/qtest/drive_del-test.c b/tests/qtest/drive_del-test.c
index 8d08ee9995..0cc18dfa4a 100644
--- a/tests/qtest/drive_del-test.c
+++ b/tests/qtest/drive_del-test.c
@@ -235,14 +235,21 @@  static void test_drive_del_device_del(void)
 static void test_cli_device_del(void)
 {
     QTestState *qts;
+    const char *arch = qtest_get_arch();
+    const char *machine_addition = "";
+
+    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
+        machine_addition = "-machine pc";
+    }
 
     /*
      * -drive/-device and device_del.  Start with a drive used by a
      * device that unplugs after reset.
      */
-    qts = qtest_initf("-drive if=none,id=drive0,file=null-co://,"
+    qts = qtest_initf("%s -drive if=none,id=drive0,file=null-co://,"
                       "file.read-zeroes=on,format=raw"
                       " -device virtio-blk-%s,drive=drive0,id=dev0",
+                      machine_addition,
                       qvirtio_get_dev_type());
 
     device_del(qts, true);
@@ -266,13 +273,19 @@  static void test_empty_device_del(void)
 static void test_device_add_and_del(void)
 {
     QTestState *qts;
+    const char *arch = qtest_get_arch();
+    const char *machine_addition = "";
+
+    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
+        machine_addition = "-machine pc";
+    }
 
     /*
      * -drive/device_add and device_del.  Start with a drive used by a
      * device that unplugs after reset.
      */
-    qts = qtest_init("-drive if=none,id=drive0,file=null-co://,"
-                     "file.read-zeroes=on,format=raw");
+    qts = qtest_initf("%s -drive if=none,id=drive0,file=null-co://,"
+                     "file.read-zeroes=on,format=raw", machine_addition);
 
     device_add(qts);
     device_del(qts, true);
@@ -284,8 +297,14 @@  static void test_device_add_and_del(void)
 static void test_drive_add_device_add_and_del(void)
 {
     QTestState *qts;
+    const char *arch = qtest_get_arch();
+    const char *machine_addition = "";
+
+    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
+        machine_addition = "-machine pc";
+    }
 
-    qts = qtest_init("");
+    qts = qtest_init(machine_addition);
 
     /*
      * drive_add/device_add and device_del.  The drive is used by a
@@ -302,8 +321,14 @@  static void test_drive_add_device_add_and_del(void)
 static void test_blockdev_add_device_add_and_del(void)
 {
     QTestState *qts;
+    const char *arch = qtest_get_arch();
+    const char *machine_addition = "";
+
+    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
+        machine_addition = "-machine pc";
+    }
 
-    qts = qtest_init("");
+    qts = qtest_init(machine_addition);
 
     /*
      * blockdev_add/device_add and device_del.  The it drive is used by a
diff --git a/tests/qtest/hd-geo-test.c b/tests/qtest/hd-geo-test.c
index 3554b5d500..64023c0574 100644
--- a/tests/qtest/hd-geo-test.c
+++ b/tests/qtest/hd-geo-test.c
@@ -839,7 +839,7 @@  static void test_override_scsi_hot_unplug(void)
 
     joined_args = g_strjoinv(" ", args->argv);
 
-    qts = qtest_init(joined_args);
+    qts = qtest_initf("-machine pc %s", joined_args);
     fw_cfg = pc_fw_cfg_init(qts);
 
     read_bootdevices(fw_cfg, expected);
@@ -899,7 +899,7 @@  static void test_override_virtio_hot_unplug(void)
 
     joined_args = g_strjoinv(" ", args->argv);
 
-    qts = qtest_init(joined_args);
+    qts = qtest_initf("-machine pc %s", joined_args);
     fw_cfg = pc_fw_cfg_init(qts);
 
     read_bootdevices(fw_cfg, expected);
diff --git a/tests/qtest/ivshmem-test.c b/tests/qtest/ivshmem-test.c
index fe94dd3b96..4e8af42a9d 100644
--- a/tests/qtest/ivshmem-test.c
+++ b/tests/qtest/ivshmem-test.c
@@ -385,7 +385,12 @@  static void test_ivshmem_hotplug(void)
     QTestState *qts;
     const char *arch = qtest_get_arch();
 
-    qts = qtest_init("-object memory-backend-ram,size=1M,id=mb1");
+    if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
+        qts = qtest_init("-object memory-backend-ram,size=1M,id=mb1"
+                         " -machine pc");
+    } else {
+        qts = qtest_init("-object memory-backend-ram,size=1M,id=mb1");
+    }
 
     qtest_qmp_device_add(qts, "ivshmem-plain", "iv1",
                          "{'addr': %s, 'memdev': 'mb1'}",