[phobos] std.datetime unittest
Jonathan M Davis
jmdavisProg at gmx.com
Tue Jan 3 20:24:18 PST 2012
On Wednesday, January 04, 2012 04:55:17 Martin Nowak wrote:
> I regularly get a failing phobos unittest.
>
> core.exception.AssertError at std/datetime.d(28169): _assertPred!"==" failed:
> [PPT] is not == [PDT].
>
> As I am the only one it might be related to updating to FreeBSD9.
> How can I check that the timezone files are correct?
> Are there tools to decode timezone files?
Well, the FreeBSD box on the autotester is fine, though I don't know what
version of FreeBSD it's using. Your failure is just downright bizarre though.
According to
http://www.timeanddate.com/worldclock/timezone.html?n=137&syear=1925 that
abbreviation was used for daylight savings time in America/Los_Angeles between
1925 and 1949. The test tests it for the current time.
The question, therefore, is what time zone your box is set to. It could be
that setTZEnvVar isn't working correctly on your box. However, there don't
appear to be an time zones which currently use PPT for daylight savings time,
so I don't know that it's likely that that's causing the problem.
I suppose that the time zone files _could_ be corrupt, but that seems unlikely,
since it would fail to load if it didn't match the spec. More likely, the time
zone file is just wrong, but that would be weird, since theoretically, they all
come from the same source.
If you want to look at what's in the time zone file, then use zdump. If you use
it with -v, it'll spit out a bunch of lines looking like this:
America/Los_Angeles Sun Mar 8 10:00:00 2493 UTC = Sun Mar 8 03:00:00 2493
PDT isdst=1
Each of them represents a DST switch. On my computer (64-bit Linux), if I run
zdump America/Los_Angeles -v | grep PPT
then I get
America/Los_Angeles Tue Aug 14 23:00:00 1945 UTC = Tue Aug 14 16:00:00 1945
PPT isdst=1
America/Los_Angeles Sun Sep 30 08:59:59 1945 UTC = Sun Sep 30 01:59:59 1945
PPT isdst=1
If you're seeing more than those two lines, then something is definitely wrong
with your time zone file.
You could also tar up you /usr/share/zoneinfo directory, and I can have a look
at it, but zdump should be enough to tell you whether too many DST switches in
America/Los_Angeles use PPT. And if you're only getting those two lines, then
something else weird is going on that needs to be looked into.
- Jonathan M Davis
More information about the phobos
mailing list