| // Copyright 2020 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. |
| // Tests that when non-existent files are passed to the |
| // we don't print the beginning position: |
| // foo:0: open foo: no such file or directory |
| // but instead omit it and print out: |
| // open foo: no such file or directory |
| tmpDir, err := ioutil.TempDir("", "issue36437") |
| defer os.RemoveAll(tmpDir) |
| msgOrErr := func(msg []byte, err error) string { |
| if len(msg) == 0 && err != nil { |
| filename := "non-existent.go" |
| output, err := exec.Command("go", "tool", "compile", filename).CombinedOutput() |
| got := msgOrErr(output, err) |
| regFilenamePos := regexp.MustCompile(filename + ":\\d+") |
| if regFilenamePos.MatchString(got) { |
| fmt.Printf("Error message must not contain filename:pos, but got:\n%q\n", got) |