From a189d51e2703ba4bf3857239a78ea016716f2295 Mon Sep 17 00:00:00 2001 From: Sparks29032 Date: Tue, 24 Feb 2026 11:16:43 -0800 Subject: [PATCH 1/3] Robust warning handling --- tests/test_morphsqueeze.py | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/tests/test_morphsqueeze.py b/tests/test_morphsqueeze.py index 8a172086..90de2a6c 100644 --- a/tests/test_morphsqueeze.py +++ b/tests/test_morphsqueeze.py @@ -148,11 +148,16 @@ def test_morphsqueeze_extrapolate(user_filesystem, squeeze_coeffs, wmsg_gen): squeeze=coeffs, apply=True, ) - assert len(warning) == 1 - assert warning[0].category is UserWarning - actual_wmsg = str(warning[0].message) - expected_wmsg = wmsg_gen([min(x_squeezed), max(x_squeezed)]) - assert actual_wmsg == expected_wmsg + assert len(warning) >= 1 + expected_wmsg = wmsg_gen([min(x_squeezed), max(x_squeezed)]) + message_found = False + for w in warning: + actual_wmsg = str(w.message) + if actual_wmsg == expected_wmsg: + if w.category is UserWarning: + message_found = True + break + assert message_found # CLI test morph_file, target_file = create_morph_data_file( @@ -272,9 +277,7 @@ def test_squeeze_warnings(user_filesystem, squeeze_coeffs, x_morph): squeeze=squeeze_coeffs, apply=True, ) - assert len(warning) == 1 - assert warning[0].category is UserWarning - actual_wmsg = str(warning[0].message) + assert len(warning) >= 1 expected_wmsg = ( "Warning: The squeeze morph has interpolated your morphed " "function from a non-monotonically increasing grid. " @@ -295,7 +298,14 @@ def test_squeeze_warnings(user_filesystem, squeeze_coeffs, x_morph): "first apply a --hshift and --stretch morph. " "Then, use the hshift parameter for a0 and stretch parameter for a1." ) - assert expected_wmsg in actual_wmsg + message_found = False + for w in warning: + actual_wmsg = str(w.message) + if expected_wmsg in actual_wmsg: + if w.category is UserWarning: + message_found = True + break + assert message_found # call in CLI morph_file, target_file = create_morph_data_file( @@ -314,9 +324,13 @@ def test_squeeze_warnings(user_filesystem, squeeze_coeffs, x_morph): ) with pytest.warns(UserWarning) as warning: single_morph(parser, opts, pargs, stdout_flag=False) - assert len(warning) == 1 - actual_wmsg = str(warning[0].message) - assert expected_wmsg in actual_wmsg + assert len(warning) >= 1 + message_found = False + for w in warning: + actual_wmsg = str(w.message) + if expected_wmsg in actual_wmsg: + message_found = True + assert message_found @pytest.mark.parametrize( From 2f6cf4b9a9f30685b4ca3b69954a02c7e2547018 Mon Sep 17 00:00:00 2001 From: Sparks29032 Date: Tue, 24 Feb 2026 11:18:49 -0800 Subject: [PATCH 2/3] News --- news/squeeze_tests.rst | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 news/squeeze_tests.rst diff --git a/news/squeeze_tests.rst b/news/squeeze_tests.rst new file mode 100644 index 00000000..790d30b1 --- /dev/null +++ b/news/squeeze_tests.rst @@ -0,0 +1,23 @@ +**Added:** + +* + +**Changed:** + +* + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +* From 07644568b99028138f34bdce99f223c626bfa5fe Mon Sep 17 00:00:00 2001 From: Sparks29032 Date: Tue, 24 Feb 2026 12:28:04 -0800 Subject: [PATCH 3/3] Nonews --- news/squeeze_tests.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/news/squeeze_tests.rst b/news/squeeze_tests.rst index 790d30b1..7d73a2bf 100644 --- a/news/squeeze_tests.rst +++ b/news/squeeze_tests.rst @@ -1,6 +1,6 @@ **Added:** -* +* No news: fixing tests, no user-facing changes. **Changed:**