]> Cypherpunks repositories - gostls13.git/commitdiff
test: adjust bug324 to expect run-time failure, not compile-time.
authorIan Lance Taylor <iant@golang.org>
Tue, 29 Mar 2011 22:03:09 +0000 (15:03 -0700)
committerIan Lance Taylor <iant@golang.org>
Tue, 29 Mar 2011 22:03:09 +0000 (15:03 -0700)
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
https://golang.org/cl/4332041

test/bugs/bug324.dir/main.go
test/bugs/bug324.go
test/golden.out

index 37f2a59e4499f9ab00fff69289e5c67c4369bc2f..4c1a18d9ca2c5a231a9ffa0f0bdf7e22de45830c 100644 (file)
@@ -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!
index 8b4e292003648d1fa698fee18b75a0f118dbe4ac..e188515d772a0ed398770f210840254f530bd694 100644 (file)
@@ -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
index d8e89e866d76c6faba64b9369fbac582188c4072..f76db3e502e5e1b4c8bdd2630c3317ca1c635f2a 100644 (file)
@@ -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