fix(versionable): use examples as tests

This commit is contained in:
Nicolas Sarlin
2024-09-24 11:10:06 +02:00
committed by Nicolas Sarlin
parent 1c0b6fbbd4
commit 35dac0d85c
11 changed files with 90 additions and 10 deletions

View File

@@ -29,3 +29,43 @@ serde = { version = "1.0", features = ["derive"] }
tfhe-versionable-derive = { version = "0.3.0", path = "../tfhe-versionable-derive" }
num-complex = { version = "0.4", features = ["serde"] }
aligned-vec = { version = "0.5", features = ["serde"] }
[[example]]
name = "manual_impl"
test = true
[[example]]
name = "simple"
test = true
[[example]]
name = "recursive"
test = true
[[example]]
name = "upgrades"
test = true
[[example]]
name = "failed_upgrade"
test = true
[[example]]
name = "not_versioned"
test = true
[[example]]
name = "convert"
test = true
[[example]]
name = "vec"
test = true
[[example]]
name = "bounds"
test = true
[[example]]
name = "associated_bounds"
test = true

View File

@@ -28,7 +28,6 @@ struct MyStruct<T: WithAssociated> {
other_val: T::OtherAssoc,
}
#[test]
fn main() {
let ms = MyStruct::<Marker> {
val: 27,
@@ -37,3 +36,8 @@ fn main() {
ms.versionize();
}
#[test]
fn test() {
main()
}

View File

@@ -57,7 +57,6 @@ enum MyStructVersions<T> {
V1(MyStruct<T>),
}
#[test]
fn main() {
let val = 64;
let stru_v0 = v0::MyStruct {
@@ -73,3 +72,8 @@ fn main() {
assert_eq!(unvers.val, val);
}
#[test]
fn test() {
main()
}

View File

@@ -39,7 +39,6 @@ impl From<SerializableMyStruct> for MyStruct {
}
}
#[test]
fn main() {
let stru = MyStruct { val: 37 };
@@ -49,3 +48,8 @@ fn main() {
assert_eq!(stru.val, stru_decoded.val)
}
#[test]
fn test() {
main()
}

View File

@@ -77,7 +77,6 @@ mod v1 {
}
}
#[test]
fn main() {
let v0 = v0::MyStruct(Some(37));
let serialized = bincode::serialize(&v0.versionize()).unwrap();
@@ -91,3 +90,8 @@ fn main() {
assert!(v1::MyStruct::unversionize(bincode::deserialize(&serialized_empty).unwrap()).is_err());
}
#[test]
fn test() {
main()
}

View File

@@ -94,7 +94,6 @@ enum MyStructVersionsDispatchOwned<T: Default + VersionizeOwned> {
V1(MyStructVersionOwned<T>),
}
#[test]
fn main() {
let ms = MyStruct {
attr: 37u64,
@@ -105,3 +104,8 @@ fn main() {
let _unserialized = MyStruct::<u64>::unversionize(bincode::deserialize(&serialized).unwrap());
}
#[test]
fn test() {
main()
}

View File

@@ -22,7 +22,6 @@ enum MyStructVersions {
V0(MyStruct),
}
#[test]
fn main() {
let ms = MyStruct {
inner: MyStructNotVersioned { val: 1234 },
@@ -30,3 +29,8 @@ fn main() {
let _versioned = ms.versionize();
}
#[test]
fn test() {
main()
}

View File

@@ -76,7 +76,6 @@ mod v0 {
}
}
#[test]
fn main() {
let builtin = 654;
let inner = v0::MyStructInner { builtin: 654 };
@@ -90,3 +89,8 @@ fn main() {
assert_eq!(unserialized.inner.builtin, builtin);
}
#[test]
fn test() {
main()
}

View File

@@ -61,7 +61,6 @@ mod v0 {
}
}
#[test]
fn main() {
// In the past we saved a value
let value = 1234;
@@ -75,3 +74,8 @@ fn main() {
assert_eq!(unserialized.builtin, value);
}
#[test]
fn test() {
main()
}

View File

@@ -132,7 +132,6 @@ mod v2 {
}
}
#[test]
fn main() {
let v0 = v0::MyStruct(37);
@@ -148,3 +147,8 @@ fn main() {
assert_eq!(v0.0, v2.count);
assert_eq!(v2.attr, u64::default());
}
#[test]
fn test() {
main()
}

View File

@@ -77,7 +77,6 @@ mod v0 {
}
}
#[test]
fn main() {
let values: [u64; 6] = [12, 23, 34, 45, 56, 67];
let vec = values
@@ -95,3 +94,8 @@ fn main() {
assert_eq!(unser_values, values);
}
#[test]
fn test() {
main()
}