From dc51aebecbd0558a2a7eadb41abd9f445b8c65a5 Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Mon, 22 Feb 2016 11:27:50 -0700 Subject: TODO or skip certain failing locale tests on cygwin This is a known problem which cygwin has fixed in 2.5 Tony Cook tested this and found and fixed several bugs in it before this final version was made. --- t/run/locale.t | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 't') diff --git a/t/run/locale.t b/t/run/locale.t index eb1202b68d..09e76f8247 100644 --- a/t/run/locale.t +++ b/t/run/locale.t @@ -47,7 +47,13 @@ SKIP: { isnt(setlocale(LC_ALL), "C", "retrieving current non-C LC_ALL doesn't give 'C'"); } -fresh_perl_is("for (qw(@locales)) {\n" . <<'EOF', +# Skip this locale on these cywgwin versions as the returned radix character +# length is wrong +my @test_numeric_locales = ($^O ne 'cygwin' || version->new(($Config{'osvers'} =~ /^(\d+(?:\.\d+)+)/)[0]) gt v2.4.1) + ? @locales + : grep { $_ !~ m/ps_AF/i } @locales; + +fresh_perl_is("for (qw(@test_numeric_locales)) {\n" . <<'EOF', use POSIX qw(locale_h); use locale; setlocale(LC_NUMERIC, "$_") or next; -- cgit v1.2.1