Skip one more test expected to fail on 32-bit architectures

This commit is contained in:
Nikola Forró 2020-09-30 20:22:12 +02:00
parent 803fd0655e
commit 94c45e83c5
3 changed files with 52 additions and 32 deletions

View File

@ -15,7 +15,7 @@
Summary: Scientific Tools for Python
Name: scipy
Version: 1.5.2
Release: 1%{?dist}
Release: 2%{?dist}
# BSD -- whole package except:
# Boost -- scipy/special/cephes/scipy_iv.c
@ -25,7 +25,7 @@ Url: http://www.scipy.org/scipylib/index.html
Source0: https://github.com/scipy/scipy/releases/download/v%{version}/scipy-%{version}.tar.gz
# https://github.com/scipy/scipy/pull/12899
Patch0: test_nnz_overflow.patch
Patch0: skip-certain-tests-on-32-bit-arches.patch
BuildRequires: fftw-devel, suitesparse-devel
BuildRequires: %{blaslib}-devel
@ -171,6 +171,9 @@ popd
%endif
%changelog
* Wed Sep 30 2020 Nikola Forró <nforro@redhat.com> - 1.5.2-2
- Skip one more test expected to fail on 32-bit architectures
* Mon Aug 31 2020 Nikola Forró <nforro@redhat.com> - 1.5.2-1
- New upstream release 1.5.2
resolves: #1853871 and #1840077

View File

@ -0,0 +1,47 @@
From ea0a77cf8761a8b8636b93314139ed0fc0a9d1db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
Date: Wed, 30 Sep 2020 11:44:25 +0200
Subject: [PATCH] TST: make a couple of tests expected to fail on 32-bit
architectures
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In TestConstructUtils.test_concatenate_int32_overflow
and test_nnz_overflow, on a 32-bit architecture, in case
check_free_memory() passes, ValueError is raised on an attempt
to create a numpy array too large for a 32-bit architecture.
Signed-off-by: Nikola Forró <nforro@redhat.com>
---
scipy/sparse/tests/test_construct.py | 1 +
scipy/sparse/tests/test_sparsetools.py | 1 +
2 files changed, 2 insertions(+)
diff --git a/scipy/sparse/tests/test_construct.py b/scipy/sparse/tests/test_construct.py
index 3a882c6cc..5a2b92667 100644
--- a/scipy/sparse/tests/test_construct.py
+++ b/scipy/sparse/tests/test_construct.py
@@ -378,6 +378,7 @@ class TestConstructUtils(object):
excinfo.match(r'Got blocks\[0,1\]\.shape\[0\] == 1, expected 2')
@pytest.mark.slow
+ @pytest.mark.xfail_on_32bit("Can't create large array for test")
def test_concatenate_int32_overflow(self):
""" test for indptr overflow when concatenating matrices """
check_free_memory(30000)
diff --git a/scipy/sparse/tests/test_sparsetools.py b/scipy/sparse/tests/test_sparsetools.py
index 0c208ef44..e95df1ba0 100644
--- a/scipy/sparse/tests/test_sparsetools.py
+++ b/scipy/sparse/tests/test_sparsetools.py
@@ -61,6 +61,7 @@ def test_regression_std_vector_dtypes():
@pytest.mark.slow
+@pytest.mark.xfail_on_32bit("Can't create large array for test")
def test_nnz_overflow():
# Regression test for gh-7230 / gh-7871, checking that coo_todense
# with nnz > int32max doesn't overflow.
--
2.26.2

View File

@ -1,30 +0,0 @@
From b4da1455615fd7dc6d3554d16008a1e88018fa4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
Date: Wed, 30 Sep 2020 11:44:25 +0200
Subject: [PATCH] TST: skip test_nnz_overflow on 32-bit architectures
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
On a 32-bit architecture, in case check_free_memory() passes, the first
np.zeros() fails with "ValueError: Maximum allowed dimension exceeded",
which I believe is expected.
Signed-off-by: Nikola Forró <nforro@redhat.com>
---
scipy/sparse/tests/test_sparsetools.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scipy/sparse/tests/test_sparsetools.py b/scipy/sparse/tests/test_sparsetools.py
index 0c208ef4451..19c7de43fa1 100644
--- a/scipy/sparse/tests/test_sparsetools.py
+++ b/scipy/sparse/tests/test_sparsetools.py
@@ -61,6 +61,8 @@ def test_regression_std_vector_dtypes():
@pytest.mark.slow
+@pytest.mark.skipif(not (sys.platform.startswith('linux') and np.dtype(np.intp).itemsize >= 8),
+ reason="test requires 64-bit Linux")
def test_nnz_overflow():
# Regression test for gh-7230 / gh-7871, checking that coo_todense
# with nnz > int32max doesn't overflow.