diff options
| -rw-r--r-- | pyecsca/ec/error.py | 7 | ||||
| -rw-r--r-- | test/ec/test_configuration.py | 1 | ||||
| -rw-r--r-- | test/ec/test_mod.py | 13 |
3 files changed, 13 insertions, 8 deletions
diff --git a/pyecsca/ec/error.py b/pyecsca/ec/error.py index fac4aac..87ca335 100644 --- a/pyecsca/ec/error.py +++ b/pyecsca/ec/error.py @@ -1,4 +1,5 @@ """This module contains exceptions and warnings used in the library.""" +import warnings from public import public from ..misc.cfg import getconfig @@ -27,7 +28,7 @@ def raise_non_invertible(): if cfg.ec.no_inverse_action == "error": raise NonInvertibleError("Element not invertible.") elif cfg.ec.no_inverse_action == "warning": - raise NonInvertibleWarning("Element not invertible.") + warnings.warn(NonInvertibleWarning("Element not invertible.")) @public @@ -54,7 +55,7 @@ def raise_non_residue(): if cfg.ec.non_residue_action == "error": raise NonResidueError("No square root exists.") elif cfg.ec.non_residue_action == "warning": - raise NonResidueWarning("No square root exists.") + warnings.warn(NonResidueWarning("No square root exists.")) @public @@ -80,4 +81,4 @@ def raise_unsatisified_assumption(action: str, msg: str): if action == "error": raise UnsatisfiedAssumptionError(msg) elif action == "warning": - raise UnsatisfiedAssumptionWarning(msg) + warnings.warn(UnsatisfiedAssumptionWarning(msg)) diff --git a/test/ec/test_configuration.py b/test/ec/test_configuration.py index 7603321..d2ab3f5 100644 --- a/test/ec/test_configuration.py +++ b/test/ec/test_configuration.py @@ -30,7 +30,6 @@ class ConfigurationTests(TestCase): j = 0 for _ in all_configurations(model=ShortWeierstrassModel()): j += 1 - print(j) def test_weierstrass_projective(self): model = ShortWeierstrassModel() diff --git a/test/ec/test_mod.py b/test/ec/test_mod.py index 864cc2e..cac9be4 100644 --- a/test/ec/test_mod.py +++ b/test/ec/test_mod.py @@ -1,3 +1,4 @@ +import warnings from sympy import FF, symbols from unittest import TestCase @@ -61,10 +62,12 @@ class ModTests(TestCase): with self.assertRaises(NonInvertibleError): Mod(5, 10).inverse() getconfig().ec.no_inverse_action = "warning" - with self.assertRaises(NonInvertibleWarning): + with warnings.catch_warnings(record=True) as w: Mod(0, p).inverse() - with self.assertRaises(NonInvertibleWarning): + self.assertTrue(issubclass(w[0].category, NonInvertibleWarning)) + with warnings.catch_warnings(record=True) as w: Mod(5, 10).inverse() + self.assertTrue(issubclass(w[0].category, NonInvertibleWarning)) getconfig().ec.no_inverse_action = "ignore" Mod(0, p).inverse() Mod(5, 10).inverse() @@ -92,21 +95,23 @@ class ModTests(TestCase): 0x702BDAFD3C1C837B23A1CB196ED7F9FADB333C5CFE4A462BE32ADCD67BFB6AC1, p ).sqrt() getconfig().ec.non_residue_action = "warning" - with self.assertRaises(NonResidueWarning): + with warnings.catch_warnings(record=True) as w: Mod( 0x702BDAFD3C1C837B23A1CB196ED7F9FADB333C5CFE4A462BE32ADCD67BFB6AC1, p ).sqrt() + self.assertTrue(issubclass(w[0].category, NonResidueWarning)) getconfig().ec.non_residue_action = "ignore" Mod( 0x702BDAFD3C1C837B23A1CB196ED7F9FADB333C5CFE4A462BE32ADCD67BFB6AC1, p ).sqrt() with TemporaryConfig() as cfg: cfg.ec.non_residue_action = "warning" - with self.assertRaises(NonResidueWarning): + with warnings.catch_warnings(record=True) as w: Mod( 0x702BDAFD3C1C837B23A1CB196ED7F9FADB333C5CFE4A462BE32ADCD67BFB6AC1, p, ).sqrt() + self.assertTrue(issubclass(w[0].category, NonResidueWarning)) self.assertEqual(Mod(0, p).sqrt(), Mod(0, p)) q = 0x75D44FEE9A71841AE8403C0C251FBAD self.assertIn( |
