[tz] Adding a "test" region?
Philip Paeps
philip at trouble.is
Wed Jan 24 22:30:45 UTC 2018
On 2018-01-24 23:22:19 (+0100), Philip Paeps wrote:
>On 2018-01-24 16:36:45 (-0500), Paul G wrote:
>>All this hubbub about the negative SAVE values in the tzdb source
>>code makes it pretty obvious that downstream consumers are making
>>some assumptions about undocumented features of the tzdb code. I'm
>>wondering if it might be worth it to add a new region that contains
>>fictional time zones that have properties that are perfectly valid
>>but are edge cases that might be improperly handled downstream. It's
>>probably a good idea to have this sort of thing in place *before*
>>some region makes a change that actually violates one of these
>>assumptions.
>>
>>A few example test cases I can think of (but I assume others will
>>have *many* other ideas):
>>
>>- Zone with negative DST
>>- Zone with large DST offset and/or large standard offset
>>- Zone with 3, 4 or 5 offsets per year
>>- Zone which goes from STD->DST with no change in offset.
>>- Zone with new rules that don't take place until after 2038
>>- Zone with arbitrary DST offsets (10m15s, for example)
>>- Zone that corresponds to TAI (e.g. offsets change to compensate for leap seconds)
>
>I think this is an excellent idea. But it should be a very obviously
>fictional region -- obvious enough even to end consumers that it can
>be distributed default enabled and not hidden behind a build-time knob
>nobody will ever touch. So it should not look like a test to the
>casual lazy distributor who doesn't want to distribute test code.
>
>Suggestions:
>
> Dystopia/Isle_of_Negative_Save
> Dystopia/Half_Hour_Bay
> Dystopia/Fifteen_Minutes_Late_Land
> Dystopia/Fifteen_Minutes_Early_Town
> Dystopia/Twice_Yearly_DST_Ville
> Dystopia/...
>
>It can be Utopia too. It can be anything other than "Test". People
>will just disable "Test" and not distribute it.
>
>>Downstream consumers could then use this in their test suites and be
>>effectively "on notice" that they should be able to handle these
>>sorts of cases, even though we have no examples of them existing in
>>the wild (though there's actually some case to be made for
>>interpreting TAI as a time zone, in which case that one *does* exist
>>in the wild).
>
>If it's going to be surrounded by "test" fences, nobody is every going
>to actually test it. If we make it obviously fictional, it can be on
>by default an distributed with the rest of the data.
Come to think of it - it may be wiser to make it a subregion rather than
a new region. Possibly under Arctic since there's only one zone there
with a population of well under 10,000 humans.
Arctic/Dystopia/...
Rationale: systems may get confused if the top-level regions increase
but are likely already more or less accustomed to changes at the second
level.
Philip
--
Philip Paeps
Senior Reality Engineer
Ministry of Information
More information about the tz
mailing list