]> diplodocus.org Git - nmh/blobdiff - test/mhshow/test-charset
mhshow/test-charset: Test iconv(1)'s result, not just its exit status.
[nmh] / test / mhshow / test-charset
index 86729a6545a73f74895d3e98844946f92b536d71..8f199678cda5c4c5ad30cebf6602a24d23695a9e 100755 (executable)
@@ -20,7 +20,19 @@ check_exit '-eq 1' mhshow -
 
 require_locale en_US.UTF-8 en_US.UTF8 en_US.utf-8 en_US.utf8
 
-test "$ICONV_ENABLED" -eq 0  &&  text_size=10  || text_size=11
+skip_param_value_checks=0
+if test "$ICONV_ENABLED" -eq 0; then
+    text_size=10
+else
+    text_size=11
+    #### For unknown reasons, the parameter values checks fail on the
+    #### FreeBSD10 buildbot.  It doesn't support EBCDIC-US, which is used
+    #### by the checks, so check for that.  Though that doesn't seem to be
+    #### the reason.
+    utf8="`printf '\344' | iconv -f EBCDIC-US -t UTF-8 2>/dev/null`" &&
+    test x"$utf8" = xU ||
+        skip_param_value_checks=1
+fi
 
 expected=$MH_TEST_DIR/$$.expected
 actual=$MH_TEST_DIR/$$.actual
@@ -71,6 +83,12 @@ run_prog mhshow $msgnum > $actual 2>&1
 check "$expected" "$actual" : locale profile component
 
 
+if test $skip_param_value_checks -eq 1; then
+    finish_test
+    exit $failed
+fi
+
+
 start_test 'Encoded parameter value'
 msgfile=`mhpath new`
 msgnum=`basename $msgfile`
@@ -104,15 +122,8 @@ Content-Description: bogus quoted-printable data
 4 รท 2 = 2
 EOF
 
-if test "$ICONV_ENABLED" -eq 1; then
-  if iconv -l | grep EBCDIC-US >/dev/null; then
-    #### For unknown reasons, this test fails on the FreeBSD10
-    #### buildbot.  It doesn't support EBCDIC-US, so skip it
-    #### on that bot.
-    run_prog mhshow $msgnum > $actual 2>&1
-    check "$expected" "$actual" : encoded parameter value
-  fi
-fi
+run_prog mhshow $msgnum > $actual 2>&1
+check "$expected" "$actual" : encoded parameter value
 
 
 start_test 'replacement character in parameter value'