[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Nmh-workers] mhshow/test-charset failures in nmh-1.7 (`Can't conver
From: |
David Levine |
Subject: |
Re: [Nmh-workers] mhshow/test-charset failures in nmh-1.7 (`Can't convert ?us-ascii to UTF-8') |
Date: |
Fri, 24 Nov 2017 18:44:29 -0500 |
Leonardo wrote:
> (But, I think that this shouldn't matter according my code reading
> of relevant parts of nmh test suite because the test suite correctly
> inject them in the environment.)
Yes, that was the intent.
> And, with NetBSD iconv(1) I have:
>
> % printf '\xe4' | /usr/bin/iconv -f EBCDIC-US -t UTF-8
> U
Same here with GNU iconv(1) on Linux.
> ...while with iconv(1) provided by the `libiconv' package:
>
> % printf '\xe4' | /usr/pkg/bin/iconv -f EBCDIC-US -t UTF-8
> /usr/pkg/bin/iconv: conversion from EBCDIC-US unsupported
> /usr/pkg/bin/iconv: try '/usr/pkg/bin/iconv -l' to get the list of supported
> encodings
> % echo $?
> 1
>
> So, in if GNU iconv(1) is available `$skip_param_value_checks' is
> set to 1.
OK, the reason is that EBCDIC-US isn't known. Does /usr/pkg/bin/iconv -l
list another suitable character encoding, such as EBCDIC-UK? The test
uses an EBCDIC encoding to show that it really does a non-trivial
translation, but it could use a different one.
> I'm now curious if apart FreeBSD and NetBSD with `libiconv' package
> installed what happens on other platforms, just checking the exit status
> of: >
> $ printf '\xe4' | iconv -f EBCDIC-US -t UTF-8
>
> will be probably enough.
I get the same result as you: U with 0 exit status.
> If the exit status is 0 and then, in test-charset context
> `$skip_param_value_checks' is 0, what happens if you try (this is
> stolen entirely from 'replacement character in parameter value'
> test in test-charset):
>
> $ printf "Subject: invalid parameter value charset\nMIME-Version:
> 1.0\nContent-Type: text/plain; charset*=invalid''%%0Dus-ascii\n" | \
> mhshow -file - | cat
>
> Here, I have:
>
> | Subject: invalid parameter value charset
> |
> | mhshow: Can't convert ?us-ascii to UTF-8
> | mhshow: unable to convert character set from ?us-ascii, continuing...
> | [ part - text/plain - 0B ]
That was the intent, too. Based on Ralph's (re-?)discovery that the charset
name gets normalised by GNU iconv, I see now why the test behaved differently
on the FreeBSD 10 buildbot.
I reworked test-charset to reflect that. It still uses EBCDIC-US.
David
- [Nmh-workers] mhshow/test-charset failures in nmh-1.7 (`Can't convert ?us-ascii to UTF-8'), Leonardo Taccari, 2017/11/20
- Re: [Nmh-workers] mhshow/test-charset failures in nmh-1.7 (`Can't convert ?us-ascii to UTF-8'), Ralph Corderoy, 2017/11/20
- Re: [Nmh-workers] mhshow/test-charset failures in nmh-1.7 (`Can't convert ?us-ascii to UTF-8'), Robert Elz, 2017/11/24
- Re: [Nmh-workers] mhshow/test-charset failures in nmh-1.7 (`Can't convert ?us-ascii to UTF-8'), David Levine, 2017/11/24
- Re: [Nmh-workers] mhshow/test-charset failures in nmh-1.7 (`Can't convert ?us-ascii to UTF-8'), Robert Elz, 2017/11/25
- Re: [Nmh-workers] mhshow/test-charset failures in nmh-1.7 (`Can't convert ?us-ascii to UTF-8'), Ralph Corderoy, 2017/11/25
- Re: [Nmh-workers] mhshow/test-charset failures in nmh-1.7 (`Can't convert ?us-ascii to UTF-8'), David Levine, 2017/11/26