diff options
author | Nora Widdecke <nora@sequoia-pgp.org> | 2020-08-04 18:42:31 +0200 |
---|---|---|
committer | Nora Widdecke <nora@sequoia-pgp.org> | 2020-08-04 18:42:31 +0200 |
commit | 19a097dc6681874aa767572ed9fdd52bce1f2640 (patch) | |
tree | b05350ececcd85dc8a017d8d023fe8c967085a3f | |
parent | e18c79c37db27d138caeed67025d8b247410c3b8 (diff) |
openpgp: Add test for hashing streamed packets.nora/literal_io_copy
-rw-r--r-- | openpgp/src/parse.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/openpgp/src/parse.rs b/openpgp/src/parse.rs index 0bfa4e49..4c760939 100644 --- a/openpgp/src/parse.rs +++ b/openpgp/src/parse.rs @@ -5601,4 +5601,22 @@ mod test { panic!("expected unknown packet, got: {:?}", packet); } } + + /// Copying body changes hash + #[test] + fn hash_packet() -> Result<()> { + let ppr1 = PacketParser::from_bytes( + crate::tests::message("literal-mode-b.gpg"))?; + let mut pp1 = ppr1.unwrap(); + let (packet1, _) = pp1.recurse()?; + + let ppr2 = PacketParser::from_bytes( + crate::tests::message("literal-mode-b.gpg"))?; + let mut pp2 = ppr2.unwrap(); + io::copy(&mut pp2, &mut io::sink())?; + let (packet2, _) = pp2.recurse()?; + + assert_eq!(packet1, packet2); + Ok(()) + } } |