var aesGCMTests … func TestAESGCM(t *testing.T) { … } func TestGCMInvalidTagSize(t *testing.T) { … } func TestTagFailureOverwrite(t *testing.T) { … } func TestGCMCounterWrap(t *testing.T) { … } var _ … type wrapper … func (w *wrapper) BlockSize() int { … } func (w *wrapper) Encrypt(dst, src []byte) { … } func (w *wrapper) Decrypt(dst, src []byte) { … } // wrap wraps the Block interface so that it does not fulfill // any optimizing interfaces such as gcmAble. func wrap(b cipher.Block) cipher.Block { … } func TestGCMAsm(t *testing.T) { … } // Test GCM against the general cipher.AEAD interface tester. func TestGCMAEAD(t *testing.T) { … }