--- tests/Makefile.am | 3 ++ tests/test-shebang-crlf.sh | 59 ++++++++++++++++++++++++++++++++++++++ tests/shebang-crlf.py | 2 ++ 3 files changed, 64 insertions(+)
diff --git a/tests/Makefile.am b/tests/Makefile.am index f03ed2cb9a..16f7d408b0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1287,6 +1287,7 @@ TESTS += \ test-python-peer.sh \ test-python-thread-model.sh \ test-shebang-python.sh \ + test-shebang-crlf.sh \ $(NULL) EXTRA_DIST += \ python-error.py \ @@ -1298,6 +1299,7 @@ EXTRA_DIST += \ python-peer.py \ python-thread-model.py \ shebang.py \ + shebang-crlf.py \ test-python-error.sh \ test-python-exception.sh \ test-python-export-name.sh \ @@ -1309,6 +1311,7 @@ EXTRA_DIST += \ test-python-thread-model.sh \ test-python.sh \ test-shebang-python.sh \ + test-shebang-crlf.sh \ test_python.py \ $(NULL) diff --git a/tests/test-shebang-crlf.sh b/tests/test-shebang-crlf.sh new file mode 100755 index 0000000000..c11d5c0b89 --- /dev/null +++ b/tests/test-shebang-crlf.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +# nbdkit +# Copyright Red Hat +# +# 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. + +# See also: shebang-crlf.py +# +# CRLF shebang line used to cause a confusing error message: +# -plugin.so: cannot open shared object file: No such file or directoryon +# (In fact what is happening is that the first part of the message +# is hidden before a CR character.) +# +# We still expect this script to fail, but for the error not to be +# confusing. + +source ./functions.sh +set -e +set -x + +script=$abs_top_srcdir/tests/shebang-crlf.py +if test ! -x "$script"; then + echo "$0: could not locate $script or not executable" + exit 1 +fi + +out="test-shebang-crlf.out" +rm -f $out +cleanup_fn rm -f $out + +$script --verbose --dump-plugin 2> $out ||: +cat $out +grep -E 'python\\r' $out diff --git a/tests/shebang-crlf.py b/tests/shebang-crlf.py new file mode 100755 index 0000000000..2713f2c3cb --- /dev/null +++ b/tests/shebang-crlf.py @@ -0,0 +1,2 @@ +#!../nbdkit python +# See also: test-shebang-crlf.sh -- 2.44.0 _______________________________________________ Libguestfs mailing list -- guestfs@lists.libguestfs.org To unsubscribe send an email to guestfs-le...@lists.libguestfs.org