]> diplodocus.org Git - nmh/commitdiff
Added test/mhshow/test-binary. The MIME parser doesn't
authorDavid Levine <levinedl@acm.org>
Thu, 20 Oct 2016 23:38:01 +0000 (19:38 -0400)
committerDavid Levine <levinedl@acm.org>
Thu, 20 Oct 2016 23:38:01 +0000 (19:38 -0400)
properly handle null bytes because it uses getline().

Makefile.am
test/mhshow/test-binary [new file with mode: 0755]

index 8bd301c276ee9dd0c2c06f8ae54b8c26a1e9de71..54d87c1647909284a5e3f4a0217660750fa9c9e3 100644 (file)
@@ -82,6 +82,7 @@ TESTS = test/ali/test-ali test/anno/test-anno \
        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 \
@@ -112,6 +113,7 @@ TESTS = test/ali/test-ali test/anno/test-anno \
        test/cleanup ## The "cleanup" test should always be last.
 
 XFAIL_TESTS = \
+    test/mhshow/test-binary \
     test/scan/test-header-parsing \
     #
 
diff --git a/test/mhshow/test-binary b/test/mhshow/test-binary
new file mode 100755 (executable)
index 0000000..e7407a8
--- /dev/null
@@ -0,0 +1,49 @@
+#!/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