From 139fad21b937dc0b405d243e3abe33429890947f Mon Sep 17 00:00:00 2001 From: Caleb Spare Date: Wed, 23 Mar 2016 17:33:32 -0700 Subject: [PATCH] all: zero mtimes in testdata gz files Fixes #14937. Change-Id: Iea11a32230d44d5a43f8aec812d25f13bce85895 Reviewed-on: https://go-review.googlesource.com/21038 Reviewed-by: Brad Fitzpatrick Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/compress/gzip/issue14937_test.go | 52 +++++++++++++++++++++ src/compress/gzip/testdata/issue6550.gz | Bin 65536 -> 65536 bytes src/debug/elf/testdata/hello-world-core.gz | Bin 12678 -> 12678 bytes src/encoding/json/testdata/code.json.gz | Bin 120432 -> 120432 bytes 4 files changed, 52 insertions(+) create mode 100644 src/compress/gzip/issue14937_test.go diff --git a/src/compress/gzip/issue14937_test.go b/src/compress/gzip/issue14937_test.go new file mode 100644 index 00000000000..cbce0aaca2c --- /dev/null +++ b/src/compress/gzip/issue14937_test.go @@ -0,0 +1,52 @@ +package gzip + +import ( + "os" + "path/filepath" + "runtime" + "strings" + "testing" + "time" +) + +// Per golang.org/issue/14939, check that every .gz file +// in the tree has a zero mtime. +func TestGZIPFilesHaveZeroMTimes(t *testing.T) { + var files []string + err := filepath.Walk(runtime.GOROOT(), func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } + if !info.IsDir() && strings.HasSuffix(path, ".gz") { + files = append(files, path) + } + return nil + }) + if err != nil { + t.Fatal("error collecting list of .gz files in GOROOT: ", err) + } + if len(files) == 0 { + t.Fatal("expected to find some .gz files under GOROOT") + } + for _, path := range files { + checkZeroMTime(t, path) + } +} + +func checkZeroMTime(t *testing.T, path string) { + f, err := os.Open(path) + if err != nil { + t.Error(err) + return + } + defer f.Close() + gz, err := NewReader(f) + if err != nil { + t.Errorf("cannot read gzip file %s: %s", path, err) + return + } + defer gz.Close() + if !gz.ModTime.Equal(time.Unix(0, 0)) { + t.Errorf("gzip file %s has non-zero mtime (%s)", path, gz.ModTime) + } +} diff --git a/src/compress/gzip/testdata/issue6550.gz b/src/compress/gzip/testdata/issue6550.gz index 57972b636680170bbe26d3876481b24f54d4ab55..82b4af102632c3f97bd4957e71ea519751ea0ea8 100644 GIT binary patch delta 19 ZcmZo@U}h5#s;1N8s^ delta 17 YcmZomZcFBn@8)3mB6=oZBS)Pf05>EC8UO$Q diff --git a/src/encoding/json/testdata/code.json.gz b/src/encoding/json/testdata/code.json.gz index 0e2895b53acb27b9486131d64420dc2ac422897b..1572a92bfbdfe99c28195104740d1f4b1e560f66 100644 GIT binary patch delta 22 bcmeychW*1Db`JS&4h9ft