From 23d429ff845f29b345ff76efab669daf92b5ab42 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 30 Jul 2013 16:15:04 +0100 Subject: [PATCH] fish: Add a test for -a URI options. --- 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 0c8ad17ea..ceceb966d 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 000000000..dfeccf733 --- /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 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 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 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 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 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' 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' 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 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 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 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 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 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 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