# Regression test for golang.org/issue/34634: permissions for the go.sum and # go.mod files should be preserved when overwriting them. env GO111MODULE=on [short] skip # Skip platforms that do not have Unix-style file permissions. [GOOS:windows] skip [GOOS:plan9] skip chmod 0640 go.mod chmod 0604 go.sum go mod edit -module=golang.org/issue/34634 go get cmp go.mod go.mod.want cmp go.sum go.sum.want go run . stdout 'go.mod: 0640' stdout 'go.sum: 0604' -- read_perm.go -- package main import ( "fmt" "os" _ "rsc.io/sampler" ) func main() { for _, name := range []string{"go.mod", "go.sum"} { fi, err := os.Stat(name) if err != nil { fmt.Fprintf(os.Stderr, "%s: %v\n", err) continue } fmt.Printf("%s: 0%o\n", name, fi.Mode().Perm()) } } -- go.mod -- module TODO go 1.14 -- go.sum -- -- go.mod.want -- module golang.org/issue/34634 go 1.14 require rsc.io/sampler v1.99.99 -- go.sum.want -- golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c h1:pvCbr/wm8HzDD3fVywevekufpn6tCGPY3spdHeZJEsw= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/sampler v1.99.99 h1:iMG9lbEG/8MdeR4lgL+Q8IcwbLNw7ijW7fTiK8Miqts= rsc.io/sampler v1.99.99/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=