diff mbox series

[v2,5/6] tests/device-plug: Add CPU core unplug request test for spapr

Message ID 20190215133005.15955-6-david@redhat.com (mailing list archive)
State New, archived
Headers show
Series tests: Add device unplug tests | expand

Commit Message

David Hildenbrand Feb. 15, 2019, 1:30 p.m. UTC
We can easily test this, just like PCI.

Signed-off-by: David Hildenbrand <david@redhat.com>
---
 tests/device-plug-test.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

Thomas Huth Feb. 15, 2019, 3:35 p.m. UTC | #1
On 15/02/2019 14.30, David Hildenbrand wrote:
> We can easily test this, just like PCI.

... maybe add a sentence why this is only done for spapr, and not for
s390x and x86 ?

> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  tests/device-plug-test.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/tests/device-plug-test.c b/tests/device-plug-test.c
> index 6f7255552a..ec6cb5de7b 100644
> --- a/tests/device-plug-test.c
> +++ b/tests/device-plug-test.c
> @@ -101,6 +101,21 @@ static void test_ccw_unplug(void)
>      qtest_quit(qtest);
>  }
>  
> +static void test_spapr_cpu_unplug_request(void)
> +{
> +    QTestState *qtest;
> +
> +    qtest = qtest_initf("-cpu power9_v2.0 -smp 1,maxcpus=2 "
> +                        "-device power9_v2.0-spapr-cpu-core,core-id=1,id=dev0");
> +
> +    /* similar to test_pci_unplug_request */
> +    device_del_request(qtest, "dev0");
> +    system_reset(qtest);
> +    wait_device_deleted_event(qtest, "dev0");
> +
> +    qtest_quit(qtest);
> +}

My initial thought was: This should go into tests/cpu-plug-test.c
instead ... but since you need the functions that you defined here,
looks like this is the better place here...

>  int main(int argc, char **argv)
>  {
>      const char *arch = qtest_get_arch();
> @@ -120,5 +135,10 @@ int main(int argc, char **argv)
>                         test_ccw_unplug);
>      }
>  
> +    if (!strcmp(arch, "ppc64")) {
> +        qtest_add_func("/device-plug/spapr_cpu_unplug_request",

spapr-cpu-unplug-request ?

> +                       test_spapr_cpu_unplug_request);
> +    }
> +
>      return g_test_run();
>  }

Reviewed-by: Thomas Huth <thuth@redhat.com>
Greg Kurz Feb. 15, 2019, 4:03 p.m. UTC | #2
On Fri, 15 Feb 2019 14:30:04 +0100
David Hildenbrand <david@redhat.com> wrote:

> We can easily test this, just like PCI.
> 
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---

Reviewed-by: Greg Kurz <groug@kaod.org>

>  tests/device-plug-test.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/tests/device-plug-test.c b/tests/device-plug-test.c
> index 6f7255552a..ec6cb5de7b 100644
> --- a/tests/device-plug-test.c
> +++ b/tests/device-plug-test.c
> @@ -101,6 +101,21 @@ static void test_ccw_unplug(void)
>      qtest_quit(qtest);
>  }
>  
> +static void test_spapr_cpu_unplug_request(void)
> +{
> +    QTestState *qtest;
> +
> +    qtest = qtest_initf("-cpu power9_v2.0 -smp 1,maxcpus=2 "
> +                        "-device power9_v2.0-spapr-cpu-core,core-id=1,id=dev0");
> +
> +    /* similar to test_pci_unplug_request */
> +    device_del_request(qtest, "dev0");
> +    system_reset(qtest);
> +    wait_device_deleted_event(qtest, "dev0");
> +
> +    qtest_quit(qtest);
> +}
> +
>  int main(int argc, char **argv)
>  {
>      const char *arch = qtest_get_arch();
> @@ -120,5 +135,10 @@ int main(int argc, char **argv)
>                         test_ccw_unplug);
>      }
>  
> +    if (!strcmp(arch, "ppc64")) {
> +        qtest_add_func("/device-plug/spapr_cpu_unplug_request",
> +                       test_spapr_cpu_unplug_request);
> +    }
> +
>      return g_test_run();
>  }
David Hildenbrand Feb. 18, 2019, 8:46 a.m. UTC | #3
On 15.02.19 16:35, Thomas Huth wrote:
> On 15/02/2019 14.30, David Hildenbrand wrote:
>> We can easily test this, just like PCI.
> 
> ... maybe add a sentence why this is only done for spapr, and not for
> s390x and x86 ?

Yes, will do!

> 
>> Signed-off-by: David Hildenbrand <david@redhat.com>
>> ---
>>  tests/device-plug-test.c | 20 ++++++++++++++++++++
>>  1 file changed, 20 insertions(+)
>>
>> diff --git a/tests/device-plug-test.c b/tests/device-plug-test.c
>> index 6f7255552a..ec6cb5de7b 100644
>> --- a/tests/device-plug-test.c
>> +++ b/tests/device-plug-test.c
>> @@ -101,6 +101,21 @@ static void test_ccw_unplug(void)
>>      qtest_quit(qtest);
>>  }
>>  
>> +static void test_spapr_cpu_unplug_request(void)
>> +{
>> +    QTestState *qtest;
>> +
>> +    qtest = qtest_initf("-cpu power9_v2.0 -smp 1,maxcpus=2 "
>> +                        "-device power9_v2.0-spapr-cpu-core,core-id=1,id=dev0");
>> +
>> +    /* similar to test_pci_unplug_request */
>> +    device_del_request(qtest, "dev0");
>> +    system_reset(qtest);
>> +    wait_device_deleted_event(qtest, "dev0");
>> +
>> +    qtest_quit(qtest);
>> +}
> 
> My initial thought was: This should go into tests/cpu-plug-test.c
> instead ... but since you need the functions that you defined here,
> looks like this is the better place here...

Yes, I consider the tests in here to test basic unplug (+later plug)
functionality for all kinds of devices. Very specific tests (e.g.
testing different cpu plug combinations) should be handled in different
files.

Thanks!
diff mbox series

Patch

diff --git a/tests/device-plug-test.c b/tests/device-plug-test.c
index 6f7255552a..ec6cb5de7b 100644
--- a/tests/device-plug-test.c
+++ b/tests/device-plug-test.c
@@ -101,6 +101,21 @@  static void test_ccw_unplug(void)
     qtest_quit(qtest);
 }
 
+static void test_spapr_cpu_unplug_request(void)
+{
+    QTestState *qtest;
+
+    qtest = qtest_initf("-cpu power9_v2.0 -smp 1,maxcpus=2 "
+                        "-device power9_v2.0-spapr-cpu-core,core-id=1,id=dev0");
+
+    /* similar to test_pci_unplug_request */
+    device_del_request(qtest, "dev0");
+    system_reset(qtest);
+    wait_device_deleted_event(qtest, "dev0");
+
+    qtest_quit(qtest);
+}
+
 int main(int argc, char **argv)
 {
     const char *arch = qtest_get_arch();
@@ -120,5 +135,10 @@  int main(int argc, char **argv)
                        test_ccw_unplug);
     }
 
+    if (!strcmp(arch, "ppc64")) {
+        qtest_add_func("/device-plug/spapr_cpu_unplug_request",
+                       test_spapr_cpu_unplug_request);
+    }
+
     return g_test_run();
 }