type MakeBlock … // TestBlock performs a set of tests on cipher.Block implementations, checking // the documented requirements of BlockSize, Encrypt, and Decrypt. func TestBlock(t *testing.T, keySize int, mb MakeBlock) { … } func testCipher(t *testing.T, cipher func(dst, src []byte), blockSize int) { … } func mustPanic(t *testing.T, msg string, f func()) { … }