Prove that our subset-limiting options work.
Signed-off-by: Eric Blake <eblake(a)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