diff --git a/cmd/godoc/godoc_test.go b/cmd/godoc/godoc_test.go index d54a6d95..e4ab12f8 100644 --- a/cmd/godoc/godoc_test.go +++ b/cmd/godoc/godoc_test.go @@ -44,7 +44,9 @@ var godocTests = []struct { { args: []string{"nonexistingpkg"}, matches: []string{ - `no such file or directory|does not exist|cannot find the file`, + // The last pattern (does not e) is for plan9: + // http://build.golang.org/log/2d8e5e14ed365bfa434b37ec0338cd9e6f8dd9bf + `no such file or directory|does not exist|cannot find the file|(?:' does not e)`, }, }, { diff --git a/cmd/stress/stress.go b/cmd/stress/stress.go index f02fa2a7..470d2611 100644 --- a/cmd/stress/stress.go +++ b/cmd/stress/stress.go @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// +build !plan9 + // The stress utility is intended for catching of episodic failures. // It runs a given process in parallel in a loop and collects any failures. // Usage: diff --git a/go/ssa/interp/external_plan9.go b/go/ssa/interp/external_plan9.go index 05d02d56..81bedcf0 100644 --- a/go/ssa/interp/external_plan9.go +++ b/go/ssa/interp/external_plan9.go @@ -6,6 +6,9 @@ package interp import "syscall" +func ext۰os۰Pipe(fr *frame, args []value) value { + panic("os.Pipe not yet implemented") +} func ext۰syscall۰Close(fr *frame, args []value) value { panic("syscall.Close not yet implemented") } diff --git a/oracle/describe.go b/oracle/describe.go index 2743f67c..70ddacfd 100644 --- a/oracle/describe.go +++ b/oracle/describe.go @@ -680,6 +680,12 @@ func tokenOf(o types.Object) string { return "const" case *types.PkgName: return "package" + case *types.Builtin: + return "builtin" // e.g. when describing package "unsafe" + case *types.Nil: + return "nil" + case *types.Label: + return "label" } panic(o) } diff --git a/oracle/testdata/src/describe/main.go b/oracle/testdata/src/describe/main.go index 1cdcd3cd..f48d6d0d 100644 --- a/oracle/testdata/src/describe/main.go +++ b/oracle/testdata/src/describe/main.go @@ -9,6 +9,7 @@ package describe // @describe pkgdecl "describe" import ( "nosuchpkg" // @describe badimport1 "nosuchpkg" nosuchpkg2 "nosuchpkg" // @describe badimport2 "nosuchpkg2" + _ "unsafe" // @describe unsafe "unsafe" ) var _ nosuchpkg.T diff --git a/oracle/testdata/src/describe/main.golden b/oracle/testdata/src/describe/main.golden index 74b0f803..bc6d9f70 100644 --- a/oracle/testdata/src/describe/main.golden +++ b/oracle/testdata/src/describe/main.golden @@ -19,6 +19,13 @@ Error: can't import package "nosuchpkg" -------- @describe badimport2 -------- Error: can't import package "nosuchpkg" +-------- @describe unsafe -------- +import of package "unsafe" + builtin Alignof + builtin Offsetof + type Pointer unsafe.Pointer + builtin Sizeof + -------- @describe type-ref-builtin -------- reference to built-in type float64