Hello community, here is the log from the commit of package python-control for openSUSE:Factory checked in at 2020-06-27 23:22:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-control (Old) and /work/SRC/openSUSE:Factory/.python-control.new.3060 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-control" Sat Jun 27 23:22:39 2020 rev:4 rq:817307 version:0.8.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-control/python-control.changes 2020-01-18 12:19:11.859173226 +0100 +++ /work/SRC/openSUSE:Factory/.python-control.new.3060/python-control.changes 2020-06-27 23:22:39.981839261 +0200 @@ -1,0 +2,9 @@ +Fri Jun 26 15:29:50 UTC 2020 - Benjamin Greiner <c...@bnavigator.de> + +- move to pytest, ignore deprecation warnings for scipy functions + and matrix type during tests gh#python-control/python-control#423 +- fix invalid test discovery by pr380-fix-pytest-discovery.patch + gh#python-control/python-control#380 +- skip mixsyn test on PowerPC boo#1172555 + +------------------------------------------------------------------- New: ---- pr380-fix-pytest-discovery.patch python-control-rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-control.spec ++++++ --- /var/tmp/diff_new_pack.QnzUyU/_old 2020-06-27 23:22:40.609841326 +0200 +++ /var/tmp/diff_new_pack.QnzUyU/_new 2020-06-27 23:22:40.609841326 +0200 @@ -25,11 +25,14 @@ License: BSD-3-Clause URL: http://python-control.sourceforge.net Source: https://files.pythonhosted.org/packages/source/c/control/control-%{version}.tar.gz +Source1: %{name}-rpmlintrc Patch0: pr365-copy-PR-320-for-robust_array_test.patch Patch1: pr366-ease-precision-tolerance.patch +Patch2: pr380-fix-pytest-discovery.patch BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros +Requires: python-matplotlib Requires: python-numpy Requires: python-scipy Recommends: python-slycot @@ -37,12 +40,12 @@ # SECTION test requirements BuildRequires: %{python_module matplotlib-qt5} BuildRequires: %{python_module matplotlib} -BuildRequires: %{python_module nose} BuildRequires: %{python_module numpy} +BuildRequires: %{python_module pytest-xvfb} +BuildRequires: %{python_module pytest} BuildRequires: %{python_module scipy} BuildRequires: %{python_module slycot} BuildRequires: libjemalloc2 -BuildRequires: xvfb-run # /SECTION %python_subpackages @@ -54,6 +57,9 @@ %setup -q -n control-%{version} %patch0 -p1 %patch1 -p1 +%patch2 -p1 +#remove shebang +sed -i '1{\@^#!/usr/bin/env python@ d}' control/tests/*.py %build %python_build @@ -64,21 +70,27 @@ %check # The default Agg backend does not define the toolbar attribute in the Figure -# Manager used by some tests, so we run the tests with the Qt5 backend in a -# virtual X server environment +# Manager used by some tests, so we run the tests with the Qt5 backend +export MPLBACKEND="Qt5Agg" %if %{_arch} == i386 # preload malloc library to avoid free() error on i586 architecture export LD_PRELOAD="%{_libdir}/libjemalloc.so.2" %endif -%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib} -export MPLBACKEND="Qt5Agg" -xvfb-run -a $python setup.py test -} +%if %{_arch} == ppc64 || %{_arch} == ppc64le + %define skiptests -k "not TestMixsyn" +%endif +cat >> setup.cfg <<EOL +[tool:pytest] +filterwarnings = + ignore:.*matrix subclass:PendingDeprecationWarning + ignore:.*scipy:DeprecationWarning +EOL +%pytest %{?skiptests} %files %{python_files} %doc ChangeLog README.rst %license LICENSE %{python_sitelib}/control -%{python_sitelib}/control-*-py*.egg-info +%{python_sitelib}/control-%{version}-py*.egg-info %changelog ++++++ pr380-fix-pytest-discovery.patch ++++++ diff --git a/control/tests/discrete_test.py b/control/tests/discrete_test.py index f08a5fa5..6598e3a8 100644 --- a/control/tests/discrete_test.py +++ b/control/tests/discrete_test.py @@ -5,7 +5,9 @@ import unittest import numpy as np -from control import * +from control import StateSpace, TransferFunction, feedback, step_response, \ + isdtime, timebase, isctime, sample_system, bode, impulse_response, \ + timebaseEqual, forced_response from control import matlab class TestDiscrete(unittest.TestCase): @@ -382,9 +384,6 @@ def test_discrete_bode(self): np.testing.assert_array_almost_equal(mag_out, np.absolute(H_z)) np.testing.assert_array_almost_equal(phase_out, np.angle(H_z)) -def suite(): - return unittest.TestLoader().loadTestsFromTestCase(TestDiscrete) - if __name__ == "__main__": unittest.main() ++++++ python-control-rpmlintrc ++++++ addFilter("explicit-lib-dependency python3-matplotlib")