summaryrefslogtreecommitdiffstats
path: root/regressions
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-04-07 21:04:01 +0100
committerRichard Jones <rjones@redhat.com>2010-04-08 09:41:57 +0100
commitde7ef2a0fdcbcddfd35ecb8ee2804e1ca0968454 (patch)
tree773bf6593bdf267b6e9437bfd8d2ccc24646db09 /regressions
parent07f4b20ae959069fca41756b0dc103ec5fa99754 (diff)
downloadlibguestfs-de7ef2a0fdcbcddfd35ecb8ee2804e1ca0968454.tar.gz
libguestfs-de7ef2a0fdcbcddfd35ecb8ee2804e1ca0968454.tar.xz
libguestfs-de7ef2a0fdcbcddfd35ecb8ee2804e1ca0968454.zip
Code cleanups related to RHBZ#580246.
This includes various code cleanups: (a) A regression test for RHBZ#580246. (b) Use write instead of fwrite to write out the tar file. This is just because the error handling of write seems to be better specified and easier to use. (c) Use size_t instead of int for length. (d) Clearer debug messages when in verbose mode.
Diffstat (limited to 'regressions')
-rw-r--r--regressions/Makefile.am1
-rwxr-xr-xregressions/rhbz580246.sh47
2 files changed, 48 insertions, 0 deletions
diff --git a/regressions/Makefile.am b/regressions/Makefile.am
index 2710e824..e8e43cf7 100644
--- a/regressions/Makefile.am
+++ b/regressions/Makefile.am
@@ -27,6 +27,7 @@ TESTS = \
rhbz503169c10.sh \
rhbz503169c13.sh \
rhbz557655.sh \
+ rhbz580246.sh \
test-cancellation-download-librarycancels.sh \
test-cancellation-upload-daemoncancels.sh \
test-find0.sh \
diff --git a/regressions/rhbz580246.sh b/regressions/rhbz580246.sh
new file mode 100755
index 00000000..707231e0
--- /dev/null
+++ b/regressions/rhbz580246.sh
@@ -0,0 +1,47 @@
+#!/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.
+
+# Test tar_in call when we upload something which is larger than
+# available space.
+# https://bugzilla.redhat.com/show_bug.cgi?id=580246
+
+set -e
+export LANG=C
+
+rm -f test.img test.tar
+
+dd if=/dev/zero of=test.img bs=1M count=2
+tar cf test.tar test.img
+
+output=$(
+../fish/guestfish 2>&1 <<'EOF'
+add test.img
+run
+mkfs ext2 /dev/sda
+mount /dev/sda /
+-tar-in test.tar /
+EOF
+)
+
+rm -f test.img test.tar
+
+# Check for error message in the output.
+if [[ ! $output =~ libguestfs:.error:.tar_in ]]; then
+ echo "Missing error message from tar-in (expecting an error message)"
+ exit 1
+fi