in reply to Re^15: Testing Time::Piece on Windows/VC
in thread Testing Time::Piece on Windows/VC
Using VC 7 and a perl-5.10.0 built by VC 7 everything works fine and the modified script outputs (as desired):SKIP: { skip "can't register TZ changes in a pseudo-fork", 2 if $is_pseudo +_fork; use POSIX; warn "1 POSIX::strftime: ", POSIX::strftime("%Z\n", localtime); local $ENV{TZ} = "EST5"; warn "2 POSIX::strftime: ", POSIX::strftime("%Z\n", localtime); Time::Piece::_tzset(); # register the environment change warn "3 POSIX::strftime: ", POSIX::strftime("%Z\n", localtime); my $lt = localtime; cmp_ok(scalar($lt->tzoffset), 'eq', '-18000'); cmp_ok($lt->strftime("%Z"), 'eq', 'EST'); }
But using VC 7 with ActivePerl-5.10.1 (or with ActivePerl-5.10.0), the output becomes:. . ok 37 1 POSIX::strftime: AUS Eastern Daylight Time 2 POSIX::strftime: EST 3 POSIX::strftime: EST ok 38 ok 39 ok 40 . .
Apparently for this test to work with MSVC++ 7.0 on a perl built by MSVC++ 6, the Time::Piece authors need to devise a way of getting the change to $ENV{TZ} reflected in the right place so that their strtftime call can detect it.. . ok 37 1 POSIX::strftime: AUS Eastern Daylight Time 2 POSIX::strftime: AUS Eastern Daylight Time 3 POSIX::strftime: AUS Eastern Daylight Time ok 38 not ok 39 # Failed test at t/02core.t line 65. # got: '' # expected: 'EST' ok 40 . .
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^17: Testing Time::Piece on Windows/VC
by BrowserUk (Patriarch) on Feb 03, 2010 at 07:49 UTC |