156 lines
5.3 KiB
Diff
156 lines
5.3 KiB
Diff
|
From 1f2acea1e6bd0a1120bf6b48854202ec8680f5c0 Mon Sep 17 00:00:00 2001
|
||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||
|
Date: Tue, 10 Aug 2021 09:11:43 +0100
|
||
|
Subject: [PATCH] delay: Test delay-open and delay-close
|
||
|
|
||
|
(cherry picked from commit 3caabaf87ec744b863b50b5bf77a9c1b93a7c3e0)
|
||
|
---
|
||
|
tests/Makefile.am | 12 +++++++--
|
||
|
tests/test-delay-close.sh | 54 +++++++++++++++++++++++++++++++++++++++
|
||
|
tests/test-delay-open.sh | 49 +++++++++++++++++++++++++++++++++++
|
||
|
3 files changed, 113 insertions(+), 2 deletions(-)
|
||
|
create mode 100755 tests/test-delay-close.sh
|
||
|
create mode 100755 tests/test-delay-open.sh
|
||
|
|
||
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||
|
index edc8d66d..e61c5829 100644
|
||
|
--- a/tests/Makefile.am
|
||
|
+++ b/tests/Makefile.am
|
||
|
@@ -1425,8 +1425,16 @@ EXTRA_DIST += \
|
||
|
$(NULL)
|
||
|
|
||
|
# delay filter tests.
|
||
|
-TESTS += test-delay-shutdown.sh
|
||
|
-EXTRA_DIST += test-delay-shutdown.sh
|
||
|
+TESTS += \
|
||
|
+ test-delay-close.sh \
|
||
|
+ test-delay-open.sh \
|
||
|
+ test-delay-shutdown.sh \
|
||
|
+ $(NULL)
|
||
|
+EXTRA_DIST += \
|
||
|
+ test-delay-close.sh \
|
||
|
+ test-delay-open.sh \
|
||
|
+ test-delay-shutdown.sh \
|
||
|
+ $(NULL)
|
||
|
LIBNBD_TESTS += test-delay
|
||
|
|
||
|
test_delay_SOURCES = test-delay.c
|
||
|
diff --git a/tests/test-delay-close.sh b/tests/test-delay-close.sh
|
||
|
new file mode 100755
|
||
|
index 00000000..1de305f5
|
||
|
--- /dev/null
|
||
|
+++ b/tests/test-delay-close.sh
|
||
|
@@ -0,0 +1,54 @@
|
||
|
+#!/usr/bin/env bash
|
||
|
+# nbdkit
|
||
|
+# Copyright (C) 2018-2021 Red Hat Inc.
|
||
|
+#
|
||
|
+# Redistribution and use in source and binary forms, with or without
|
||
|
+# modification, are permitted provided that the following conditions are
|
||
|
+# met:
|
||
|
+#
|
||
|
+# * Redistributions of source code must retain the above copyright
|
||
|
+# notice, this list of conditions and the following disclaimer.
|
||
|
+#
|
||
|
+# * Redistributions in binary form must reproduce the above copyright
|
||
|
+# notice, this list of conditions and the following disclaimer in the
|
||
|
+# documentation and/or other materials provided with the distribution.
|
||
|
+#
|
||
|
+# * Neither the name of Red Hat nor the names of its contributors may be
|
||
|
+# used to endorse or promote products derived from this software without
|
||
|
+# specific prior written permission.
|
||
|
+#
|
||
|
+# THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND
|
||
|
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||
|
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||
|
+# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR
|
||
|
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||
|
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||
|
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||
|
+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||
|
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||
|
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||
|
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||
|
+# SUCH DAMAGE.
|
||
|
+
|
||
|
+source ./functions.sh
|
||
|
+set -e
|
||
|
+set -x
|
||
|
+
|
||
|
+requires_run
|
||
|
+requires_plugin null
|
||
|
+requires_filter delay
|
||
|
+requires nbdsh --version
|
||
|
+
|
||
|
+# Test delay-close with a well-behaved client.
|
||
|
+
|
||
|
+nbdkit -U - null --filter=delay delay-close=3 \
|
||
|
+ --run '
|
||
|
+start_t=$SECONDS
|
||
|
+nbdsh -u "$uri" -c "h.shutdown()"
|
||
|
+end_t=$SECONDS
|
||
|
+
|
||
|
+if [ $((end_t - start_t)) -lt 3 ]; then
|
||
|
+ echo "$0: delay filter failed: delay-close=3 caused delay < 3 seconds"
|
||
|
+ exit 1
|
||
|
+fi
|
||
|
+'
|
||
|
diff --git a/tests/test-delay-open.sh b/tests/test-delay-open.sh
|
||
|
new file mode 100755
|
||
|
index 00000000..2a74e44c
|
||
|
--- /dev/null
|
||
|
+++ b/tests/test-delay-open.sh
|
||
|
@@ -0,0 +1,49 @@
|
||
|
+#!/usr/bin/env bash
|
||
|
+# nbdkit
|
||
|
+# Copyright (C) 2018-2021 Red Hat Inc.
|
||
|
+#
|
||
|
+# Redistribution and use in source and binary forms, with or without
|
||
|
+# modification, are permitted provided that the following conditions are
|
||
|
+# met:
|
||
|
+#
|
||
|
+# * Redistributions of source code must retain the above copyright
|
||
|
+# notice, this list of conditions and the following disclaimer.
|
||
|
+#
|
||
|
+# * Redistributions in binary form must reproduce the above copyright
|
||
|
+# notice, this list of conditions and the following disclaimer in the
|
||
|
+# documentation and/or other materials provided with the distribution.
|
||
|
+#
|
||
|
+# * Neither the name of Red Hat nor the names of its contributors may be
|
||
|
+# used to endorse or promote products derived from this software without
|
||
|
+# specific prior written permission.
|
||
|
+#
|
||
|
+# THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND
|
||
|
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||
|
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||
|
+# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR
|
||
|
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||
|
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||
|
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||
|
+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||
|
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||
|
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||
|
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||
|
+# SUCH DAMAGE.
|
||
|
+
|
||
|
+source ./functions.sh
|
||
|
+set -e
|
||
|
+set -x
|
||
|
+
|
||
|
+requires_run
|
||
|
+requires_plugin null
|
||
|
+requires_filter delay
|
||
|
+requires nbdinfo --version
|
||
|
+
|
||
|
+start_t=$SECONDS
|
||
|
+nbdkit -U - null --filter=delay delay-open=3 --run 'nbdinfo "$uri"'
|
||
|
+end_t=$SECONDS
|
||
|
+
|
||
|
+if [ $((end_t - start_t)) -lt 3 ]; then
|
||
|
+ echo "$0: delay filter failed: delay-open=3 caused delay < 3 seconds"
|
||
|
+ exit 1
|
||
|
+fi
|
||
|
--
|
||
|
2.31.1
|
||
|
|