diff options
author | Richard Jones <rjones@trick.home.annexia.org> | 2009-07-13 13:06:26 +0100 |
---|---|---|
committer | Richard Jones <rjones@trick.home.annexia.org> | 2009-07-14 14:08:31 +0100 |
commit | a86aa7d152ed996170714a3a4516eab58bf8b59d (patch) | |
tree | b29a2081d1951b13c0da03d01973a0e8c507ba5b /regressions | |
parent | 5d6cc25900df4e13e4085f13d4f846cc9719ce61 (diff) | |
download | libguestfs-a86aa7d152ed996170714a3a4516eab58bf8b59d.tar.gz libguestfs-a86aa7d152ed996170714a3a4516eab58bf8b59d.tar.xz libguestfs-a86aa7d152ed996170714a3a4516eab58bf8b59d.zip |
Guestfish feature: remote control of guestfish over a pipe.
The use case is to have a long-running guestfish process in
a shell script, and thus to avoid the overhead of starting
guestfish each time. Do:
eval `guestfish --listen`
guestfish --remote somecmd
guestfish --remote someothercmd
guestfish --remote exit
This patch also supports having multiple guestfish processes
at the same time.
The protocol is simple XDR messages over a Unix domain socket.
Diffstat (limited to 'regressions')
-rw-r--r-- | regressions/Makefile.am | 1 | ||||
-rwxr-xr-x | regressions/test-remote.sh | 34 |
2 files changed, 35 insertions, 0 deletions
diff --git a/regressions/Makefile.am b/regressions/Makefile.am index cd575e0e..0e0d5204 100644 --- a/regressions/Makefile.am +++ b/regressions/Makefile.am @@ -29,6 +29,7 @@ TESTS = \ test-qemudie-midcommand.sh \ test-qemudie-killsub.sh \ test-qemudie-synch.sh \ + test-remote.sh \ test-reopen.sh SKIPPED_TESTS = \ diff --git a/regressions/test-remote.sh b/regressions/test-remote.sh new file mode 100755 index 00000000..f3c14b4b --- /dev/null +++ b/regressions/test-remote.sh @@ -0,0 +1,34 @@ +#!/bin/sh - +# libguestfs +# Copyright (C) 2009 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +# Test remote control of guestfish. + +set -e + +rm -f test.img + +eval `../fish/guestfish --listen` + +../fish/guestfish --remote alloc test.img 10M +../fish/guestfish --remote run +../fish/guestfish --remote sfdiskM /dev/sda , +../fish/guestfish --remote mkfs ext2 /dev/sda1 +../fish/guestfish --remote mount /dev/sda1 / +../fish/guestfish --remote exit + +rm -f test.img |