Unverified Commit 2ef8986c authored by Daniel Huigens's avatar Daniel Huigens Committed by Justus Winter
Browse files

Don't require generating UID-less v4 keys

parent b795ff5b
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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 {
+1 −1
Original line number Diff line number Diff line
@@ -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()
    }
}
+13 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ use crate::{
        TestMatrix,
        RoundtripTest,
        CheckError,
        Expectation,
    },
};

@@ -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<()> {
+4 −4
Original line number Diff line number Diff line
@@ -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>
@@ -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()
@@ -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