From 86df5c938bb4f5409e1e7a266b9e732aab92cce2 Mon Sep 17 00:00:00 2001 From: Debian Science Team Date: Mon, 21 Oct 2024 19:43:11 +0100 Subject: [PATCH] Don't require a warning armel numpy doesn't have Author: Rebecca N. Palmer Forwarded: no (this version requires dpkg) Gbp-Pq: Name armel_ignore_nonwarning.patch --- pandas/tests/apply/test_str.py | 8 +++++++- pandas/tests/io/parser/test_c_parser_only.py | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pandas/tests/apply/test_str.py b/pandas/tests/apply/test_str.py index 17e8322d..6c729853 100644 --- a/pandas/tests/apply/test_str.py +++ b/pandas/tests/apply/test_str.py @@ -70,6 +70,12 @@ def test_apply_np_reducer(op, how): @pytest.mark.parametrize("how", ["transform", "apply"]) def test_apply_np_transformer(float_frame, op, how): # GH 39116 + # armel numpy currently doesn't have the invalid log/sqrt warning (see 1.4.3-1 build log, + # possibly the same underlying issue as statsmodels https://bugs.debian.org/956882) + # using nullcontext() instead of warn=None to not start failing if this ever gets fixed + import subprocess + import contextlib + debian_arch = subprocess.run(["dpkg","--print-architecture"],capture_output=True).stdout # float_frame will _usually_ have negative values, which will # trigger the warning here, but let's put one in just to be sure @@ -78,7 +84,7 @@ def test_apply_np_transformer(float_frame, op, how): if op in ["log", "sqrt"]: warn = RuntimeWarning - with tm.assert_produces_warning(warn, check_stacklevel=False): + with (contextlib.nullcontext() if (debian_arch==b'armel\n') else tm.assert_produces_warning(warn, check_stacklevel=False)): # float_frame fixture is defined in conftest.py, so we don't check the # stacklevel as otherwise the test would fail. result = getattr(float_frame, how)(op) diff --git a/pandas/tests/io/parser/test_c_parser_only.py b/pandas/tests/io/parser/test_c_parser_only.py index ab00cadb..3afd0bcd 100644 --- a/pandas/tests/io/parser/test_c_parser_only.py +++ b/pandas/tests/io/parser/test_c_parser_only.py @@ -63,6 +63,12 @@ def test_delim_whitespace_custom_terminator(c_parser_only): expected = DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=["a", "b", "c"]) tm.assert_frame_equal(df, expected) +# armel numpy currently doesn't have some invalid warnings (see 2.0.3+dfsg-3 build log, +# possibly the same underlying issue as statsmodels https://bugs.debian.org/956882) +# using nullcontext() instead of warn=None to not start failing if this ever gets fixed +import subprocess +import contextlib +debian_arch = subprocess.run(["dpkg","--print-architecture"],capture_output=True).stdout def test_dtype_and_names_error(c_parser_only): # see gh-8833: passing both dtype and names @@ -98,7 +104,7 @@ nan 2 # fallback casting, but not castable warning = RuntimeWarning if np_version_gte1p24 else None with pytest.raises(ValueError, match="cannot safely convert"): - with tm.assert_produces_warning(warning, check_stacklevel=False): + with (contextlib.nullcontext() if (debian_arch==b'armel\n') else tm.assert_produces_warning(warning, check_stacklevel=False)): parser.read_csv( StringIO(data), sep=r"\s+", -- 2.30.2