diff --git a/veilid-core/src/tests/mod.rs b/veilid-core/src/tests/mod.rs index 2a050ac5..609182dd 100644 --- a/veilid-core/src/tests/mod.rs +++ b/veilid-core/src/tests/mod.rs @@ -12,3 +12,4 @@ use super::*; pub use common::*; pub use crypto::tests::*; pub use network_manager::tests::*; +pub use veilid_api::tests::*; diff --git a/veilid-core/src/tests/native/mod.rs b/veilid-core/src/tests/native/mod.rs index d6fa1cfa..f7fcef81 100644 --- a/veilid-core/src/tests/native/mod.rs +++ b/veilid-core/src/tests/native/mod.rs @@ -3,6 +3,7 @@ use crate::crypto::tests::*; use crate::network_manager::tests::*; use crate::tests::common::*; +use crate::veilid_api::tests::*; use crate::*; /////////////////////////////////////////////////////////////////////////// @@ -163,5 +164,14 @@ cfg_if! { }) } + #[test] + #[serial] + fn run_test_serialize_rkyv() { + setup(); + block_on(async { + test_serialize_rkyv::test_all().await; + }) + } + } } diff --git a/veilid-core/src/veilid_api/mod.rs b/veilid-core/src/veilid_api/mod.rs index eb4cb312..d046b71f 100644 --- a/veilid-core/src/veilid_api/mod.rs +++ b/veilid-core/src/veilid_api/mod.rs @@ -7,6 +7,8 @@ mod routing_context; mod serialize_helpers; mod types; +pub mod tests; + pub use api::*; pub use debug::*; pub use error::*; diff --git a/veilid-core/src/veilid_api/tests/mod.rs b/veilid-core/src/veilid_api/tests/mod.rs new file mode 100644 index 00000000..97891419 --- /dev/null +++ b/veilid-core/src/veilid_api/tests/mod.rs @@ -0,0 +1,3 @@ +pub mod test_serialize_rkyv; + +use super::*; diff --git a/veilid-core/src/veilid_api/tests/test_serialize_rkyv.rs b/veilid-core/src/veilid_api/tests/test_serialize_rkyv.rs new file mode 100644 index 00000000..0566f7b7 --- /dev/null +++ b/veilid-core/src/veilid_api/tests/test_serialize_rkyv.rs @@ -0,0 +1,16 @@ +use crate::*; + +pub async fn test_simple_string() { + let plain = "basic string".to_string(); + let serialized = b"basic string\x0c\x00\x00\x00\xf4\xff\xff\xff".to_vec(); + + let a = to_rkyv(&plain); + assert_eq!(a.unwrap(), serialized); + + let b = from_rkyv::(serialized); + assert_eq!(b.unwrap(), plain); +} + +pub async fn test_all() { + test_simple_string().await; +}