php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #70574 Tests fail due to relying on Linux fallback behavior for gettext()
Submitted: 2015-09-24 16:34 UTC Modified: -
From: rainer dot jung at kippdata dot de Assigned:
Status: Closed Package: Gettext related
PHP Version: 7.0.0RC3 OS: Solaris
Private report: No CVE-ID: None
 [2015-09-24 16:34 UTC] rainer dot jung at kippdata dot de
Description:
------------
The following six gettext tests fail on Solaris:

- ext/gettext/tests/gettext_basic-enus.phpt
- ext/gettext/tests/gettext_bindtextdomain-cwd.phpt
- ext/gettext/tests/gettext_dcgettext.phpt
- ext/gettext/tests/gettext_dgettext.phpt
- ext/gettext/tests/gettext_dngettext-plural.phpt
- ext/gettext/tests/gettext_ngettext.phpt

They fail, because they set locale to en_US.UTF-8, but the message catalog used in the tests is located in ext/gettext/tests/locale/en.

On Linux, gettext() has a fallback behavior. If it can't find the message for a certain locale, it will try other similar locals. So after looking for en_US.UTF-8, it checks en_US and finally en. But this behavior is a non-standard extension. On Solaris, gettext() will not fall back from en_US.UTF-8 to en.

The problem can be fixed for any platform, by moving the directory with the test message catalog to the correct place:

- move ext/gettext/tests/locale/en to ext/gettext/tests/locale/en_US.UTF-8
- move ext/gettext/tests/locale/fi to ext/gettext/tests/locale/fi_FI



Patches

Pull Requests

Pull requests:

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2020-08-05 12:05 UTC] flo at dotbox dot org
The following pull request has been associated:

Patch Name: Move message catalog to proper locale directory to fix #70574
On GitHub:  https://github.com/php/php-src/pull/5940
Patch:      https://github.com/php/php-src/pull/5940.patch
 [2020-08-07 12:38 UTC] nikic@php.net
Automatic comment on behalf of florian.engelhardt@oxid-esales.com
Revision: http://git.php.net/?p=php-src.git;a=commit;h=5be670265b261f2c0162ba89827f5652ba584b05
Log: Fix bug #70574: Move files to proper locale dir
 [2020-08-07 12:38 UTC] nikic@php.net
-Status: Open +Status: Closed
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 16:01:28 2024 UTC