Skip to content

Commit 7eb9d1b

Browse files
committed
tests: Test --run + --tls + $uri + $tls
Test the previous two commits.
1 parent 43ba3d9 commit 7eb9d1b

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed

tests/Makefile.am

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ TESTS += \
216216
test-single-from-file.sh \
217217
test-single-sh.sh \
218218
test-captive.sh \
219+
test-captive-tls.sh \
219220
test-random-sock.sh \
220221
test-tls.sh \
221222
test-tls-psk.sh \
@@ -237,6 +238,7 @@ TESTS += \
237238
endif
238239
EXTRA_DIST += \
239240
test-captive.sh \
241+
test-captive-tls.sh \
240242
test-ddrescue-filter.sh \
241243
test-debug-flags.sh \
242244
test-dump-plugin-and-single.sh \

tests/test-captive-tls.sh

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#!/usr/bin/env bash
2+
# nbdkit
3+
# Copyright (C) 2014-2021 Red Hat Inc.
4+
#
5+
# Redistribution and use in source and binary forms, with or without
6+
# modification, are permitted provided that the following conditions are
7+
# met:
8+
#
9+
# * Redistributions of source code must retain the above copyright
10+
# notice, this list of conditions and the following disclaimer.
11+
#
12+
# * Redistributions in binary form must reproduce the above copyright
13+
# notice, this list of conditions and the following disclaimer in the
14+
# documentation and/or other materials provided with the distribution.
15+
#
16+
# * Neither the name of Red Hat nor the names of its contributors may be
17+
# used to endorse or promote products derived from this software without
18+
# specific prior written permission.
19+
#
20+
# THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND
21+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22+
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
23+
# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR
24+
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25+
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26+
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
27+
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29+
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
30+
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31+
# SUCH DAMAGE.
32+
33+
# Test nbdkit --run (captive nbdkit) + --tls option + $uri + $tls
34+
# shell variables.
35+
#
36+
# In nbdkit < 1.26 the $uri shell variable was not constructed
37+
# correctly.
38+
#
39+
# Also in nbdkit < 1.26 there was no $tls shell variable.
40+
41+
source ./functions.sh
42+
set -e
43+
set -x
44+
45+
requires_run
46+
requires nbdinfo --version
47+
48+
# XXX Check that libnbd was built with TLS support.
49+
50+
# Does the nbdkit binary support TLS?
51+
if ! nbdkit --dump-config | grep -sq tls=yes; then
52+
echo "$0: nbdkit built without TLS support"
53+
exit 77
54+
fi
55+
56+
# Did we create the PKI files?
57+
# Probably 'certtool' is missing.
58+
pkidir="$PWD/pki"
59+
if [ ! -f "$pkidir/ca-cert.pem" ]; then
60+
echo "$0: PKI files were not created by the test harness"
61+
exit 77
62+
fi
63+
64+
out=test-captive-tls.out
65+
cleanup_fn rm -f $out
66+
rm -f $out
67+
68+
LANG=C \
69+
nbdkit -U - --tls=require --tls-certificates="$pkidir" \
70+
-D nbdkit.tls.session=1 \
71+
null \
72+
--run '[ "x$tls" = "x2" ] && nbdinfo "$uri"' > $out
73+
grep "newstyle-fixed with TLS" $out

0 commit comments

Comments
 (0)