test/mhlist/test-mhlist test/mhlist/test-ext-params \
test/mhmail/test-mhmail \
test/mhparam/test-mhparam test/mhpath/test-mhpath \
+ test/mhshow/test-binary \
test/mhshow/test-charset test/mhshow/test-textcharset \
test/mhshow/test-cte-binary test/mhshow/test-qp \
test/mhshow/test-subpart test/mhshow/test-msg-buffer-boundaries \
test/cleanup ## The "cleanup" test should always be last.
XFAIL_TESTS = \
+ test/mhshow/test-binary \
test/scan/test-header-parsing \
#
--- /dev/null
+#!/bin/sh
+######################################################
+#
+# Test MIME parser on binary input
+#
+######################################################
+
+set -e
+
+if test -z "${MH_OBJ_DIR}"; then
+ srcdir=`dirname "$0"`/../..
+ MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR
+fi
+
+. "$MH_OBJ_DIR/test/common.sh"
+
+setup_test
+
+actual="$MH_TEST_DIR/test-binary$$.actual"
+expected="$MH_TEST_DIR/test-binary$$.expected"
+
+printf '%s\000%s' >"${expected}" \
+"[ Message inbox:11 ]
+To: recipient@example.edu
+From: sender@example.edu
+Subject: test binary content
+
+MIME-Version: 1.0
+
+[ part - text/plain - 20B ]
+Here's a null byte: " ".
+"
+
+printf '%s\000%s' >`mhpath new` \
+"From: sender@example.edu
+To: recipient@example.edu
+Subject: test binary content
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: binary
+
+Here's a null byte: " ".
+"
+
+run_prog mhshow last >"${actual}" 2>&1
+check "${expected}" "${actual}"
+
+finish_test
+exit $failed