Skip to content

Commit 625f245

Browse files
committed
Roundtrip failures
1 parent 2acd51d commit 625f245

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

rmp-serde/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ serde = "1.0.99"
1717
rmp = { version = "0.8.8", path = "../rmp" }
1818

1919
[dev-dependencies]
20+
rmpv = { path = "../rmpv" }
2021
serde_bytes = "0.11.2"
2122
serde_derive = "1.0.99"
2223

rmp-serde/tests/round.rs

+14-1
Original file line numberDiff line numberDiff line change
@@ -399,9 +399,22 @@ fn roundtrip_some() {
399399
assert_roundtrips(Some("hi".to_string()));
400400
}
401401

402+
#[ignore]
403+
#[test]
404+
fn roundtrip_some_failures() {
405+
// FIXME
406+
assert_roundtrips(Err::<(),_>(222));
407+
assert_roundtrips(Some(None::<()>));
408+
}
409+
402410
#[cfg(test)]
403411
fn assert_roundtrips<T: PartialEq + std::fmt::Debug + Serialize + for<'a> Deserialize<'a>>(val: T) {
404412
let seriaized = rmp_serde::to_vec(&val).unwrap();
405-
let val2: T = rmp_serde::from_slice(&seriaized).unwrap();
413+
let val2: T = match rmp_serde::from_slice(&seriaized) {
414+
Ok(t) => t,
415+
Err(e) => {
416+
panic!("Does not deserialize: {}\nSerialized {:?}\nGot {:?}\n", e, val, rmpv::decode::value::read_value(&mut seriaized.as_slice()).expect("rmp didn't serialize corerctly at all"));
417+
},
418+
};
406419
assert_eq!(val2, val);
407420
}

0 commit comments

Comments
 (0)