jwilk / i18nspector

checking tool for gettext POT, PO and MO files
https://jwilk.net/software/i18nspector
MIT License
2 stars 4 forks source link

Apline Linux: broken lib.iconv #4

Open jwilk opened 6 years ago

jwilk commented 6 years ago

I got these test failures on Alpine Linux 3.7.0:

======================================================================
ERROR: tests.test_encodings.test_extra_encoding.test_mb_decode
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jwilk/.local/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/home/jwilk/i18nspector/tests/../tests/tools.py", line 89, in wrapper
    raise IsolatedError('\n\n' + msg)
tests.tools.IsolatedError: 

Traceback (most recent call last):
  File "/home/jwilk/i18nspector/tests/../tests/tools.py", line 66, in wrapper
    f(*args, **kwargs)
  File "/home/jwilk/i18nspector/tests/../tests/test_encodings.py", line 258, in test_mb_decode
    u = b.decode('EUC-TW')
  File "/home/jwilk/i18nspector/lib/encodings.py", line 85, in decode
    output = iconv.decode(bytes(input), encoding=encoding, errors=errors)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 160, in decode
    return _decode(input, encoding=encoding)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 167, in _decode_dl
    raise OSError(rc, os.strerror(rc))
OSError: [Errno 22] Invalid argument

======================================================================
ERROR: tests.test_encodings.test_extra_encoding.test_mb_decode_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jwilk/.local/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/home/jwilk/i18nspector/tests/../tests/tools.py", line 89, in wrapper
    raise IsolatedError('\n\n' + msg)
tests.tools.IsolatedError: 

Traceback (most recent call last):
  File "/home/jwilk/i18nspector/tests/../tests/tools.py", line 66, in wrapper
    f(*args, **kwargs)
  File "/home/jwilk/i18nspector/tests/../tests/test_encodings.py", line 266, in test_mb_decode_error
    b.decode('EUC-TW')
  File "/home/jwilk/i18nspector/lib/encodings.py", line 85, in decode
    output = iconv.decode(bytes(input), encoding=encoding, errors=errors)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 160, in decode
    return _decode(input, encoding=encoding)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 167, in _decode_dl
    raise OSError(rc, os.strerror(rc))
OSError: [Errno 22] Invalid argument

======================================================================
ERROR: tests.test_encodings.test_extra_encoding.test_mb_encode
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jwilk/.local/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/home/jwilk/i18nspector/tests/../tests/tools.py", line 89, in wrapper
    raise IsolatedError('\n\n' + msg)
tests.tools.IsolatedError: 

Traceback (most recent call last):
  File "/home/jwilk/i18nspector/tests/../tests/tools.py", line 66, in wrapper
    f(*args, **kwargs)
  File "/home/jwilk/i18nspector/tests/../tests/test_encodings.py", line 244, in test_mb_encode
    b = u.encode('EUC-TW')
  File "/home/jwilk/i18nspector/lib/encodings.py", line 81, in encode
    output = iconv.encode(input, encoding=encoding, errors=errors)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 73, in encode
    return _encode(input, encoding=encoding)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 84, in _encode_dl
    raise OSError(rc, os.strerror(rc))
OSError: [Errno 22] Invalid argument

======================================================================
ERROR: tests.test_encodings.test_extra_encoding.test_mb_encode_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jwilk/.local/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/home/jwilk/i18nspector/tests/../tests/tools.py", line 89, in wrapper
    raise IsolatedError('\n\n' + msg)
tests.tools.IsolatedError: 

Traceback (most recent call last):
  File "/home/jwilk/i18nspector/tests/../tests/tools.py", line 66, in wrapper
    f(*args, **kwargs)
  File "/home/jwilk/i18nspector/tests/../tests/test_encodings.py", line 252, in test_mb_encode_error
    u.encode('EUC-TW')
  File "/home/jwilk/i18nspector/lib/encodings.py", line 81, in encode
    output = iconv.encode(input, encoding=encoding, errors=errors)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 73, in encode
    return _encode(input, encoding=encoding)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 84, in _encode_dl
    raise OSError(rc, os.strerror(rc))
OSError: [Errno 22] Invalid argument

======================================================================
ERROR: tests.test_iconv.test_tcvn.test_decode
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jwilk/.local/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/home/jwilk/i18nspector/tests/../tests/test_iconv.py", line 37, in test_decode
    u = M.decode(self.b, self.e)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 160, in decode
    return _decode(input, encoding=encoding)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 167, in _decode_dl
    raise OSError(rc, os.strerror(rc))
OSError: [Errno 22] Invalid argument

======================================================================
ERROR: tests.test_iconv.test_tcvn.test_encode
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jwilk/.local/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/home/jwilk/i18nspector/tests/../tests/test_iconv.py", line 33, in test_encode
    b = M.encode(self.u, self.e)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 73, in encode
    return _encode(input, encoding=encoding)
  File "/home/jwilk/i18nspector/lib/iconv.py", line 84, in _encode_dl
    raise OSError(rc, os.strerror(rc))
OSError: [Errno 22] Invalid argument
jwilk commented 5 years ago

musl libc doesn't support the EUC-TW encoding. :-/