From 811ad26e6b37153adb6ec525134fe0b04b9065bf Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 29 Jul 2023 09:26:56 +1100 Subject: [PATCH] backport patch to fix a failing test --- recipe/meta.yaml | 4 +- ...Harden-test_memory.py-for-use-with-A.patch | 52 +++++++++++++++++++ 2 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 recipe/patches/0001-GH-15017-Python-Harden-test_memory.py-for-use-with-A.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 394067106..82ba98d4c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -18,6 +18,8 @@ source: - url: https://github.com/apache/arrow/archive/refs/tags/apache-arrow-{{ version }}.tar.gz # - url: https://dist.apache.org/repos/dist/release/arrow/arrow-{{ version }}/apache-arrow-{{ version }}.tar.gz sha256: 3cd24193ab9574e10d0f35ce9b0f39c8030cb83a947c8c6c16f2bf29211f2209 + patches: + - patches/0001-GH-15017-Python-Harden-test_memory.py-for-use-with-A.patch # testing-submodule not part of release tarball - git_url: https://github.com/apache/arrow-testing.git git_rev: 47f7b56b25683202c1fd957668e13f2abafc0f12 @@ -377,8 +379,6 @@ outputs: # test failures on ppc (both failing with: Float value was truncated converting to int32) {% set tests_to_skip = tests_to_skip + " or test_safe_cast_from_float_with_nans_to_int" %} # [ppc64le] {% set tests_to_skip = tests_to_skip + " or test_float_with_null_as_integer" %} # [ppc64le] - # "Unsupported backend 'nonexistent' specified in ARROW_DEFAULT_MEMORY_POOL" - {% set tests_to_skip = tests_to_skip + " or (test_memory and test_env_var)" %} # [unix] # ^^^^^^^ TESTS THAT SHOULDN'T HAVE TO BE SKIPPED ^^^^^^^ - pytest -rfEs -k "not ({{ tests_to_skip }})" {% endif %} diff --git a/recipe/patches/0001-GH-15017-Python-Harden-test_memory.py-for-use-with-A.patch b/recipe/patches/0001-GH-15017-Python-Harden-test_memory.py-for-use-with-A.patch new file mode 100644 index 000000000..4fb714c3d --- /dev/null +++ b/recipe/patches/0001-GH-15017-Python-Harden-test_memory.py-for-use-with-A.patch @@ -0,0 +1,52 @@ +From 0ff739a0d3c8c4df4b46625f0bb0bc87c6b0d29d Mon Sep 17 00:00:00 2001 +From: h-vetinari +Date: Fri, 28 Jul 2023 13:31:01 +1100 +Subject: [PATCH] GH-15017: [Python] Harden test_memory.py for use with + ARROW_USE_GLOG=ON (#36901) + +Accept output pattern for ARROW_USE_GLOG=ON too. + +* Closes: #15017 + +Lead-authored-by: H. Vetinari +Co-authored-by: Sutou Kouhei +Signed-off-by: Sutou Kouhei +--- + dev/tasks/conda-recipes/arrow-cpp/meta.yaml | 2 -- + python/pyarrow/tests/test_memory.py | 10 ++++++++-- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/dev/tasks/conda-recipes/arrow-cpp/meta.yaml b/dev/tasks/conda-recipes/arrow-cpp/meta.yaml +index 2f79bbe95..24c0a6ba7 100644 +--- a/dev/tasks/conda-recipes/arrow-cpp/meta.yaml ++++ b/dev/tasks/conda-recipes/arrow-cpp/meta.yaml +@@ -381,8 +381,6 @@ outputs: + {% set tests_to_skip = tests_to_skip + " or test_safe_cast_from_float_with_nans_to_int" %} # [ppc64le] + # gandiva tests are segfaulting on ppc + {% set tests_to_skip = tests_to_skip + " or test_float_with_null_as_integer" %} # [ppc64le] +- # "Unsupported backend 'nonexistent' specified in ARROW_DEFAULT_MEMORY_POOL" +- {% set tests_to_skip = tests_to_skip + " or (test_memory and test_env_var)" %} # [unix] + # test is broken; header is in $PREFIX, not $SP_DIR + {% set tests_to_skip = tests_to_skip + " or (test_misc and test_get_include)" %} # [unix] + # ^^^^^^^ TESTS THAT SHOULDN'T HAVE TO BE SKIPPED ^^^^^^^ +diff --git a/python/pyarrow/tests/test_memory.py b/python/pyarrow/tests/test_memory.py +index 092c50de3..d9fdeb152 100644 +--- a/python/pyarrow/tests/test_memory.py ++++ b/python/pyarrow/tests/test_memory.py +@@ -134,8 +134,14 @@ def check_env_var(name, expected, *, expect_warning=False): + res.check_returncode() # fail + errlines = res.stderr.splitlines() + if expect_warning: +- assert len(errlines) == 1 +- assert f"Unsupported backend '{name}'" in errlines[0] ++ assert len(errlines) in (1, 2) ++ if len(errlines) == 1: ++ # ARROW_USE_GLOG=OFF ++ assert f"Unsupported backend '{name}'" in errlines[0] ++ else: ++ # ARROW_USE_GLOG=ON ++ assert "InitGoogleLogging()" in errlines[0] ++ assert f"Unsupported backend '{name}'" in errlines[1] + else: + assert len(errlines) == 0 +