summaryrefslogtreecommitdiffstats
path: root/regressions
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-04-13 22:06:43 +0100
committerRichard Jones <rjones@redhat.com>2010-04-13 22:09:21 +0100
commitad752b80d7fa064b7bdd3d4c8d47c95d79265b58 (patch)
tree22a8e3f35344fbe0659f824c5434c116c6797c74 /regressions
parentc076aaea7e6d9459c8d8a96d21abd71a0223f098 (diff)
downloadlibguestfs-ad752b80d7fa064b7bdd3d4c8d47c95d79265b58.tar.gz
libguestfs-ad752b80d7fa064b7bdd3d4c8d47c95d79265b58.tar.xz
libguestfs-ad752b80d7fa064b7bdd3d4c8d47c95d79265b58.zip
fish: Allow '-' prefix on command line to override exit on error (RHBZ#578407).
Allow -cmd on the command line to mean that normal exit on error behaviour is overridden, ie. we will not exit. This allows you to do: guestfish -- command : -command : command with the second command allowing errors. (Note that '--' is required to stop getopt parsing -command as an option). Also this fixes the remote case which is what the original bug report was about.
Diffstat (limited to 'regressions')
-rw-r--r--regressions/Makefile.am1
-rwxr-xr-xregressions/rhbz578407.sh43
2 files changed, 44 insertions, 0 deletions
diff --git a/regressions/Makefile.am b/regressions/Makefile.am
index e8e43cf7..8513f9ae 100644
--- a/regressions/Makefile.am
+++ b/regressions/Makefile.am
@@ -27,6 +27,7 @@ TESTS = \
rhbz503169c10.sh \
rhbz503169c13.sh \
rhbz557655.sh \
+ rhbz578407.sh \
rhbz580246.sh \
test-cancellation-download-librarycancels.sh \
test-cancellation-upload-daemoncancels.sh \
diff --git a/regressions/rhbz578407.sh b/regressions/rhbz578407.sh
new file mode 100755
index 00000000..6ab2d5d8
--- /dev/null
+++ b/regressions/rhbz578407.sh
@@ -0,0 +1,43 @@
+#!/bin/bash -
+# libguestfs
+# Copyright (C) 2010 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.
+
+# Regression test for:
+# https://bugzilla.redhat.com/show_bug.cgi?id=578407
+# prefix '-' in sub-command isn't handled by guestfish in remote control mode
+# Reported by Qixiang Wan.
+
+set -e
+
+guestfish=../fish/guestfish
+
+# Start remote guestfish.
+eval `$guestfish --listen 2>/dev/null`
+
+# This should succeed.
+$guestfish --remote version > /dev/null
+
+# This command will fail (because appliance not launched), but
+# prefixing with '-' should make remote guestfish ignore the failure.
+$guestfish --remote -- -lvs
+
+# Remote guestfish should still be running.
+$guestfish --remote version > /dev/null
+$guestfish --remote exit
+
+# Try some other command line argument tests which are related the fix.
+$guestfish -- version : -lvs : version > /dev/null 2>&1