summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2011-03-29 15:03:09 -0700
committerIan Lance Taylor <iant@golang.org>2011-03-29 15:03:09 -0700
commit6ba764998f24055331efab4e840539a934672c80 (patch)
tree356b70d2357cdbe5fed93349e2ea9d4ef244f566
parente113fd4866786a0709ffd0441d8e049250d0958e (diff)
downloadgo-6ba764998f24055331efab4e840539a934672c80.tar.gz
test: adjust bug324 to expect run-time failure, not compile-time.
Failing at compile time requires that for each conversion between two interface types the compiler compare the sets of unexported methods to see if they come from different packages. Since this test will fail approximately never on real code, and since it can't catch all cases of the problem, I don't think it's worth testing in the compiler. This CL changes this test to look for a run-time panic rather than a compile-time error. R=gri, rsc1, iant2, rsc CC=golang-dev http://codereview.appspot.com/4332041
-rw-r--r--test/bugs/bug324.dir/main.go2
-rw-r--r--test/bugs/bug324.go2
-rw-r--r--test/golden.out4
3 files changed, 5 insertions, 3 deletions
diff --git a/test/bugs/bug324.dir/main.go b/test/bugs/bug324.dir/main.go
index 37f2a59e4..4c1a18d9c 100644
--- a/test/bugs/bug324.dir/main.go
+++ b/test/bugs/bug324.dir/main.go
@@ -40,7 +40,7 @@ func main() {
// x = px
// this assignment unexpectedly compiles and then executes
- x = px.(Exported) // ERROR "does not implement"
+ x = px.(Exported)
// this is a legitimate call, but because of the previous assignment,
// it invokes the method private in p!
diff --git a/test/bugs/bug324.go b/test/bugs/bug324.go
index 8b4e29200..e188515d7 100644
--- a/test/bugs/bug324.go
+++ b/test/bugs/bug324.go
@@ -1,4 +1,4 @@
-// $G $D/$F.dir/p.go && errchk $G $D/$F.dir/main.go
+// $G $D/$F.dir/p.go && $G $D/$F.dir/main.go && $L main.$A && ! ./$A.out || echo BUG: should fail
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
diff --git a/test/golden.out b/test/golden.out
index d8e89e866..f76db3e50 100644
--- a/test/golden.out
+++ b/test/golden.out
@@ -165,4 +165,6 @@ bugs/bug322.dir/main.go:32: implicit assignment of unexported field 'x' of lib.T
BUG: fails incorrectly
=========== bugs/bug324.go
-BUG: errchk: command succeeded unexpectedly
+main.Implementation.private()
+p.Implementation.private()
+BUG: should fail