Prove that our subset-limiting options work.

Signed-off-by: Eric Blake <ebl...@redhat.com>
---
 dump/Makefile.am    |  2 ++
 dump/dump-subset.sh | 48 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+)
 create mode 100755 dump/dump-subset.sh

diff --git a/dump/Makefile.am b/dump/Makefile.am
index 734f149b..335ff8db 100644
--- a/dump/Makefile.am
+++ b/dump/Makefile.am
@@ -21,6 +21,7 @@ EXTRA_DIST = \
        dump-data.sh \
        dump-empty-qcow2.sh \
        dump-pattern.sh \
+       dump-subset.sh \
        nbddump.pod \
        test-long-options.sh \
        test-short-options.sh \
@@ -70,6 +71,7 @@ TESTS = \
        dump-data.sh \
        dump-empty-qcow2.sh \
        dump-pattern.sh \
+       dump-subset.sh \
        test-long-options.sh \
        test-short-options.sh \
        test-version.sh \
diff --git a/dump/dump-subset.sh b/dump/dump-subset.sh
new file mode 100755
index 00000000..42444ae1
--- /dev/null
+++ b/dump/dump-subset.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+# nbd client library in userspace
+# Copyright Red Hat
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+. ../tests/functions.sh
+
+set -e
+set -x
+
+requires $NBDKIT --version
+requires $NBDKIT pattern --dump-plugin
+requires $NBDKIT -U - null --run 'test "$uri" != ""'
+requires nbdsh -c 'exit(not h.supports_uri())'
+
+output=dump-subset.out
+rm -f $output
+cleanup_fn rm -f $output
+
+$NBDKIT -U - pattern size=100 --run 'nbddump --offset=15 --length=33 "$uri"' > 
$output
+
+# Repeat with alternate spellings
+$NBDKIT -U - pattern size=100 --run 'nbddump --skip 15 --limit 33 "$uri"' >> 
$output
+
+cat $output
+
+if [ "$(cat $output)" != '000000000f: 08 00 00 00 00 00 00 00  10 00 00 00 00 
00 00 00 |................|
+000000001f: 18 00 00 00 00 00 00 00  20 00 00 00 00 00 00 00 |........ .......|
+000000002f: 28                                               |(               |
+000000000f: 08 00 00 00 00 00 00 00  10 00 00 00 00 00 00 00 |................|
+000000001f: 18 00 00 00 00 00 00 00  20 00 00 00 00 00 00 00 |........ .......|
+000000002f: 28                                               |(               
|' ]; then
+    echo "$0: unexpected output from nbddump command"
+    exit 1
+fi
-- 
2.48.1
_______________________________________________
Libguestfs mailing list -- guestfs@lists.libguestfs.org
To unsubscribe send an email to guestfs-le...@lists.libguestfs.org

Reply via email to