Fix for tzdata 2017a
This commit is contained in:
parent
8a9e12846a
commit
6974f956bc
|
@ -137,6 +137,8 @@ Patch217: ppc64x-overflow-2.patch
|
|||
# Proposed patch by mmunday https://golang.org/cl/35262
|
||||
Patch219: s390x-expose-IfInfomsg-X__ifi_pad.patch
|
||||
|
||||
Patch220: tzdata-fix.patch
|
||||
|
||||
# Having documentation separate was broken
|
||||
Obsoletes: %{name}-docs < 1.1-4
|
||||
|
||||
|
@ -264,6 +266,8 @@ Summary: Golang shared object libraries
|
|||
|
||||
%patch219 -p1
|
||||
|
||||
%patch220 -p1
|
||||
|
||||
%build
|
||||
# print out system information
|
||||
uname -a
|
||||
|
@ -482,6 +486,7 @@ fi
|
|||
%changelog
|
||||
* Thu Mar 16 2017 Jakub Čajka <jcajka@redhat.com> - 1.7.5-2
|
||||
- disable failure in tests on ppc64
|
||||
- include fix for tzdata-2017a
|
||||
|
||||
* Fri Jan 27 2017 Jakub Čajka <jcajka@redhat.com> - 1.7.5-1
|
||||
- bump to go1.7.5
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
From 8890527476e25747f063377d637b106db0008329 Mon Sep 17 00:00:00 2001
|
||||
From: Alberto Donizetti <alb.donizetti@gmail.com>
|
||||
Date: Thu, 9 Mar 2017 13:20:54 +0100
|
||||
Subject: [PATCH] [release-branch.go1.8] time: make the ParseInLocation test
|
||||
more robust
|
||||
|
||||
The tzdata 2017a update (2017-02-28) changed the abbreviation of the
|
||||
Asia/Baghdad time zone (used in TestParseInLocation) from 'AST' to the
|
||||
numeric '+03'.
|
||||
|
||||
Update the test so that it skips the checks if we're using a recent
|
||||
tzdata release.
|
||||
|
||||
Fixes #19457
|
||||
|
||||
Change-Id: I45d705a5520743a611bdd194dc8f8d618679980c
|
||||
Reviewed-on: https://go-review.googlesource.com/37964
|
||||
Reviewed-by: Ian Lance Taylor <iant@golang.org>
|
||||
Run-TryBot: Ian Lance Taylor <iant@golang.org>
|
||||
TryBot-Result: Gobot Gobot <gobot@golang.org>
|
||||
(cherry picked from commit 91563ced5897faf729a34be7081568efcfedda31)
|
||||
Reviewed-on: https://go-review.googlesource.com/37991
|
||||
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
|
||||
---
|
||||
src/time/format_test.go | 41 +++++++++++++++++++++++++++++++----------
|
||||
1 file changed, 31 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/time/format_test.go b/src/time/format_test.go
|
||||
index 219c2ca..d0013bc 100644
|
||||
--- a/src/time/format_test.go
|
||||
+++ b/src/time/format_test.go
|
||||
@@ -245,27 +245,45 @@ func TestParseDayOutOfRange(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
+// TestParseInLocation checks that the Parse and ParseInLocation
|
||||
+// functions do not get confused by the fact that AST (Arabia Standard
|
||||
+// Time) and AST (Atlantic Standard Time) are different time zones,
|
||||
+// even though they have the same abbreviation.
|
||||
+//
|
||||
+// ICANN has been slowly phasing out invented abbreviation in favor of
|
||||
+// numeric time zones (for example, the Asia/Baghdad time zone
|
||||
+// abbreviation got changed from AST to +03 in the 2017a tzdata
|
||||
+// release); but we still want to make sure that the time package does
|
||||
+// not get confused on systems with slightly older tzdata packages.
|
||||
func TestParseInLocation(t *testing.T) {
|
||||
- // Check that Parse (and ParseInLocation) understand that
|
||||
- // Feb 01 AST (Arabia Standard Time) and Feb 01 AST (Atlantic Standard Time)
|
||||
- // are in different time zones even though both are called AST
|
||||
|
||||
baghdad, err := LoadLocation("Asia/Baghdad")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
- t1, err := ParseInLocation("Jan 02 2006 MST", "Feb 01 2013 AST", baghdad)
|
||||
+ var t1, t2 Time
|
||||
+
|
||||
+ t1, err = ParseInLocation("Jan 02 2006 MST", "Feb 01 2013 AST", baghdad)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
- t2 := Date(2013, February, 1, 00, 00, 00, 0, baghdad)
|
||||
- if t1 != t2 {
|
||||
- t.Fatalf("ParseInLocation(Feb 01 2013 AST, Baghdad) = %v, want %v", t1, t2)
|
||||
- }
|
||||
+
|
||||
_, offset := t1.Zone()
|
||||
- if offset != 3*60*60 {
|
||||
- t.Fatalf("ParseInLocation(Feb 01 2013 AST, Baghdad).Zone = _, %d, want _, %d", offset, 3*60*60)
|
||||
+
|
||||
+ // A zero offset means that ParseInLocation did not recognize the
|
||||
+ // 'AST' abbreviation as matching the current location (Baghdad,
|
||||
+ // where we'd expect a +03 hrs offset); likely because we're using
|
||||
+ // a recent tzdata release (2017a or newer).
|
||||
+ // If it happens, skip the Baghdad test.
|
||||
+ if offset != 0 {
|
||||
+ t2 = Date(2013, February, 1, 00, 00, 00, 0, baghdad)
|
||||
+ if t1 != t2 {
|
||||
+ t.Fatalf("ParseInLocation(Feb 01 2013 AST, Baghdad) = %v, want %v", t1, t2)
|
||||
+ }
|
||||
+ if offset != 3*60*60 {
|
||||
+ t.Fatalf("ParseInLocation(Feb 01 2013 AST, Baghdad).Zone = _, %d, want _, %d", offset, 3*60*60)
|
||||
+ }
|
||||
}
|
||||
|
||||
blancSablon, err := LoadLocation("America/Blanc-Sablon")
|
||||
@@ -273,6 +291,9 @@ func TestParseInLocation(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
+ // In this case 'AST' means 'Atlantic Standard Time', and we
|
||||
+ // expect the abbreviation to correctly match the american
|
||||
+ // location.
|
||||
t1, err = ParseInLocation("Jan 02 2006 MST", "Feb 01 2013 AST", blancSablon)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
Loading…
Reference in New Issue