From 567620baadde6a5aee9517b74e6e491b9f91a400 Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Thu, 27 Jun 2024 21:13:12 +0100 Subject: [PATCH 1/4] Remove uses of numpy.alltrue --- apptools/persistence/tests/test_state_pickler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apptools/persistence/tests/test_state_pickler.py b/apptools/persistence/tests/test_state_pickler.py index ee8bb608..4def8df0 100644 --- a/apptools/persistence/tests/test_state_pickler.py +++ b/apptools/persistence/tests/test_state_pickler.py @@ -172,7 +172,7 @@ def verify(self, obj, state): base64.decodebytes(data[num_attr]["data"]) ) num = pickle.loads(junk) - self.assertEqual(numpy.alltrue(numpy.ravel(num == obj.numeric)), 1) + self.assertEqual(numpy.all(numpy.ravel(num == obj.numeric)), 1) self.assertIn(data["ref"]["type"], ["reference", "numeric"]) if data["ref"]["type"] == "numeric": @@ -218,7 +218,7 @@ def verify_unpickled(self, obj, state): self.assertEqual(dct["ref"].__metadata__["type"], "instance") num = state.numeric - self.assertEqual(numpy.alltrue(numpy.ravel(num == obj.numeric)), 1) + self.assertEqual(numpy.all(numpy.ravel(num == obj.numeric)), 1) self.assertEqual(id(state.ref), id(num)) if TVTK_AVAILABLE: From 83e93a8a3ceb8f68a58f537a6cd3337ac5369174 Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Thu, 27 Jun 2024 21:14:57 +0100 Subject: [PATCH 2/4] Add news fragment --- docs/releases/upcoming/341.bugfix.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/releases/upcoming/341.bugfix.rst diff --git a/docs/releases/upcoming/341.bugfix.rst b/docs/releases/upcoming/341.bugfix.rst new file mode 100644 index 00000000..cd486f15 --- /dev/null +++ b/docs/releases/upcoming/341.bugfix.rst @@ -0,0 +1 @@ +Replaced uses of ``numpy.alltrue``, for compatibility with NumPy 2.0. From 15fe026fa3961b052cdb78b42bea9adc9e7c96c9 Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Fri, 28 Jun 2024 16:34:04 +0100 Subject: [PATCH 3/4] Replace with a more idiomatic test --- apptools/persistence/tests/test_state_pickler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apptools/persistence/tests/test_state_pickler.py b/apptools/persistence/tests/test_state_pickler.py index 4def8df0..d095c3e3 100644 --- a/apptools/persistence/tests/test_state_pickler.py +++ b/apptools/persistence/tests/test_state_pickler.py @@ -172,7 +172,7 @@ def verify(self, obj, state): base64.decodebytes(data[num_attr]["data"]) ) num = pickle.loads(junk) - self.assertEqual(numpy.all(numpy.ravel(num == obj.numeric)), 1) + numpy.testing.assert_array_equal(num, obj.numeric, strict=True) self.assertIn(data["ref"]["type"], ["reference", "numeric"]) if data["ref"]["type"] == "numeric": @@ -218,7 +218,7 @@ def verify_unpickled(self, obj, state): self.assertEqual(dct["ref"].__metadata__["type"], "instance") num = state.numeric - self.assertEqual(numpy.all(numpy.ravel(num == obj.numeric)), 1) + numpy.testing.assert_array_equal(num, obj.numeric, strict=True) self.assertEqual(id(state.ref), id(num)) if TVTK_AVAILABLE: From c04ad35e8c82cb0f58bcfc07142507d8c84363a7 Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Fri, 28 Jun 2024 16:36:24 +0100 Subject: [PATCH 4/4] The strict flag is too new for EDS NumPy; remove it --- apptools/persistence/tests/test_state_pickler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apptools/persistence/tests/test_state_pickler.py b/apptools/persistence/tests/test_state_pickler.py index d095c3e3..d0de88d9 100644 --- a/apptools/persistence/tests/test_state_pickler.py +++ b/apptools/persistence/tests/test_state_pickler.py @@ -172,7 +172,7 @@ def verify(self, obj, state): base64.decodebytes(data[num_attr]["data"]) ) num = pickle.loads(junk) - numpy.testing.assert_array_equal(num, obj.numeric, strict=True) + numpy.testing.assert_array_equal(num, obj.numeric) self.assertIn(data["ref"]["type"], ["reference", "numeric"]) if data["ref"]["type"] == "numeric": @@ -218,7 +218,7 @@ def verify_unpickled(self, obj, state): self.assertEqual(dct["ref"].__metadata__["type"], "instance") num = state.numeric - numpy.testing.assert_array_equal(num, obj.numeric, strict=True) + numpy.testing.assert_array_equal(num, obj.numeric) self.assertEqual(id(state.ref), id(num)) if TVTK_AVAILABLE: