anchor.diff:      Block = rc2_cbc(),
       [{block, Block} | Config];
   group_config(aes_cbc128 = Type, Config) ->
  -    Block = aes_cbc128(Config),
  -    Pairs = cmac_nist(Config, Type),
  +    Block = fun() -> aes_cbc128(Config) end,
  +    Pairs = fun() -> cmac_nist(Config, Type) end,
       [{block, Block}, {cmac, Pairs} | Config];
   group_config(aes_cbc256 = Type, Config) ->
  -    Block = aes_cbc256(Config),
  -    Pairs = cmac_nist(Config, Type),
  +    Block = fun() -> aes_cbc256(Config) end,
  +    Pairs = fun() -> cmac_nist(Config, Type) end,
       [{block, Block}, {cmac, Pairs} | Config];
   group_config(aes_ecb, Config) ->
  -    Block = aes_ecb(Config),
  -    [{block, Block} | Config];    
  +    Block = fun() -> aes_ecb(Config) end,
  +    [{block, Block} | Config];
   group_config(aes_ige256, Config) ->
       Block = aes_ige256(),
       [{block, Block} | Config];
   group_config(aes_cfb8, Config) ->
  -    Block = aes_cfb8(Config),
  +    Block = fun() -> aes_cfb8(Config) end,
       [{block, Block} | Config];
   group_config(aes_cfb128, Config) ->
  -    Block = aes_cfb128(Config),
  +    Block = fun() -> aes_cfb128(Config) end,
       [{block, Block} | Config];
   group_config(blowfish_cbc, Config) ->
       Block = blowfish_cbc(),
  
positive.code: no_block() ->
       [{doc, "Test disabled block ciphers"}].
  no_block(Config) when is_list(Config) ->
      Blocks = proplists:get_value(block, Config),
      Args = case Blocks of
  	       [{_Type, _Key, _PlainText} = A | _] ->
  		   tuple_to_list(A);
  
negative.code:      [{doc, "Test disabled aead ciphers"}].
  no_aead(Config) when is_list(Config) ->
      [{Type, Key, PlainText, Nonce, AAD, CipherText, CipherTag} | _] =
  	lazy_eval(proplists:get_value(aead, Config)),
      EncryptArgs = [Type, Key, Nonce, {AAD, PlainText}],
      DecryptArgs = [Type, Key, Nonce, {AAD, CipherText, CipherTag}],
      notsup(fun crypto:block_encrypt/4, EncryptArgs),
  