/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue36437.go
49 строк
1 KB
Dmitri Shuralyov
test: migrate remaining files to go:build syntax
20 окт 2023, 02:33
20 окт 2023, 02:33
b2fd76a
Код
Авторство
О чём код?
// run //go:build !nacl && !js && !wasip1 && gc // 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 // compiler, such as in: // go tool compile foo // 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 package main import ( "fmt" "io/ioutil" "os" "os/exec" "regexp" ) func main() { tmpDir, err := ioutil.TempDir("", "issue36437") if err != nil { panic(err) } defer os.RemoveAll(tmpDir) msgOrErr := func(msg []byte, err error) string { if len(msg) == 0 && err != nil { return err.Error() } return string(msg) } 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) } }