From 7da7eced559ec0167ade35a9158507b798d3194a Mon Sep 17 00:00:00 2001 From: Maximos Nikiforakis Date: Tue, 8 Oct 2024 16:53:39 +0300 Subject: [PATCH 1/2] Ensures exceptions with non-str arguments are reraised --- src/unittest_extensions/case.py | 3 ++- src/unittest_extensions/tests/test_use_case.py | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/unittest_extensions/case.py b/src/unittest_extensions/case.py index 855b9c0..2f804b9 100644 --- a/src/unittest_extensions/case.py +++ b/src/unittest_extensions/case.py @@ -61,7 +61,8 @@ def result(self) -> Any: except Exception as e: if len(e.args) == 0: raise e - msg = e.args[0] + + msg = str(e.args[0]) if "subject() got an unexpected keyword argument" in msg: raise TestError( "Subject received " diff --git a/src/unittest_extensions/tests/test_use_case.py b/src/unittest_extensions/tests/test_use_case.py index b2c0763..7940803 100644 --- a/src/unittest_extensions/tests/test_use_case.py +++ b/src/unittest_extensions/tests/test_use_case.py @@ -82,7 +82,6 @@ def test_raises_test_error(self): class TestAppend(TestCase): - def instance(self) -> TestClass: return TestClass() @@ -204,3 +203,11 @@ def subject(self): def test_reraises_empty_exception(self): self.assertResultRaises(self.MyError) + + +class TestRaiseExceptionWithNonStrArgs(TestCase): + def subject(self): + raise KeyError(2) + + def test_reraises_error(self): + self.assertResultRaises(KeyError) From c575bda0cd57afa29297aac95fab1b3ff4a4960f Mon Sep 17 00:00:00 2001 From: Maximos Nikiforakis Date: Tue, 8 Oct 2024 16:54:14 +0300 Subject: [PATCH 2/2] Increments version to 0.2.5 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e73ed1e..bdbc0e2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ build-backend = "setuptools.build_meta" [project] name = "unittest-extensions" -version = "0.2.4" +version = "0.2.5" authors = [ { name="Maximos Nikiforakis", email="nikiforos@live.co.uk" }, ]