diff --git a/src/bn256/curve.rs b/src/bn256/curve.rs index 4d323223..da4ae1a8 100644 --- a/src/bn256/curve.rs +++ b/src/bn256/curve.rs @@ -202,15 +202,7 @@ mod test { use super::*; use group::UncompressedEncoding; - #[test] - fn test_cofactor_clearing() { - for _ in 0..100 { - let point = G2::random(OsRng); - assert!(bool::from(point.is_on_curve())); - use group::cofactor::CofactorGroup; - assert!(bool::from(point.is_torsion_free())); - } - } + crate::curve_testing_suite!(G2, "clear_cofactor"); crate::curve_testing_suite!(G1, G2); crate::curve_testing_suite!(G1, "hash_to_curve"); crate::curve_testing_suite!(G1, "endo_consistency"); diff --git a/src/pluto_eris/curve.rs b/src/pluto_eris/curve.rs index dd1329f4..f6acff45 100644 --- a/src/pluto_eris/curve.rs +++ b/src/pluto_eris/curve.rs @@ -246,15 +246,7 @@ mod test { use super::*; use group::UncompressedEncoding; - #[test] - fn test_cofactor_clearing() { - for _ in 0..50 { - let point = G2::random(OsRng); - assert!(bool::from(point.is_on_curve())); - use group::cofactor::CofactorGroup; - assert!(bool::from(point.is_torsion_free())); - } - } + crate::curve_testing_suite!(G2, "clear_cofactor"); crate::curve_testing_suite!(G1, Eris, G2); crate::curve_testing_suite!(G1, Eris, "hash_to_curve"); crate::curve_testing_suite!(G1, Eris, "endo_consistency"); diff --git a/src/tests/curve.rs b/src/tests/curve.rs index b89863cf..898c141e 100644 --- a/src/tests/curve.rs +++ b/src/tests/curve.rs @@ -399,6 +399,22 @@ macro_rules! curve_testing_suite { } }; + ($($curve: ident),*, "clear_cofactor") => { + #[test] + fn test_cofactor_clearing() { + use rand_core::OsRng; + $( + for _ in 0..50 { + let point = $curve::random(OsRng); + assert!(bool::from(point.is_on_curve())); + use group::cofactor::CofactorGroup; + assert!(bool::from(point.is_torsion_free())); + } + + )* + } + }; + ($($curve: ident),*, "endo_consistency") => { #[test] fn test_endo_consistency() {