]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemuMonitorJSONTestAttachChardev: Add tests for FD passing of file backend
authorPeter Krempa <pkrempa@redhat.com>
Wed, 9 Feb 2022 12:10:57 +0000 (13:10 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 14 Feb 2022 12:14:00 +0000 (13:14 +0100)
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
tests/qemumonitorjsontest.c

index 8fbb199a5916fe01cd651c332f2c75e4f1ab76ff..278d7ba765cbaa5b31c2fa6e070a4f0714203a5f 100644 (file)
@@ -680,6 +680,8 @@ static int
 qemuMonitorJSONTestAttachChardev(virDomainXMLOption *xmlopt,
                                  GHashTable *schema)
 {
+    virDomainChrDef chrdev = { .info = { .alias = (char *) "alias" }};
+    virDomainDeviceDef dev = { .type = VIR_DOMAIN_DEVICE_CHR, .data.chr = &chrdev };
     int ret = 0;
 
 #define CHECK(label, fail, expectargs) \
@@ -723,6 +725,7 @@ qemuMonitorJSONTestAttachChardev(virDomainXMLOption *xmlopt,
 
     {
         g_autoptr(virDomainChrSourceDef) chr = virDomainChrSourceDefNew(xmlopt);
+        qemuDomainChrSourcePrivate *charpriv = QEMU_DOMAIN_CHR_SOURCE_PRIVATE(chr);
 
         chr->data.file.path = g_strdup("/test/path");
 
@@ -737,6 +740,16 @@ qemuMonitorJSONTestAttachChardev(virDomainXMLOption *xmlopt,
               "{'id':'alias','backend':{'type':'file','data':{'out':'/test/path',"
                                                              "'logfile':'/test/logfile',"
                                                              "'logappend':false}}}");
+
+        chrdev.source = chr;
+        ignore_value(testQemuPrepareHostBackendChardevOne(&dev, chr, NULL));
+        qemuFDPassTransferMonitorFake(charpriv->sourcefd);
+        qemuFDPassTransferMonitorFake(charpriv->logfd);
+        CHECK("file", false,
+              "{'id':'alias','backend':{'type':'file','data':{'out':'/dev/fdset/monitor-fake',"
+                                                             "'append':true,"
+                                                             "'logfile':'/dev/fdset/monitor-fake',"
+                                                             "'logappend':true}}}");
     }
 
     {