summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJoakim Hulthe <joakim.hulthe@mullvad.net>2025-10-16 11:48:24 +0200
committerJoakim Hulthe <joakim.hulthe@mullvad.net>2025-10-24 13:54:16 +0200
commitfd0a265b043d96efe0bca672cbf40562b4a942e9 (patch)
tree5783705bb04d2bc905a388fd403ee23d5edeba65
parentabf33817683b86e4f00cf6ff41d258d624ee55c1 (diff)
downloadmullvadvpn-fd0a265b043d96efe0bca672cbf40562b4a942e9.tar.xz
mullvadvpn-fd0a265b043d96efe0bca672cbf40562b4a942e9.zip
Add serialization tests for Rollout
-rw-r--r--mullvad-update/src/version.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/mullvad-update/src/version.rs b/mullvad-update/src/version.rs
index b350bdf452..46e7489f67 100644
--- a/mullvad-update/src/version.rs
+++ b/mullvad-update/src/version.rs
@@ -387,15 +387,38 @@ mod test {
Ok(())
}
+ const GOOD_ROLLOUT_EXAMPLES: &[f32] = &[
+ -0.0,
+ 0.0,
+ -0.0 + f32::EPSILON,
+ 1.0,
+ 1.0 - 0.0,
+ 1.0 - f32::EPSILON,
+ 1.0 / 3.0,
+ ];
+
const BAD_ROLLOUT_EXAMPLES: &[f32] = &[
-f32::EPSILON,
1.0 + f32::EPSILON,
f32::NAN,
f32::INFINITY,
f32::NEG_INFINITY,
+ 100.0,
];
#[test]
+ fn test_rollout_serialization() {
+ for &valid_rollout in GOOD_ROLLOUT_EXAMPLES {
+ let serialized_f32 = serde_json::to_string(&valid_rollout).unwrap();
+ let deserialized_rollout: Rollout = serde_json::from_str(&serialized_f32).unwrap();
+ let serialized_rollout = serde_json::to_string(&deserialized_rollout).unwrap();
+
+ assert_eq!(deserialized_rollout.0, valid_rollout);
+ assert_eq!(serialized_rollout, serialized_f32);
+ }
+ }
+
+ #[test]
fn test_rollout_deserialize_bad() {
for &bad_rollout in BAD_ROLLOUT_EXAMPLES {
let rollout_str = bad_rollout.to_string();