aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/syntax/parser_test.go
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2016-11-01 12:27:26 -0700
committerJosh Bleecher Snyder <josharian@gmail.com>2016-11-01 20:19:01 +0000
commit3f1ed245510d21ad021ea96da7bbd37ec2aca9ed (patch)
tree1bec088177f6fa33dc83928ca8274256890f31cf /src/cmd/compile/internal/syntax/parser_test.go
parent84803f3da1b3921a6eacec435d97d5b9e40fe947 (diff)
downloadgo-3f1ed245510d21ad021ea96da7bbd37ec2aca9ed.tar.gz
go-3f1ed245510d21ad021ea96da7bbd37ec2aca9ed.zip
cmd/compile/internal/syntax: avoid deadlock
When the err from ReadFile is non-nil, we call t.Fatal(err). Switch t.Fatal to t.Error + return. ensure that close(results) happens on that code path as well. Updates #17697. Change-Id: Ifaacf27a76c175446d642086ff32f4386428080d Reviewed-on: https://go-review.googlesource.com/32486 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Robert Griesemer <gri@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/syntax/parser_test.go')
-rw-r--r--src/cmd/compile/internal/syntax/parser_test.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/syntax/parser_test.go b/src/cmd/compile/internal/syntax/parser_test.go
index 780f10835c..3cb12c23d5 100644
--- a/src/cmd/compile/internal/syntax/parser_test.go
+++ b/src/cmd/compile/internal/syntax/parser_test.go
@@ -44,6 +44,7 @@ func TestStdLib(t *testing.T) {
results := make(chan parseResult)
go func() {
+ defer close(results)
for _, dir := range []string{
runtime.GOROOT(),
//"/Users/gri/src",
@@ -54,7 +55,8 @@ func TestStdLib(t *testing.T) {
}
ast, err := ReadFile(filename, nil, nil, 0)
if err != nil {
- t.Fatal(err)
+ t.Error(err)
+ return
}
if *verify {
verifyPrint(filename, ast)
@@ -62,7 +64,6 @@ func TestStdLib(t *testing.T) {
results <- parseResult{filename, ast.Lines}
})
}
- close(results)
}()
var count, lines int