#[macro_export]
macro_rules! test_ciphersuite {
($name:ident, $cs:ty) => {
mod $name {
#[allow(unused_imports)]
use super::*;
$crate::test_util::test_ciphersuite!($cs);
}
};
($cs:ty) => {
$crate::test_util::test_aead!(aead, <$cs as $crate::CipherSuite>::Aead);
$crate::test_util::test_aead!(
aead_with_defaults,
$crate::test_util::AeadWithDefaults<
<$cs as $crate::CipherSuite>::Aead,
>
);
$crate::test_util::test_hash!(hash, <$cs as $crate::CipherSuite>::Hash);
$crate::test_util::test_hpke!(hpke,
<$cs as $crate::CipherSuite>::Kem,
<$cs as $crate::CipherSuite>::Kdf,
<$cs as $crate::CipherSuite>::Aead,
);
$crate::test_util::test_kdf!(kdf, <$cs as $crate::CipherSuite>::Kdf);
$crate::test_util::test_kdf!(
kdf_with_defaults,
$crate::test_util::KdfWithDefaults<<$cs as $crate::CipherSuite>::Kdf>
);
$crate::test_util::test_mac!(mac, <$cs as $crate::CipherSuite>::Mac);
$crate::test_util::test_mac!(
mac_with_defaults,
$crate::test_util::MacWithDefaults<<$cs as $crate::CipherSuite>::Mac>
);
$crate::test_util::test_signer!(signer, <$cs as $crate::CipherSuite>::Signer);
$crate::test_util::test_signer!(
signer_with_defaults,
$crate::test_util::SignerWithDefaults<<$cs as $crate::CipherSuite>::Signer>
);
};
}
pub use test_ciphersuite;