Loading src/tests/asymmetric_encryption.rs +1 −1 Original line number Diff line number Diff line Loading @@ -233,7 +233,7 @@ impl RoundtripTest<Data, (Data, Vec<Verification>)> for EncryptDecryptRoundtrip Ok(()) } fn expectation(&self, _artifact: Option<&Data>) -> Option<Expectation> { fn expectation(&self, _variant: Option<String>) -> Option<Expectation> { if let Some(_) = self.aead { // Don't require implementing AEAD for now. return None; Loading src/tests/detached_signatures.rs +1 −1 Original line number Diff line number Diff line Loading @@ -825,7 +825,7 @@ impl RoundtripTest<Data, Vec<Verification>> for DetachedSignVerifyRoundtrip { } } fn expectation(&self, _: Option<&Data>) -> Option<Expectation> { fn expectation(&self, _: Option<String>) -> Option<Expectation> { if let Some(hash) = self.hash { use HashAlgorithm::*; match hash { Loading src/tests/inline_signatures/roundtrip.rs +1 −1 Original line number Diff line number Diff line Loading @@ -395,7 +395,7 @@ impl RoundtripTest<Data, (Data, Vec<Verification>)> for InlineSignVerifyRoundtri Ok(()) } fn expectation(&self, _: Option<&Data>) -> Option<Expectation> { fn expectation(&self, _: Option<String>) -> Option<Expectation> { self.expectation.clone() } } src/tests/key_generation.rs +13 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ use crate::{ TestMatrix, RoundtripTest, CheckError, Expectation, }, }; Loading Loading @@ -140,6 +141,18 @@ impl RoundtripTest<(Data, Data), (Data, Vec<Verification>)> .key(key) .ciphertext(&ciphertext) } fn expectation(&self, variant: Option<String>) -> Option<Expectation> { if self.userids.len() != 0 { return Some(Ok("Interoperability concern.".into())) } if let Some(v) = variant { if v.contains("rfc9580") || v.contains("crypto-refresh") { return Some(Ok("Interoperability concern.".into())) } } None } } pub fn schedule(plan: &mut TestPlan) -> Result<()> { Loading src/tests/mod.rs +4 −4 Original line number Diff line number Diff line Loading @@ -165,7 +165,7 @@ pub trait RoundtripTest<C: AsData, R: AsData>: Runnable<TestMatrix> { fn check_consumer(&self, _artifact: &C, _result: &R) -> Result<()> { Ok(()) } fn expectation(&self, _artifact: Option<&C>) -> Option<Expectation> { fn expectation(&self, _variant: Option<String>) -> Option<Expectation> { Some(Ok("Interoperability concern.".into())) } fn run(&self, implementations: &[crate::Sop]) -> Result<TestMatrix> Loading @@ -174,7 +174,7 @@ pub trait RoundtripTest<C: AsData, R: AsData>: Runnable<TestMatrix> { for p in implementations.iter() { for (variant, consumable) in self.produce_artifacts(p)? { let label = if let Some(v) = variant { let label = if let Some(ref v) = variant { format!("{}, {}", p.version()?, v) } else { p.version()?.to_string() Loading @@ -188,12 +188,12 @@ pub trait RoundtripTest<C: AsData, R: AsData>: Runnable<TestMatrix> { } else { Artifact::ok(label, r.as_data().into()) }; (a, self.expectation(Some(&r))) (a, self.expectation(variant)) }, Err(e) => { let a = Artifact::err(label, Default::default(), &e); (a, self.expectation(None)) (a, self.expectation(variant)) }, }; let class = Class::new("", &expectation); Loading Loading
src/tests/asymmetric_encryption.rs +1 −1 Original line number Diff line number Diff line Loading @@ -233,7 +233,7 @@ impl RoundtripTest<Data, (Data, Vec<Verification>)> for EncryptDecryptRoundtrip Ok(()) } fn expectation(&self, _artifact: Option<&Data>) -> Option<Expectation> { fn expectation(&self, _variant: Option<String>) -> Option<Expectation> { if let Some(_) = self.aead { // Don't require implementing AEAD for now. return None; Loading
src/tests/detached_signatures.rs +1 −1 Original line number Diff line number Diff line Loading @@ -825,7 +825,7 @@ impl RoundtripTest<Data, Vec<Verification>> for DetachedSignVerifyRoundtrip { } } fn expectation(&self, _: Option<&Data>) -> Option<Expectation> { fn expectation(&self, _: Option<String>) -> Option<Expectation> { if let Some(hash) = self.hash { use HashAlgorithm::*; match hash { Loading
src/tests/inline_signatures/roundtrip.rs +1 −1 Original line number Diff line number Diff line Loading @@ -395,7 +395,7 @@ impl RoundtripTest<Data, (Data, Vec<Verification>)> for InlineSignVerifyRoundtri Ok(()) } fn expectation(&self, _: Option<&Data>) -> Option<Expectation> { fn expectation(&self, _: Option<String>) -> Option<Expectation> { self.expectation.clone() } }
src/tests/key_generation.rs +13 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ use crate::{ TestMatrix, RoundtripTest, CheckError, Expectation, }, }; Loading Loading @@ -140,6 +141,18 @@ impl RoundtripTest<(Data, Data), (Data, Vec<Verification>)> .key(key) .ciphertext(&ciphertext) } fn expectation(&self, variant: Option<String>) -> Option<Expectation> { if self.userids.len() != 0 { return Some(Ok("Interoperability concern.".into())) } if let Some(v) = variant { if v.contains("rfc9580") || v.contains("crypto-refresh") { return Some(Ok("Interoperability concern.".into())) } } None } } pub fn schedule(plan: &mut TestPlan) -> Result<()> { Loading
src/tests/mod.rs +4 −4 Original line number Diff line number Diff line Loading @@ -165,7 +165,7 @@ pub trait RoundtripTest<C: AsData, R: AsData>: Runnable<TestMatrix> { fn check_consumer(&self, _artifact: &C, _result: &R) -> Result<()> { Ok(()) } fn expectation(&self, _artifact: Option<&C>) -> Option<Expectation> { fn expectation(&self, _variant: Option<String>) -> Option<Expectation> { Some(Ok("Interoperability concern.".into())) } fn run(&self, implementations: &[crate::Sop]) -> Result<TestMatrix> Loading @@ -174,7 +174,7 @@ pub trait RoundtripTest<C: AsData, R: AsData>: Runnable<TestMatrix> { for p in implementations.iter() { for (variant, consumable) in self.produce_artifacts(p)? { let label = if let Some(v) = variant { let label = if let Some(ref v) = variant { format!("{}, {}", p.version()?, v) } else { p.version()?.to_string() Loading @@ -188,12 +188,12 @@ pub trait RoundtripTest<C: AsData, R: AsData>: Runnable<TestMatrix> { } else { Artifact::ok(label, r.as_data().into()) }; (a, self.expectation(Some(&r))) (a, self.expectation(variant)) }, Err(e) => { let a = Artifact::err(label, Default::default(), &e); (a, self.expectation(None)) (a, self.expectation(variant)) }, }; let class = Class::new("", &expectation); Loading