New upstream release 1.5.2

- resolves: #1853871 and #1840077
This commit is contained in:
Nikola Forró 2020-09-30 15:34:25 +02:00
parent de8cee97b4
commit 803fd0655e
5 changed files with 54 additions and 50 deletions

1
.gitignore vendored
View File

@ -29,3 +29,4 @@ scipy-0.7.2.tar.gz
/scipy-1.3.1.tar.gz
/scipy-1.4.1.tar.gz
/scipy-1.5.0.tar.gz
/scipy-1.5.2.tar.gz

View File

@ -1,20 +0,0 @@
diff --git a/scipy/conftest.py b/scipy/conftest.py
index e5fac23..1a971e8 100644
--- a/scipy/conftest.py
+++ b/scipy/conftest.py
@@ -37,3 +38,15 @@ def check_fpu_mode(request):
warnings.warn("FPU mode changed from {0:#x} to {1:#x} during "
"the test".format(old_mode, new_mode),
category=FPUModeChangeWarning, stacklevel=0)
+
+
+ACCEPTABLE_FAILURE_RATE = int(os.environ.get('ACCEPTABLE_FAILURE_RATE', 0))
+
+
+@pytest.hookimpl()
+def pytest_sessionfinish(session, exitstatus):
+ if exitstatus != 1:
+ return
+ failure_rate = (100.0 * session.testsfailed) / session.testscollected
+ if failure_rate <= ACCEPTABLE_FAILURE_RATE:
+ session.exitstatus = 0

View File

@ -14,8 +14,8 @@
Summary: Scientific Tools for Python
Name: scipy
Version: 1.5.0
Release: 4%{?dist}
Version: 1.5.2
Release: 1%{?dist}
# BSD -- whole package except:
# Boost -- scipy/special/cephes/scipy_iv.c
@ -24,10 +24,8 @@ License: BSD and Boost and Public Domain
Url: http://www.scipy.org/scipylib/index.html
Source0: https://github.com/scipy/scipy/releases/download/v%{version}/scipy-%{version}.tar.gz
# Previously we ignored the tests results, because they don't always pass
# Instead of ignoring the results entirely, we allow certain failure rate
# https://stackoverflow.com/a/47731333/1839451
Patch0: acceptable_failure_rate.patch
# https://github.com/scipy/scipy/pull/12899
Patch0: test_nnz_overflow.patch
BuildRequires: fftw-devel, suitesparse-devel
BuildRequires: %{blaslib}-devel
@ -139,33 +137,24 @@ pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{python3_sitearch
# check against the reference BLAS/LAPACK
export FLEXIBLAS=netlib
# Skip all tests on s390x because they hangs unexpectedly and randomly
# and pytest-timeout has no effect. Note that the outcome of the tests
# was previously ignored anyway so by disabling the test for s390x we
# are not doing anything more dangerous.
%ifarch s390x
exit 0
%endif
%ifarch x86_64
export ACCEPTABLE_FAILURE_RATE=0
%else
# there are usually 10-21 test failing, so we allow 1% failure rate
# XXX ppc fails 2%+, so we've extended this to 3% for now
export ACCEPTABLE_FAILURE_RATE=3
%endif
%ifarch ppc64le
# test_decomp segfaults on ppc64le
export k="not test_denormals and not test_decomp"
%else
# test_denormals tends to stuck
export k="not test_denormals"
# skip failing tests on s390x for now
export PYTEST_ADDOPTS="-k '\
not (TestNoData and test_nodata) and \
not test_fortranfile_read_mixed_record and \
not test_kde_1d and \
not test_kde_1d_weighted and \
not test_kde_2d and \
not test_kde_2d_weighted and \
not test_gaussian_kde_subclassing and \
not test_gaussian_kde_covariance_caching and \
not test_kde_integer_input and \
not test_pdf_logpdf and \
not test_pdf_logpdf_weighted'"
%endif
pushd %{buildroot}/%{python3_sitearch}
# TODO TestIQR.test_scale fails on Python 3.8+ due to some warnings, investigate
%{pytest} --timeout=500 -k "$k and not (TestIQR and test_scale)" scipy --numprocesses=auto
%{pytest} --timeout=300 scipy --numprocesses=auto
# Remove test remnants
rm -rf gram{A,B}
popd
@ -182,6 +171,10 @@ popd
%endif
%changelog
* Mon Aug 31 2020 Nikola Forró <nforro@redhat.com> - 1.5.2-1
- New upstream release 1.5.2
resolves: #1853871 and #1840077
* Sun Aug 16 2020 Iñaki Úcar <iucar@fedoraproject.org> - 1.5.0-4
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager

View File

@ -1 +1 @@
SHA512 (scipy-1.5.0.tar.gz) = 4c981a3125a88593cbc5a17417022a5db8f6ccb4c1c24e78afeb9bb26428b81d2d0fe9965caa418753b1bbbda2fa30533fa1307aac6ab168458d68f7b46049be
SHA512 (scipy-1.5.2.tar.gz) = 45463df30a0f6270d9f4cf52235f31607904a6ae1375e12600e7f1ab2d27b1dc25a6211b49dceb71506be22c756890adaf9f81d9e6be7455def86c9caf0dc923

30
test_nnz_overflow.patch Normal file
View File

@ -0,0 +1,30 @@
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.