github.com/jhump/golang-x-tools@v0.0.0-20220218190644-4958d6d39439/go/gcexportdata/gcexportdata_test.go (about) 1 // Copyright 2016 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package gcexportdata_test 6 7 import ( 8 "go/token" 9 "go/types" 10 "log" 11 "os" 12 "testing" 13 14 "github.com/jhump/golang-x-tools/go/gcexportdata" 15 ) 16 17 // Test to ensure that gcexportdata can read files produced by App 18 // Engine Go runtime v1.6. 19 func TestAppEngine16(t *testing.T) { 20 // Open and read the file. 21 f, err := os.Open("testdata/errors-ae16.a") 22 if err != nil { 23 t.Fatal(err) 24 } 25 defer f.Close() 26 r, err := gcexportdata.NewReader(f) 27 if err != nil { 28 log.Fatalf("reading export data: %v", err) 29 } 30 31 // Decode the export data. 32 fset := token.NewFileSet() 33 imports := make(map[string]*types.Package) 34 pkg, err := gcexportdata.Read(r, fset, imports, "errors") 35 if err != nil { 36 log.Fatal(err) 37 } 38 39 // Print package information. 40 got := pkg.Scope().Lookup("New").Type().String() 41 want := "func(text string) error" 42 if got != want { 43 t.Errorf("New.Type = %s, want %s", got, want) 44 } 45 }