[Libguestfs] [PATCH 14/67] fish: Add a test for -a URI options.

Richard W.M. Jones rjones at redhat.com
Sat Aug 24 11:04:14 UTC 2013


From: "Richard W.M. Jones" <rjones at redhat.com>

(cherry picked from commit 23d429ff845f29b345ff76efab669daf92b5ab42)
---
 fish/Makefile.am     |  2 ++
 fish/test-add-uri.sh | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+)
 create mode 100755 fish/test-add-uri.sh

diff --git a/fish/Makefile.am b/fish/Makefile.am
index 0c8ad17..ceceb96 100644
--- a/fish/Makefile.am
+++ b/fish/Makefile.am
@@ -254,6 +254,7 @@ TESTS_ENVIRONMENT = $(top_builddir)/run --test
 TESTS = \
 	test-a.sh \
 	test-add-domain.sh \
+	test-add-uri.sh \
 	test-d.sh \
 	test-escapes.sh \
 	test-events.sh \
@@ -283,6 +284,7 @@ check-valgrind:
 EXTRA_DIST += \
 	test-a.sh \
 	test-add-domain.sh \
+	test-add-uri.sh \
 	test-copy.sh \
 	test-d.sh \
 	test-edit.sh \
diff --git a/fish/test-add-uri.sh b/fish/test-add-uri.sh
new file mode 100755
index 0000000..dfeccf7
--- /dev/null
+++ b/fish/test-add-uri.sh
@@ -0,0 +1,83 @@
+#!/bin/bash -
+# libguestfs
+# Copyright (C) 2013 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+# Test guestfish -a URI.
+
+set -e
+set -x
+
+rm -f test-add-uri.out
+rm -f test-add-uri.img
+
+$VG ./guestfish sparse test-add-uri.img 10M
+
+function fail ()
+{
+    echo "Test failed.  Actual trace output was:"
+    cat test-add-uri.out
+    exit 1
+}
+
+# file:// URI should be handled exactly like a regular file.
+$VG ./guestfish -x -a file://$(pwd)/test-add-uri.img </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive ".*/test-add-uri.img"' test-add-uri.out || fail
+
+# curl
+$VG ./guestfish -x -a ftp://user@example.com/disk.img </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "/disk.img" "protocol:ftp" "server:tcp:example.com" "username:user"' test-add-uri.out || fail
+
+# gluster
+$VG ./guestfish -x -a gluster://example.com/disk </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "/disk" "protocol:gluster" "server:tcp:example.com"' test-add-uri.out || fail
+
+# NBD
+$VG ./guestfish -x -a nbd://example.com </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "" "protocol:nbd" "server:tcp:example.com"' test-add-uri.out || fail
+
+$VG ./guestfish -x -a nbd://example.com:3000 </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "" "protocol:nbd" "server:tcp:example.com:3000"' test-add-uri.out || fail
+
+$VG ./guestfish -x -a 'nbd://?socket=/sk' </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "" "protocol:nbd" "server:unix:/sk"' test-add-uri.out || fail
+
+$VG ./guestfish -x -a 'nbd:///export?socket=/sk' </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "/export" "protocol:nbd" "server:unix:/sk"' test-add-uri.out || fail
+
+# rbd
+$VG ./guestfish -x -a rbd://example.com:3000/disk </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "/disk" "protocol:rbd" "server:tcp:example.com:3000"' test-add-uri.out || fail
+
+# sheepdog
+$VG ./guestfish -x -a sheepdog:///volume/image </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "/volume/image" "protocol:sheepdog"' test-add-uri.out || fail
+
+$VG ./guestfish -x -a sheepdog://example.com:3000/volume/image </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "/volume/image" "protocol:sheepdog" "server:tcp:example.com:3000"' test-add-uri.out || fail
+
+# ssh
+$VG ./guestfish -x -a ssh://example.com/disk.img </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "/disk.img" "protocol:ssh" "server:tcp:example.com"' test-add-uri.out || fail
+
+$VG ./guestfish -x -a ssh://user@example.com/disk.img </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "/disk.img" "protocol:ssh" "server:tcp:example.com" "username:user"' test-add-uri.out || fail
+
+$VG ./guestfish -x -a ssh://user@example.com:2000/disk.img </dev/null >test-add-uri.out 2>&1
+grep -sq 'add_drive "/disk.img" "protocol:ssh" "server:tcp:example.com:2000" "username:user"' test-add-uri.out || fail
+
+rm test-add-uri.out
+rm test-add-uri.img
-- 
1.8.3.1




More information about the Libguestfs mailing list