1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// // Copyright 2016 The Go Authors. All rights reserved.
// // Use of this source code is governed by a BSD-style
// // license that can be found in the LICENSE file.
// package gzip
// import (
// "internal/testenv"
// "io/fs"
// "os"
// "path/filepath"
// "runtime"
// "strings"
// "testing"
// )
// // TestGZIPFilesHaveZeroMTimes checks that every .gz file in the tree
// // has a zero MTIME. This is a requirement for the Debian maintainers
// // to be able to have deterministic packages.
// //
// // See https://golang.org/issue/14937.
// func TestGZIPFilesHaveZeroMTimes(t *testing.T) {
// // To avoid spurious false positives due to untracked GZIP files that
// // may be in the user's GOROOT (Issue 18604), we only run this test on
// // the builders, which should have a clean checkout of the tree.
// if testenv.Builder() == "" {
// t.Skip("skipping test on non-builder")
// }
// if !testenv.HasSrc() {
// t.Skip("skipping; no GOROOT available")
// }
// goroot, err := filepath.EvalSymlinks(runtime.GOROOT())
// if err != nil {
// t.Fatal("error evaluating GOROOT: ", err)
// }
// var files []string
// err = filepath.WalkDir(goroot, func(path string, info fs.DirEntry, err error) error {
// if err != nil {
// return err
// }
// if !info.IsDir() && strings.HasSuffix(path, ".gz") {
// files = append(files, path)
// }
// return nil
// })
// if err != nil {
// if os.IsNotExist(err) {
// t.Skipf("skipping: GOROOT directory not found: %s", runtime.GOROOT())
// }
// 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.IsZero() {
// t.Errorf("gzip file %s has non-zero mtime (%s)", path, gz.ModTime)
// }
// }