Skip Menu |

This queue is for tickets about the PFT CPAN distribution.

Report information
The Basics
Id: 116333
Status: patched
Priority: 0/
Queue: PFT

People
Owner: DACAV [...] cpan.org
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in:
  • v1.0.0
  • v1.0.2
  • v1.0.3
  • v1.1.2
  • v1.2.0
  • v1.2.1
Fixed in: (no value)



Subject: Tests fail (with non-utf8 locale?)
On some of my smokers I see the following test failures --- probably only if LC_ALL is set to a non-utf8 locale (e.g. C or de_DE.ISO8859-1): ... "\x{00e3}" does not map to ascii at t/check-header.t line 29. "\x{00c3}" does not map to ascii at t/check-header.t line 29. "\x{00a5}" does not map to ascii at t/check-header.t line 29. # Failed test 'dump and reload, no date' # at t/check-header.t line 35. # Structures begin differing at: # $got->{title} = 'R\x{00c3}\x{00a5}dmansgatan' # $expected->{title} = 'Rådmansgatan' "\x{00e3}" does not map to ascii at t/check-header.t line 29. "\x{00c3}" does not map to ascii at t/check-header.t line 29. "\x{00a5}" does not map to ascii at t/check-header.t line 29. # Failed test 'dump and reload, 2014-12-16' # at t/check-header.t line 35. # Structures begin differing at: # $got->{slug} = 'r-x-00e3-dmansgatan' # $expected->{slug} = 'r�-dmansgatan' # date parameter must be PFT::Date at /tmpfs/.cpan-build-cpansand/2016071921/PFT-v1.0.0-6/blib/lib/PFT/Header.pm line 95. # PFT::Header::_params_check(HASH(0x250a410)) called at /tmpfs/.cpan-build-cpansand/2016071921/PFT-v1.0.0-6/blib/lib/PFT/Header.pm line 141 # PFT::Header::new("PFT::Header", "title", "X", "date", 0) called at t/check-header.t line 38 # eval {...} called at t/check-header.t line 38 # Title is mandatory headers having complete date at t/check-header.t line 44. # Year and month are mandatory for headers with date at t/check-header.t line 55. "\x{00e3}" does not map to ascii at t/check-header.t line 68. "\x{00c3}" does not map to ascii at t/check-header.t line 68. "\x{00a5}" does not map to ascii at t/check-header.t line 68. # Failed test 'reload from path' # at t/check-header.t line 70. # Structures begin differing at: # $got->{slug} = 'r-x-00e3-dmansgatan' # $expected->{slug} = 'r�-dmansgatan' # Looks like you failed 3 tests of 14. t/check-header.t ....... Dubious, test returned 3 (wstat 768, 0x300) Failed 3/14 subtests ...
On Tue Jul 19 18:11:54 2016, SREZIC wrote: Show quoted text
> On some of my smokers I see the following test failures --- probably > only if LC_ALL is set to a non-utf8 locale (e.g. C or de_DE.ISO8859- > 1):
Hello SREZIC, Unfortunately, yes. I've been testing the correct behavior of the module with Unicode, and I was using utf8 as encoding. Then I realized how this breaks things with POSIX, but apparently also with de_DE.ISO8859-1. I would need to modify the tests, so it can actually work fine with other encodings. Something similar to: - In unit-test, detect the locale; - Take the test names which depend on the locale - Test with that. This is a simple fix, but requires a bit of time. I'll do my best to fix it.
On Wed Jul 20 00:11:54 2016, SREZIC wrote: Show quoted text
> On some of my smokers I see the following test failures --- probably > only if LC_ALL is set to a non-utf8 locale (e.g. C or de_DE.ISO8859- > 1):
It has been now quite a lot of time, but I finally took the time to fix the unit-test to work with different encodings (simply skipping utf-8 strings unless the locale is utf-8): https://github.com/dacav/PFT/commit/4f0c13caae9305d0ae9b883b55539a665930cf8d
On Wed Jul 20 00:11:54 2016, SREZIC wrote: Show quoted text
> On some of my smokers I see the following test failures --- probably > only if LC_ALL is set to a non-utf8 locale (e.g. C or de_DE.ISO8859- > 1): > > ... > "\x{00e3}" does not map to ascii at t/check-header.t line 29. > "\x{00c3}" does not map to ascii at t/check-header.t line 29. > "\x{00a5}" does not map to ascii at t/check-header.t line 29. > > # Failed test 'dump and reload, no date' > # at t/check-header.t line 35. > # Structures begin differing at: > # $got->{title} = 'R\x{00c3}\x{00a5}dmansgatan' > # $expected->{title} = 'Rådmansgatan' > "\x{00e3}" does not map to ascii at t/check-header.t line 29. > "\x{00c3}" does not map to ascii at t/check-header.t line 29. > "\x{00a5}" does not map to ascii at t/check-header.t line 29. > > # Failed test 'dump and reload, 2014-12-16' > # at t/check-header.t line 35. > # Structures begin differing at: > # $got->{slug} = 'r-x-00e3-dmansgatan' > # $expected->{slug} = 'r�-dmansgatan' > # date parameter must be PFT::Date at /tmpfs/.cpan-build- > cpansand/2016071921/PFT-v1.0.0-6/blib/lib/PFT/Header.pm line 95. > # PFT::Header::_params_check(HASH(0x250a410)) called at > /tmpfs/.cpan-build-cpansand/2016071921/PFT-v1.0.0- > 6/blib/lib/PFT/Header.pm line 141 > # PFT::Header::new("PFT::Header", "title", "X", "date", 0) > called at t/check-header.t line 38 > # eval {...} called at t/check-header.t line 38 > # Title is mandatory headers having complete date at t/check-header.t > line 44. > # Year and month are mandatory for headers with date at t/check- > header.t line 55. > "\x{00e3}" does not map to ascii at t/check-header.t line 68. > "\x{00c3}" does not map to ascii at t/check-header.t line 68. > "\x{00a5}" does not map to ascii at t/check-header.t line 68. > > # Failed test 'reload from path' > # at t/check-header.t line 70. > # Structures begin differing at: > # $got->{slug} = 'r-x-00e3-dmansgatan' > # $expected->{slug} = 'r�-dmansgatan' > # Looks like you failed 3 tests of 14. > t/check-header.t ....... > Dubious, test returned 3 (wstat 768, 0x300) > Failed 3/14 subtests > ...