protocol/wire/test: Define `fn roundtrip` and macro
In many tests we assert that encoding and decoding gives the same object. Let’s call that a “roundrip”, and also provide a proc macro to generate such tests.
5 files changed
+71
-120
bbd1e2cf
→
ded0d19d
modified Cargo.lock
@@ -2404,6 +2404,12 @@ dependencies = [
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -2893,6 +2899,7 @@ dependencies = [
|
|
|
|
|
|
| + | |
|
|
|
|
|
modified crates/radicle-protocol/Cargo.toml
@@ -31,6 +31,7 @@ serde_json = { workspace = true, features = ["preserve_order"] }
|
|
|
|
|
|
| + | |
|
|
|
|
|
modified crates/radicle-protocol/src/wire.rs
@@ -561,8 +561,36 @@ impl Decode for Timestamp {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| + | |
|
|
|
|
|
@@ -570,101 +598,36 @@ mod tests {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
modified crates/radicle-protocol/src/wire/message.rs
@@ -425,15 +425,20 @@ impl wire::Decode for ZeroBytes {
|
|
|
|
|
|
| - | |
|
|
|
|
|
|
|
|
| + | |
|
|
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -520,14 +525,6 @@ mod tests {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
|
|
|
|
|
@@ -546,28 +543,14 @@ mod tests {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| + | |
|
|
| - | |
| - | |
| - | |
| + | |
|
|
|
modified crates/radicle-protocol/src/wire/varint.rs
@@ -175,9 +175,14 @@ pub mod payload {
|
|
|
|
|
|
| - | |
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -211,16 +216,8 @@ mod test {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
|
|
| - | |
| + | |
|
|
|
|
|