Test two (of four) cancellation paths.
authorRichard Jones <rjones@trick.home.annexia.org>
Mon, 6 Jul 2009 15:01:51 +0000 (16:01 +0100)
committerRichard Jones <rjones@trick.home.annexia.org>
Mon, 6 Jul 2009 15:01:51 +0000 (16:01 +0100)
regressions/Makefile.am
regressions/test-cancellation-download-librarycancels.sh [new file with mode: 0755]
regressions/test-cancellation-upload-daemoncancels.sh [new file with mode: 0755]

index 874e898..2e1cb41 100644 (file)
@@ -24,6 +24,8 @@
 TESTS = \
        rhbz503169c10.sh \
        rhbz503169c13.sh \
+       test-cancellation-upload-daemoncancels.sh \
+       test-cancellation-download-librarycancels.sh \
        test-qemudie-midcommand.sh \
        test-qemudie-killsub.sh \
        test-qemudie-synch.sh
diff --git a/regressions/test-cancellation-download-librarycancels.sh b/regressions/test-cancellation-download-librarycancels.sh
new file mode 100755 (executable)
index 0000000..2cacdd3
--- /dev/null
@@ -0,0 +1,40 @@
+#!/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 download where the library cancels.
+#
+# 
+
+set -e
+
+rm -f test.img
+
+../fish/guestfish <<'EOF'
+add ../images/test.sqsh
+run
+
+mount /dev/sda /
+
+# Download a file to /dev/full.
+echo "Expect: write: /dev/full: No space left on device"
+-download /100krandom /dev/full
+
+ping-daemon
+EOF
+
+rm -f test.img
diff --git a/regressions/test-cancellation-upload-daemoncancels.sh b/regressions/test-cancellation-upload-daemoncancels.sh
new file mode 100755 (executable)
index 0000000..c56b1c2
--- /dev/null
@@ -0,0 +1,43 @@
+#!/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 upload where the daemon cancels.
+#
+# This is pretty easy - we just upload a too-large source file.
+
+set -e
+
+rm -f test.img
+
+../fish/guestfish <<'EOF'
+alloc test.img 10M
+run
+
+sfdiskM /dev/sda ,
+mkfs ext2 /dev/sda1
+mount /dev/sda1 /
+
+# Upload image, daemon should cancel because the image is too large
+# to upload into itself.
+echo "Expect: write: /test: No space left on device"
+-upload test.img /test
+
+ping-daemon
+EOF
+
+rm -f test.img