]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: Add support for passing vm to qemu monitor
authorJiri Denemark <jdenemar@redhat.com>
Thu, 25 Jul 2013 17:17:44 +0000 (19:17 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 26 Aug 2013 14:09:55 +0000 (16:09 +0200)
Some tests need the monitor to operate on an already existing VM object
rather than on a new mock-up the monitor test normally creates.

tests/qemuhotplugtest.c
tests/qemumonitorjsontest.c
tests/qemumonitortestutils.c
tests/qemumonitortestutils.h

index 7e547ad7de9b1c4589191099e53dfaa370359ddb..71dd9b0f71605049fab0528cd407188e8d61699e 100644 (file)
@@ -242,7 +242,7 @@ testQemuHotplug(const void *data)
 
     /* Now is the best time to feed the spoofed monitor with predefined
      * replies. */
-    if (!(test_mon = qemuMonitorTestNew(true, driver.xmlopt)))
+    if (!(test_mon = qemuMonitorTestNew(true, driver.xmlopt, vm)))
         goto cleanup;
 
     tmp = test->mon;
index 9e66059489e169ff021313ea257bfd17b6cb62dd..b287747dc9ed4e75f96e777887f39db4895b8881 100644 (file)
@@ -35,7 +35,7 @@ static int
 testQemuMonitorJSONGetStatus(const void *data)
 {
     virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     bool running = false;
     virDomainPausedReason reason = 0;
@@ -129,7 +129,7 @@ static int
 testQemuMonitorJSONGetVersion(const void *data)
 {
     virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     int major;
     int minor;
@@ -232,7 +232,7 @@ static int
 testQemuMonitorJSONGetMachines(const void *data)
 {
     virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     qemuMonitorMachineInfoPtr *info;
     int ninfo = 0;
@@ -314,7 +314,7 @@ static int
 testQemuMonitorJSONGetCPUDefinitions(const void *data)
 {
     virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     char **cpus = NULL;
     int ncpus = 0;
@@ -380,7 +380,7 @@ static int
 testQemuMonitorJSONGetCommands(const void *data)
 {
     virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     char **commands = NULL;
     int ncommands = 0;
@@ -445,7 +445,7 @@ static int
 testQemuMonitorJSONGetTPMModels(const void *data)
 {
     const virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     char **tpmmodels = NULL;
     int ntpmmodels = 0;
@@ -498,7 +498,7 @@ static int
 testQemuMonitorJSONGetCommandLineOptionParameters(const void *data)
 {
     const virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     char **params = NULL;
     int nparams = 0;
@@ -599,7 +599,7 @@ static int
 testQemuMonitorJSONAttachChardev(const void *data)
 {
     const virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     virDomainChrSourceDef chr;
     int ret = 0;
 
@@ -680,7 +680,7 @@ static int
 testQemuMonitorJSONDetachChardev(const void *data)
 {
     const virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
 
     if (!test)
@@ -713,7 +713,7 @@ static int
 testQemuMonitorJSONGetListPaths(const void *data)
 {
     const virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     qemuMonitorJSONListPathPtr *paths;
     int npaths = 0;
@@ -791,7 +791,7 @@ static int
 testQemuMonitorJSONGetObjectProperty(const void *data)
 {
     const virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     qemuMonitorJSONObjectProperty prop;
 
@@ -834,7 +834,7 @@ static int
 testQemuMonitorJSONSetObjectProperty(const void *data)
 {
     const virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     qemuMonitorJSONObjectProperty prop;
 
@@ -886,7 +886,7 @@ static int
 testQemuMonitorJSONGetDeviceAliases(const void *data)
 {
     const virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
-    qemuMonitorTestPtr test = qemuMonitorTestNew(true, xmlopt);
+    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     char **aliases = NULL;
     char **alias;
index 4d2ecb12b374dbb444cc913a41462fba2a7a67c9..99b913197cc49698a71c304cefb2655756ab5809 100644 (file)
@@ -743,6 +743,7 @@ static qemuAgentCallbacks qemuMonitorTestAgentCallbacks = {
 
 static qemuMonitorTestPtr
 qemuMonitorCommonTestNew(virDomainXMLOptionPtr xmlopt,
+                         virDomainObjPtr vm,
                          virDomainChrSourceDefPtr src)
 {
     qemuMonitorTestPtr test = NULL;
@@ -773,8 +774,14 @@ qemuMonitorCommonTestNew(virDomainXMLOptionPtr xmlopt,
     if (virAsprintf(&path, "%s/qemumonitorjsontest.sock", test->tmpdir) < 0)
         goto error;
 
-    if (!(test->vm = virDomainObjNew(xmlopt)))
-        goto error;
+    if (vm) {
+        virObjectRef(vm);
+        test->vm = vm;
+    } else {
+        test->vm = virDomainObjNew(xmlopt);
+        if (!test->vm)
+            goto error;
+    }
 
     if (virNetSocketNewListenUNIX(path, 0700, getuid(), getgid(),
                                   &test->server) < 0)
@@ -860,12 +867,14 @@ error:
 #define QEMU_TEXT_GREETING "QEMU 1.0,1 monitor - type 'help' for more information"
 
 qemuMonitorTestPtr
-qemuMonitorTestNew(bool json, virDomainXMLOptionPtr xmlopt)
+qemuMonitorTestNew(bool json,
+                   virDomainXMLOptionPtr xmlopt,
+                   virDomainObjPtr vm)
 {
     qemuMonitorTestPtr test = NULL;
     virDomainChrSourceDef src;
 
-    if (!(test = qemuMonitorCommonTestNew(xmlopt, &src)))
+    if (!(test = qemuMonitorCommonTestNew(xmlopt, vm, &src)))
         goto error;
 
     test->json = json;
@@ -902,7 +911,7 @@ qemuMonitorTestNewAgent(virDomainXMLOptionPtr xmlopt)
     qemuMonitorTestPtr test = NULL;
     virDomainChrSourceDef src;
 
-    if (!(test = qemuMonitorCommonTestNew(xmlopt, &src)))
+    if (!(test = qemuMonitorCommonTestNew(xmlopt, NULL, &src)))
         goto error;
 
     if (!(test->agent = qemuAgentOpen(test->vm,
index 1122409bd46e139868ba31375dcd4f8c4826ee01..ccb545744a23382d06cd2c139a33148329b5060c 100644 (file)
@@ -59,8 +59,12 @@ int qemuMonitorTestAddItemParams(qemuMonitorTestPtr test,
                                  ...)
     ATTRIBUTE_SENTINEL;
 
+# define qemuMonitorTestNewSimple(json, xmlopt) \
+    qemuMonitorTestNew(json, xmlopt, NULL)
+
 qemuMonitorTestPtr qemuMonitorTestNew(bool json,
-                                      virDomainXMLOptionPtr xmlopt);
+                                      virDomainXMLOptionPtr xmlopt,
+                                      virDomainObjPtr vm);
 
 qemuMonitorTestPtr qemuMonitorTestNewAgent(virDomainXMLOptionPtr xmlopt);