summaryrefslogtreecommitdiff
path: root/gnu/build/marionette.scm
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@araneo.si>2022-07-28 17:03:26 +0200
committerLudovic Courtès <ludo@gnu.org>2022-08-09 17:15:45 +0200
commitfd74fe6325eb54a48e496b3afe5001005b15d802 (patch)
tree1ce80c353cbcac91c698950dfcee096ca9de9484 /gnu/build/marionette.scm
parentee199cd3baf3f2f207223749e0c1015432826bd3 (diff)
downloadguix-patches-fd74fe6325eb54a48e496b3afe5001005b15d802.tar
guix-patches-fd74fe6325eb54a48e496b3afe5001005b15d802.tar.gz
tests: Add qemu-guest-agent system test.
Enable the QEMU guest agent interface in marionette VMs, run the qemu-guest-agent service in one and try talking to it. * gnu/build/marionette.scm (make-marionette): Enable the guest agent device. * gnu/tests/virtualization.scm (run-qemu-guest-agent-test): New procedure. (%test-qemu-guest-agent): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/build/marionette.scm')
-rw-r--r--gnu/build/marionette.scm5
1 files changed, 4 insertions, 1 deletions
diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm
index 0d2af642c8..2b241d19e8 100644
--- a/gnu/build/marionette.scm
+++ b/gnu/build/marionette.scm
@@ -105,11 +105,14 @@ QEMU monitor and to the guest's backdoor REPL."
"-monitor" (string-append "unix:" socket-directory "/monitor")
"-chardev" (string-append "socket,id=repl,path=" socket-directory
"/repl")
+ "-chardev" (string-append "socket,id=qga,server=on,wait=off,path="
+ socket-directory "/qemu-ga")
;; See
;; <http://www.linux-kvm.org/page/VMchannel_Requirements#Invocation>.
"-device" "virtio-serial"
- "-device" "virtserialport,chardev=repl,name=org.gnu.guix.port.0"))
+ "-device" "virtserialport,chardev=repl,name=org.gnu.guix.port.0"
+ "-device" "virtserialport,chardev=qga,name=org.qemu.guest_agent.0"))
(define (accept* port)
(match (select (list port) '() (list port) timeout)