develooper Front page | perl.perl5.porters | Postings from February 2014

lib/locale.t warnings

Thread Next
From:
Dave Mitchell
Date:
February 23, 2014 14:50
Subject:
lib/locale.t warnings
Message ID:
20140223145034.GN1615@iabyn.com
I haven't been following the recent locale.t threads very closely, since
they seem to relate to test failures on platforms I don't use.
However, recently, I've started seeing *warnings* generated by locale.t.
For example on today's blead v5.19.9-28-gdca36a0, on Linux I see:

$ ./perl harness run/locale.t
run/locale.t .. 8/19 sh: warning: setlocale: LC_ALL: cannot change locale (invalid): No such file or directory
sh: warning: setlocale: LC_ALL: cannot change locale (invalid): No such file or directory
run/locale.t .. ok     
All tests successful.
Files=1, Tests=19,  1 wallclock secs ( 0.03 usr  0.01 sys +  0.68 cusr  0.09 csys =  0.81 CPU)
Result: PASS

It appears to be this part of the test file:

        local $ENV{LC_ALL} = "invalid";
	local $ENV{LC_NUMERIC} = "invalid";
        local $ENV{LANG} = $_;

        # Can't turn off the warnings, so send them to /dev/null
        fresh_perl_is(<<'EOF', "$difference", { stderr => "devnull" },
        ....

And it appears to be that fresh_perl_is() is spawning a shell which then
spawns perl, which runs the test code. But the invalid LC_ALL is seen by
the intervening shell, which is generating the warnings.

I'm not sure what the best workaround is.

-- 
I thought I was wrong once, but I was mistaken.

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About