From f3d446b60a082308ec5aaa2fdc36e31f566081bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Cajka?= Date: Thu, 22 Mar 2018 11:49:09 +0100 Subject: [PATCH 1/3] Don't use the bundled tzdata at runtime, except for the internal test suite --- src/time/internal_test.go | 7 +++++-- src/time/zoneinfo_test.go | 3 ++- src/time/zoneinfo_unix.go | 2 -- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/time/internal_test.go b/src/time/internal_test.go index 35ce69b228..1cea04ed7e 100644 --- a/src/time/internal_test.go +++ b/src/time/internal_test.go @@ -4,13 +4,15 @@ package time +import "runtime" + func init() { // force US/Pacific for time zone tests ForceUSPacificForTesting() } func initTestingZone() { - z, err := loadLocation("America/Los_Angeles", zoneSources[len(zoneSources)-1:]) + z, err := loadLocation("America/Los_Angeles", zoneSources) if err != nil { panic("cannot load America/Los_Angeles for testing: " + err.Error()) } @@ -21,8 +23,9 @@ func initTestingZone() { var OrigZoneSources = zoneSources func forceZipFileForTesting(zipOnly bool) { - zoneSources = make([]string, len(OrigZoneSources)) + zoneSources = make([]string, len(OrigZoneSources)+1) copy(zoneSources, OrigZoneSources) + zoneSources = append(zoneSources, runtime.GOROOT()+"/lib/time/zoneinfo.zip") if zipOnly { zoneSources = zoneSources[len(zoneSources)-1:] } diff --git a/src/time/zoneinfo_test.go b/src/time/zoneinfo_test.go index 277b68f798..be2aa6c687 100644 --- a/src/time/zoneinfo_test.go +++ b/src/time/zoneinfo_test.go @@ -9,6 +9,7 @@ import ( "fmt" "os" "reflect" + "runtime" "testing" "time" ) @@ -139,7 +140,7 @@ func TestLoadLocationFromTZData(t *testing.T) { t.Fatal(err) } - tzinfo, err := time.LoadTzinfo(locationName, time.OrigZoneSources[len(time.OrigZoneSources)-1]) + tzinfo, err := time.LoadTzinfo(locationName, runtime.GOROOT()+"/lib/time/zoneinfo.zip") if err != nil { t.Fatal(err) } diff --git a/src/time/zoneinfo_unix.go b/src/time/zoneinfo_unix.go index d2465eef65..b8c934c9a9 100644 --- a/src/time/zoneinfo_unix.go +++ b/src/time/zoneinfo_unix.go @@ -12,7 +12,6 @@ package time import ( - "runtime" "syscall" ) @@ -22,7 +21,6 @@ var zoneSources = []string{ "/usr/share/zoneinfo/", "/usr/share/lib/zoneinfo/", "/usr/lib/locale/TZ/", - runtime.GOROOT() + "/lib/time/zoneinfo.zip", } func initLocal() { -- 2.26.2