python-numpy/0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch
Markéta Machová 1dfe7b31d1 Accepting request 1163337 from home:Vogtinator:boo1221902
- Add patch to fix detection of some features:
  * 0001-feature-module-Fix-handling-of-multiple-conflicts-pe.patch
- Add patch to fix test failure on some platforms (boo#1221902):
  * 0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch

OBS-URL: https://build.opensuse.org/request/show/1163337
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numpy?expand=0&rev=153
2024-04-02 12:06:20 +00:00

65 lines
2.5 KiB
Diff

From bf50761dee8f0670542bcdc1fd9bff5cdb0448d4 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.de>
Date: Thu, 28 Mar 2024 14:39:45 +0100
Subject: [PATCH] BUG: Fix test_impossible_feature_enable failing without
BASELINE_FEAT
If the build has no baseline features set, the test ended up setting
e.g. NPY_ENABLE_CPU_FEATURES="ASIMDHP, None". This actually made the
execution succeed, as the warning for decoding "None" overrode the
error for the real feature. Fix the error handling there by removing
the errorneous "return 0;", add a test for this, and avoid passing
"None" by accident.
---
numpy/core/src/common/npy_cpu_features.c | 1 -
numpy/core/tests/test_cpu_features.py | 14 ++++++++++++--
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/numpy/core/src/common/npy_cpu_features.c b/numpy/core/src/common/npy_cpu_features.c
index bd149f8b4..f4d25cc50 100644
--- a/numpy/core/src/common/npy_cpu_features.c
+++ b/numpy/core/src/common/npy_cpu_features.c
@@ -324,7 +324,6 @@ npy__cpu_check_env(int disable, const char *env) {
) < 0) {
return -1;
}
- return 0;
}
#define NOTSUPP_BODY \
diff --git a/numpy/core/tests/test_cpu_features.py b/numpy/core/tests/test_cpu_features.py
index 48ab30a4a..88e4ad185 100644
--- a/numpy/core/tests/test_cpu_features.py
+++ b/numpy/core/tests/test_cpu_features.py
@@ -308,8 +308,8 @@ def test_impossible_feature_enable(self):
err_type = "RuntimeError"
self._expect_error(msg, err_type)
- # Ensure that only the bad feature gets reported
- feats = f"{bad_feature}, {self.BASELINE_FEAT}"
+ # Ensure that it fails even when providing garbage in addition
+ feats = f"{bad_feature}, Foobar"
self.env['NPY_ENABLE_CPU_FEATURES'] = feats
msg = (
f"You cannot enable CPU features \\({bad_feature}\\), since they "
@@ -317,6 +317,16 @@ def test_impossible_feature_enable(self):
)
self._expect_error(msg, err_type)
+ if self.BASELINE_FEAT is not None:
+ # Ensure that only the bad feature gets reported
+ feats = f"{bad_feature}, {self.BASELINE_FEAT}"
+ self.env['NPY_ENABLE_CPU_FEATURES'] = feats
+ msg = (
+ f"You cannot enable CPU features \\({bad_feature}\\), since "
+ "they are not supported by your machine."
+ )
+ self._expect_error(msg, err_type)
+
is_linux = sys.platform.startswith('linux')
is_cygwin = sys.platform.startswith('cygwin')
machine = platform.machine()
--
2.44.0