diff options
Diffstat (limited to 'src/internal/boringtest/boring_test.go')
-rw-r--r-- | src/internal/boringtest/boring_test.go | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/src/internal/boringtest/boring_test.go b/src/internal/boringtest/boring_test.go deleted file mode 100644 index a6b07eda70b..00000000000 --- a/src/internal/boringtest/boring_test.go +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2017 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Like crypto/rsa/boring_test.go but outside the crypto/ tree. -// Tests what happens if a package outside the crypto/ tree -// "adopts" a struct definition. This happens in golang.org/x/crypto/ssh. - -package boring - -import ( - "crypto/rand" - "crypto/rsa" - "encoding/asn1" - "reflect" - "testing" -) - -type publicKey rsa.PublicKey - -func TestBoringASN1Marshal(t *testing.T) { - k, err := rsa.GenerateKey(rand.Reader, 128) - if err != nil { - t.Fatal(err) - } - pk := (*publicKey)(&k.PublicKey) - // This used to fail, because of the unexported 'boring' field. - // Now the compiler hides it [sic]. - _, err = asn1.Marshal(*pk) - if err != nil { - t.Fatal(err) - } -} - -func TestBoringDeepEqual(t *testing.T) { - k0, err := rsa.GenerateKey(rand.Reader, 128) - if err != nil { - t.Fatal(err) - } - k := (*publicKey)(&k0.PublicKey) - k2 := *k - rsa.EncryptPKCS1v15(rand.Reader, (*rsa.PublicKey)(&k2), []byte("hello")) // initialize hidden boring field - if !reflect.DeepEqual(k, &k2) { - // compiler should be hiding the boring field from reflection - t.Fatalf("DeepEqual compared boring fields") - } -} |