diff --git a/tests/device-plug-test.c b/tests/device-plug-test.c index 0262ad6be6..87593d9ecf 100644 --- a/tests/device-plug-test.c +++ b/tests/device-plug-test.c @@ -116,6 +116,22 @@ static void test_spapr_cpu_unplug_request(void) qtest_quit(qtest); } +static void test_spapr_memory_unplug_request(void) +{ + QTestState *qtest; + + qtest = qtest_initf("-m 256M,slots=1,maxmem=768M " + "-object memory-backend-ram,id=mem0,size=512M " + "-device pc-dimm,id=dev0,memdev=mem0"); + + /* 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(); @@ -138,6 +154,8 @@ int main(int argc, char **argv) if (!strcmp(arch, "ppc64")) { qtest_add_func("/device-plug/spapr-cpu-unplug-request", test_spapr_cpu_unplug_request); + qtest_add_func("/device-plug/spapr-memory-unplug-request", + test_spapr_memory_unplug_request); } return g_test_run();