mailing list of musl libc
 help / color / mirror / code / Atom feed
* man-db 2.7.6.1: Test failures under musl libc
@ 2017-08-14 23:43 A. Wilcox
  2017-08-14 23:55 ` Rich Felker
  2017-08-26 12:04 ` Colin Watson
  0 siblings, 2 replies; 6+ messages in thread
From: A. Wilcox @ 2017-08-14 23:43 UTC (permalink / raw)
  To: cjwatson, musl, man-db-devel


[-- Attachment #1.1: Type: text/plain, Size: 452 bytes --]

Hello,

We are creating a new Linux distribution based on the musl libc focused
on security and reliability.  As such, we run test suites for all of our
packaged software.  The man-db test suite seems to have numerous
failures due to musl's iconv(3) (or more specifically, iconv_open(3))
method not supporting //IGNORE suffixes for character sets.

Best,
--arw

-- 
A. Wilcox (awilfox)
Project Lead, Adélie Linux
http://adelielinux.org

[-- Attachment #1.2: man-db-2.7.6.1-test-suite.log --]
[-- Type: text/plain, Size: 11597 bytes --]

==============================================
   man-db 2.7.6.1: src/tests/test-suite.log
==============================================

# TOTAL: 24
# PASS:  20
# SKIP:  0
# XFAIL: 0
# FAIL:  4
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: man-6
===========

No manual entry for test
  FAIL: missing locales
FAIL man-6 (exit status: 1)

FAIL: manconv-1
===============

lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument
--- /tmp/tmp.Z13DSCRrAK/1.exp	2017-08-14 23:36:45.092587088 +0000
+++ /tmp/tmp.Z13DSCRrAK/1.out	2017-08-14 23:36:45.092587088 +0000
@@ -1,2 +0,0 @@
-'\" -*- coding: ISO-8859-1
-á
  FAIL: simple coding tag
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument
--- /tmp/tmp.Z13DSCRrAK/2.exp	2017-08-14 23:36:45.252586798 +0000
+++ /tmp/tmp.Z13DSCRrAK/2.out	2017-08-14 23:36:45.255920125 +0000
@@ -1,2 +0,0 @@
-'\" -*- mode: troff; coding: ISO-8859-1
-á
  FAIL: mode and coding tags
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument
--- /tmp/tmp.Z13DSCRrAK/3.exp	2017-08-14 23:36:45.349253290 +0000
+++ /tmp/tmp.Z13DSCRrAK/3.out	2017-08-14 23:36:45.352586617 +0000
@@ -1,2 +0,0 @@
-'\" -*- mode: troff; coding: ISO-LATIN-1
-á
  FAIL: iso-latin-1 coding alias
lt-manconv: iconv_open ("UTF-8//IGNORE", "UTF-8"): Invalid argument
--- /tmp/tmp.Z13DSCRrAK/4.inp	2017-08-14 23:36:45.442586455 +0000
+++ /tmp/tmp.Z13DSCRrAK/4.out	2017-08-14 23:36:45.442586455 +0000
@@ -1 +0,0 @@
-'\" -*- nroff -*-
  FAIL: preprocessor comment but no coding tag
FAIL manconv-1 (exit status: 1)

FAIL: manconv-2
===============

lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument
--- /tmp/tmp.SkB1onmT18/1.exp	2017-08-14 23:36:45.289253399 +0000
+++ /tmp/tmp.SkB1onmT18/1.out	2017-08-14 23:36:45.289253399 +0000
@@ -1 +0,0 @@
- ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
  FAIL: -f UTF-8:ISO-8859-1 -t UTF-8 on ISO-8859-1 input
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-2"): Invalid argument
--- /tmp/tmp.SkB1onmT18/1-latin2.exp	2017-08-14 23:36:45.412586508 +0000
+++ /tmp/tmp.SkB1onmT18/1-latin2.out	2017-08-14 23:36:45.412586508 +0000
@@ -1 +0,0 @@
- Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙
  FAIL: -f UTF-8:ISO-8859-2 -t UTF-8 on ISO-8859-2 input
lt-manconv: iconv_open ("UTF-8//IGNORE", "KOI8-R"): Invalid argument
--- /tmp/tmp.SkB1onmT18/2.exp	2017-08-14 23:36:45.502586346 +0000
+++ /tmp/tmp.SkB1onmT18/2.out	2017-08-14 23:36:45.502586346 +0000
@@ -1,2 +0,0 @@
-Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б─░Б
-Б─░
  FAIL: -f UTF-8:KOI8-R -t UTF-8 on KOI8-R input with UTF-8 prefix
  PASS: -f UTF-8:ISO-8859-1 -t UTF-8 preserves UTF-8 input
lt-manconv: iconv_open ("ISO-8859-2//IGNORE", "UTF-8"): Invalid argument
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-2"): Invalid argument
--- /tmp/tmp.SkB1onmT18/4.exp	2017-08-14 23:36:45.702585984 +0000
+++ /tmp/tmp.SkB1onmT18/4.out	2017-08-14 23:36:45.702585984 +0000
@@ -1 +0,0 @@
-¹³
  FAIL: recognises input encoding and omits invalid output character
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-7"): Invalid argument
  PASS: copes with invalid input characters
FAIL manconv-2 (exit status: 1)

FAIL: manconv-3
===============

lt-manconv: iconv_open ("UTF-8//IGNORE", "EUC-JP"): Invalid argument
  FAIL: incomplete character at EOF
FAIL manconv-3 (exit status: 1)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: man-db 2.7.6.1: Test failures under musl libc
  2017-08-14 23:43 man-db 2.7.6.1: Test failures under musl libc A. Wilcox
@ 2017-08-14 23:55 ` Rich Felker
  2017-08-15  0:02   ` A. Wilcox
  2017-08-26 12:04 ` Colin Watson
  1 sibling, 1 reply; 6+ messages in thread
From: Rich Felker @ 2017-08-14 23:55 UTC (permalink / raw)
  To: musl

On Mon, Aug 14, 2017 at 06:43:27PM -0500, A. Wilcox wrote:
> Hello,
> 
> We are creating a new Linux distribution based on the musl libc focused
> on security and reliability.  As such, we run test suites for all of our
> packaged software.  The man-db test suite seems to have numerous
> failures due to musl's iconv(3) (or more specifically, iconv_open(3))
> method not supporting //IGNORE suffixes for character sets.

I'm not clear what it's trying to do with //IGNORE or why it wants it:

> ==============================================
>    man-db 2.7.6.1: src/tests/test-suite.log
> ==============================================
> 
> # TOTAL: 24
> # PASS:  20
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  4
> # XPASS: 0
> # ERROR: 0
> 
> .. contents:: :depth: 2
> 
> FAIL: man-6
> ===========
> 
> No manual entry for test
>   FAIL: missing locales
> FAIL man-6 (exit status: 1)
> 
> FAIL: manconv-1
> ===============
> 
> lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument
> --- /tmp/tmp.Z13DSCRrAK/1.exp	2017-08-14 23:36:45.092587088 +0000
> +++ /tmp/tmp.Z13DSCRrAK/1.out	2017-08-14 23:36:45.092587088 +0000
> @@ -1,2 +0,0 @@
> -'\" -*- coding: ISO-8859-1
> -??

Here the "//IGNORE" seems to be on the destination charset, and the
source charset, ISO-8859-1, does not have any illegal bytes/sequences,
so it's not clear what they're even trying to achieve. I think it's
just a wrong test but maybe you have some more insight?

> --- /tmp/tmp.SkB1onmT18/2.exp	2017-08-14 23:36:45.502586346 +0000
> +++ /tmp/tmp.SkB1onmT18/2.out	2017-08-14 23:36:45.502586346 +0000
> @@ -1,2 +0,0 @@
> -??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
> -????????
>   FAIL: -f UTF-8:KOI8-R -t UTF-8 on KOI8-R input with UTF-8 prefix
>   PASS: -f UTF-8:ISO-8859-1 -t UTF-8 preserves UTF-8 input
> lt-manconv: iconv_open ("ISO-8859-2//IGNORE", "UTF-8"): Invalid argument
> lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-2"): Invalid argument

This is the only one that seems to be different, trying to do some
sort of round trip test?

> --- /tmp/tmp.SkB1onmT18/4.exp	2017-08-14 23:36:45.702585984 +0000
> +++ /tmp/tmp.SkB1onmT18/4.out	2017-08-14 23:36:45.702585984 +0000
> @@ -1 +0,0 @@
> -??
>   FAIL: recognises input encoding and omits invalid output character
> lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-7"): Invalid argument
>   PASS: copes with invalid input characters
> FAIL manconv-2 (exit status: 1)

Not sure if this is any different.

> FAIL: manconv-3
> ===============
> 
> lt-manconv: iconv_open ("UTF-8//IGNORE", "EUC-JP"): Invalid argument
>   FAIL: incomplete character at EOF
> FAIL manconv-3 (exit status: 1)
> 

Looks like just the //IGNORE issue again. Not clear if it's supposed
to do anything useful in this case.

Rich


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: man-db 2.7.6.1: Test failures under musl libc
  2017-08-14 23:55 ` Rich Felker
@ 2017-08-15  0:02   ` A. Wilcox
  0 siblings, 0 replies; 6+ messages in thread
From: A. Wilcox @ 2017-08-15  0:02 UTC (permalink / raw)
  To: musl

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 14/08/17 18:55, Rich Felker wrote:
> I'm not clear what it's trying to do with //IGNORE or why it wants
> it:
> 
>> FAIL: manconv-1 ===============
>> 
>> lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid
>> argument --- /tmp/tmp.Z13DSCRrAK/1.exp	2017-08-14
>> 23:36:45.092587088 +0000 +++ /tmp/tmp.Z13DSCRrAK/1.out	2017-08-14
>> 23:36:45.092587088 +0000 @@ -1,2 +0,0 @@ -'\" -*- coding:
>> ISO-8859-1 -??
> 
> Here the "//IGNORE" seems to be on the destination charset, and
> the source charset, ISO-8859-1, does not have any illegal
> bytes/sequences, so it's not clear what they're even trying to
> achieve. I think it's just a wrong test but maybe you have some
> more insight?
> 


It seems to want to have illegal sequences 'pass through' unedited,
but I can't tell.  I meant to send this report to man-db's own list on
nongnu (autocomplete in Thunderbird strikes again); sorry for the noise.


Best,
- --arw

- -- 
A. Wilcox (awilfox)
Project Lead, Adélie Linux
http://adelielinux.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJZkjouAAoJEMspy1GSK50Uo+YQAJiZwMcIP5LgD+xSO6l2isc7
Kkh/rD4jK2O9TxThnwTwiZvzgQ1krbf3neTbLtLxhoErJB6yxEBCZGE5XGbr58u9
I+WtmBDtnIyMYouhLwvl/qex6I+xQvcfKEFlIkxfgGy9lcvZd0M6psFaMZrRRmRh
yWq2nQ1MiMkIrRNs4aqgHIB/4rizY3sCx5Qny9IbK4rbTfOWXQ+l7N413GggCgrl
q9CezuhNEm1Mpp9CcCOwnVRrSYBTA+nFdZDYeB7CgDgl9S4W8N7dpcllvwqxduqt
TAPh32bES/LdNSAbjzXev0MsmrHTemPWCEYQV1CmM767n6Olwsk09uJGK4s7a+HN
zPFvVOzRZFetgAyAGG7VCEk2CCYA2JI3ARdWp8KqIq0UJseJi5QLRCZJXgkFgQ6H
CQkRIrqm3eNfXxvxuMSidMEtpUqFj9KtlJl+5chxd3LVEVrp9DbarbW6dYKUoKH5
1fefKeHHwSDGiu/5u/98QZRvmlp6cmXXc9xDi2uFer75ZoLaD1yWHG5ESZdKSZ2L
NE/v6+MatT+ki1OX2FPUce3OiBwN2frOt+8KD07yyRtX3kqqb8jUICCFx2NaQsfe
bdAeJDWeisu53OIYVULWFqdgsooJRLeR5C8cR8+rjRNPfGi/XVzjPVVWtFhvBIfW
8oNNDtpkNaum44RikDwZ
=6r8W
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: man-db 2.7.6.1: Test failures under musl libc
  2017-08-14 23:43 man-db 2.7.6.1: Test failures under musl libc A. Wilcox
  2017-08-14 23:55 ` Rich Felker
@ 2017-08-26 12:04 ` Colin Watson
  2017-08-26 13:28   ` Rich Felker
  1 sibling, 1 reply; 6+ messages in thread
From: Colin Watson @ 2017-08-26 12:04 UTC (permalink / raw)
  To: A. Wilcox; +Cc: musl, man-db-devel

On Mon, Aug 14, 2017 at 06:43:27PM -0500, A. Wilcox wrote:
> We are creating a new Linux distribution based on the musl libc focused
> on security and reliability.  As such, we run test suites for all of our
> packaged software.  The man-db test suite seems to have numerous
> failures due to musl's iconv(3) (or more specifically, iconv_open(3))
> method not supporting //IGNORE suffixes for character sets.

man-db can't reasonably do without //IGNORE, certainly not if you want
reliability.  Can you try building man-db with GNU libiconv?  The build
system uses AM_ICONV already, so should have enough options to let you
do this.

(I'd take a patch to the build system to have it detect this situation
and emit an error earlier if //IGNORE isn't available.)

Thanks,

-- 
Colin Watson                                       [cjwatson@debian.org]


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Re: man-db 2.7.6.1: Test failures under musl libc
  2017-08-26 12:04 ` Colin Watson
@ 2017-08-26 13:28   ` Rich Felker
  2017-08-26 15:13     ` Colin Watson
  0 siblings, 1 reply; 6+ messages in thread
From: Rich Felker @ 2017-08-26 13:28 UTC (permalink / raw)
  To: Colin Watson; +Cc: A. Wilcox, musl, man-db-devel

On Sat, Aug 26, 2017 at 01:04:26PM +0100, Colin Watson wrote:
> On Mon, Aug 14, 2017 at 06:43:27PM -0500, A. Wilcox wrote:
> > We are creating a new Linux distribution based on the musl libc focused
> > on security and reliability.  As such, we run test suites for all of our
> > packaged software.  The man-db test suite seems to have numerous
> > failures due to musl's iconv(3) (or more specifically, iconv_open(3))
> > method not supporting //IGNORE suffixes for character sets.
> 
> man-db can't reasonably do without //IGNORE, certainly not if you want
> reliability.  Can you try building man-db with GNU libiconv?  The build
> system uses AM_ICONV already, so should have enough options to let you
> do this.
> 
> (I'd take a patch to the build system to have it detect this situation
> and emit an error earlier if //IGNORE isn't available.)

Can you explain? This seems wrong; maybe I misunderstand //IGNORE but
I can't come up with any plausible scenario where a conversion with
//IGNORE would produce usable output.

Also please be aware that the encoding on a system using musl is
always UTF-8 (musl only supports UTF-8 locales), so conversion of
man pages to another locale that can't represent their contents is
out-of-scope. I'm not sure if //IGNORE would be useful for this anyway
(I couldn't figure out from the failed tests what the intent was) but
I mention it because it may be related.

Rich


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Re: man-db 2.7.6.1: Test failures under musl libc
  2017-08-26 13:28   ` Rich Felker
@ 2017-08-26 15:13     ` Colin Watson
  0 siblings, 0 replies; 6+ messages in thread
From: Colin Watson @ 2017-08-26 15:13 UTC (permalink / raw)
  To: Rich Felker; +Cc: A. Wilcox, musl, man-db-devel

On Sat, Aug 26, 2017 at 09:28:08AM -0400, Rich Felker wrote:
> On Sat, Aug 26, 2017 at 01:04:26PM +0100, Colin Watson wrote:
> > man-db can't reasonably do without //IGNORE, certainly not if you want
> > reliability.  Can you try building man-db with GNU libiconv?  The build
> > system uses AM_ICONV already, so should have enough options to let you
> > do this.
> > 
> > (I'd take a patch to the build system to have it detect this situation
> > and emit an error earlier if //IGNORE isn't available.)
> 
> Can you explain? This seems wrong; maybe I misunderstand //IGNORE but
> I can't come up with any plausible scenario where a conversion with
> //IGNORE would produce usable output.

No, it definitely did help in some cases.  Here's the NEWS entry from
when I added that:

        o apropos, lexgrog, man, mandb, and whatis ignore encoding
          conversion errors for the last possible encoding of the source
          page. This helps, for example, with pages including misencoded
          non-ASCII names of authors; it usually seems better to allow these
          pages to pass with small errors than to break them entirely.

That was nine years ago so I no longer have specific examples to hand,
but that's the sort of thing my past self wouldn't have bothered doing
without having run into it in practice. :-)  I seem to remember the case
of non-ASCII authors' names in otherwise-ASCII pages being quite common,
and especially back then the toolchain wasn't always happy to accept
UTF-8 at every stage in every environment.

(This is all after manconv has made its best guess as to the input
encoding using stricter checks; the choice at this point is normally
between mostly-correct output or an error.  For many programs I agree
that an error would be more appropriate, but for a program whose job is
to display documentation I prefer to make a best effort to do so.)

This is actually a bit less critical than I remembered.  I still think
it's worthwhile in general, but I'd also take a patch to use //IGNORE
only when an iconv implementation that supports it is in use.

> Also please be aware that the encoding on a system using musl is
> always UTF-8 (musl only supports UTF-8 locales), so conversion of
> man pages to another locale that can't represent their contents is
> out-of-scope.

Well, you also have the C locale which isn't really true UTF-8.  But
anyway, as noted above, the use of //IGNORE here is not intended for the
case where we are totally unable to represent any of the contents, but
rather for the case of small unrepresentable sections.

-- 
Colin Watson                                       [cjwatson@debian.org]


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-08-26 15:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-14 23:43 man-db 2.7.6.1: Test failures under musl libc A. Wilcox
2017-08-14 23:55 ` Rich Felker
2017-08-15  0:02   ` A. Wilcox
2017-08-26 12:04 ` Colin Watson
2017-08-26 13:28   ` Rich Felker
2017-08-26 15:13     ` Colin Watson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).