Fix TimeZoneRegressionTest.TestJ5134 time period
Fix TimeZoneRegressionTest time period to be within the
int32 seconds range.
The test compared ICU's TimeZone behavior with java.util.TimeZone
for America/New_York for each day within a time period from 1900/01/01
to 1950/01/01. ICU appears to get offsets wrong before Integer.MIN_VALUE
seconds (1901/12/13 20:45:52 GMT) due to incorrect zic data.
Before this change the time period started at 1900/01/01 00:00:00 GMT
(plus random millis). After this change the time period starts at
Integer.MIN_VALUE instead (1901/12/13 20:45:52 GMT). Android / ICU are
more likely to agree within this range as this is the range guaranteed
correct by Android (for historic reasons).
Android has recently updated to using zic version 2019a in aosp/master when
generating the file behind its implementation of java.util.TimeZone.
According to the readme.txt in ICU's tzcode dir, ICU 63 uses zic version
2014b. Android discovered a similar bug [1] when upgrading but it may not
be the same one as ICU clearly uses >v1 of the Tzif format while Android
remains on v1.
[1] http://r.android.com/c/platform/libcore/+/929997/5/luni/src/test/java/libcore/java/util/TimeZoneTest.java#352
Bug: 130532697
Test: atest CtsIcuTestCases:android.icu.dev.test.timezone.TimeZoneRegressionTest
Change-Id: I3bc09d0be0d39c7b827099c938e2c94a90074724
2 files changed