]> Cypherpunks repositories - gostls13.git/commitdiff
go/build: fix field mismatch in unkeyed struct literal
authorBrad Fitzpatrick <bradfitz@golang.org>
Mon, 22 Dec 2014 21:40:28 +0000 (13:40 -0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Mon, 22 Dec 2014 21:53:50 +0000 (21:53 +0000)
Fixes #9409

Change-Id: I2404cd8bf3ebb07f4b6a2b3e1d58ab69b9f1e8d8
Reviewed-on: https://go-review.googlesource.com/2040
Reviewed-by: Andrew Gerrand <adg@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
src/go/build/build.go
src/go/build/build_test.go

index 12c20e58d86fd8d02789c7a51c1a798469300765..9fb4b52e1446503c7dffed3a35f7d99812b517cc 100644 (file)
@@ -688,7 +688,11 @@ Found:
                        p.Name = pkg
                        firstFile = name
                } else if pkg != p.Name {
-                       return p, &MultiplePackageError{p.Dir, []string{firstFile, name}, []string{p.Name, pkg}}
+                       return p, &MultiplePackageError{
+                               Dir:      p.Dir,
+                               Packages: []string{p.Name, pkg},
+                               Files:    []string{firstFile, name},
+                       }
                }
                if pf.Doc != nil && p.Doc == "" {
                        p.Doc = doc.Synopsis(pf.Doc.Text())
index a40def0fa0ec575073a3dd1741e978a82765fdd7..abdad0c1f951b466b2671b3dc1a0e270b301f3b2 100644 (file)
@@ -94,9 +94,18 @@ func TestEmptyFolderImport(t *testing.T) {
 
 func TestMultiplePackageImport(t *testing.T) {
        _, err := Import(".", "testdata/multi", 0)
-       if _, ok := err.(*MultiplePackageError); !ok {
+       mpe, ok := err.(*MultiplePackageError)
+       if !ok {
                t.Fatal(`Import("testdata/multi") did not return MultiplePackageError.`)
        }
+       want := &MultiplePackageError{
+               Dir:      "testdata/multi",
+               Packages: []string{"main", "test_package"},
+               Files:    []string{"file.go", "file_appengine.go"},
+       }
+       if !reflect.DeepEqual(mpe, want) {
+               t.Errorf("got %#v; want %#v", mpe, want)
+       }
 }
 
 func TestLocalDirectory(t *testing.T) {