Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-control for openSUSE:Factory 
checked in at 2022-12-24 14:52:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-control (Old)
 and      /work/SRC/openSUSE:Factory/.python-control.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-control"

Sat Dec 24 14:52:14 2022 rev:17 rq:1045112 version:0.9.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-control/python-control.changes    
2022-05-30 12:44:34.708440684 +0200
+++ /work/SRC/openSUSE:Factory/.python-control.new.1563/python-control.changes  
2022-12-24 14:55:08.168627437 +0100
@@ -1,0 +2,6 @@
+Fri Dec 23 20:09:25 UTC 2022 - Ben Greiner <c...@bnavigator.de>
+
+- Add control-pr777-mpl36.patch
+  gh#python-control/python-control#777
+
+-------------------------------------------------------------------

New:
----
  control-pr777-mpl36.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-control.spec ++++++
--- /var/tmp/diff_new_pack.mUpzzZ/_old  2022-12-24 14:55:08.556629700 +0100
+++ /var/tmp/diff_new_pack.mUpzzZ/_new  2022-12-24 14:55:08.564629747 +0100
@@ -16,7 +16,6 @@
 #
 
 
-%define skip_python2 1
 Name:           python-control
 Version:        0.9.2
 Release:        0
@@ -25,8 +24,12 @@
 URL:            https://python-control.org
 Source:         
https://files.pythonhosted.org/packages/source/c/control/control-%{version}.tar.gz
 Source1:        %{name}-rpmlintrc
+# PATCH-FIX-UPSTREAM control-pr777-mpl36.patch 
gh#python-control/python-control#777
+Patch1:         control-pr777-mpl36.patch
 BuildRequires:  %{python_module base >= 3.7}
+BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires:       python-matplotlib
@@ -56,10 +59,10 @@
 sed -i '1{\@^#!/usr/bin/env@ d}' control/tests/*.py
 
 %build
-%python_build
+%pyproject_wheel
 
 %install
-%python_install
+%pyproject_install
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
@@ -76,6 +79,6 @@
 %doc ChangeLog README.rst
 %license LICENSE
 %{python_sitelib}/control
-%{python_sitelib}/control-%{version}-py*.egg-info
+%{python_sitelib}/control-%{version}.dist-info
 
 %changelog

++++++ control-pr777-mpl36.patch ++++++
>From dc74aec940d027a1857eb1a97ca3e6a3a7c0a3b1 Mon Sep 17 00:00:00 2001
From: Ben Greiner <c...@bnavigator.de>
Date: Sat, 8 Oct 2022 16:01:15 +0200
Subject: [PATCH 1/2] parametrize kwargs tests; allow new matplotib 3.6 error
 message

---
 control/tests/kwargs_test.py | 135 +++++++++++++++++------------------
 1 file changed, 65 insertions(+), 70 deletions(-)

diff --git a/control/tests/kwargs_test.py b/control/tests/kwargs_test.py
index 598a8ccca..855bb9dda 100644
--- a/control/tests/kwargs_test.py
+++ b/control/tests/kwargs_test.py
@@ -75,79 +75,74 @@ def test_kwarg_search(module, prefix):
             test_kwarg_search(obj, prefix + obj.__name__ + '.')
 
 
-@pytest.mark.usefixtures('editsdefaults')
-def test_unrecognized_kwargs():
+@pytest.mark.parametrize(
+    "function, nsssys, ntfsys, moreargs, kwargs",
+    [(control.dlqe, 1, 0, ([[1]], [[1]]), {}),
+     (control.dlqr, 1, 0, ([[1, 0], [0, 1]], [[1]]), {}),
+     (control.drss, 0, 0, (2, 1, 1), {}),
+     (control.input_output_response, 1, 0, ([0, 1, 2], [1, 1, 1]), {}),
+     (control.lqe, 1, 0, ([[1]], [[1]]), {}),
+     (control.lqr, 1, 0, ([[1, 0], [0, 1]], [[1]]), {}),
+     (control.linearize, 1, 0, (0, 0), {}),
+     (control.pzmap, 1, 0, (), {}),
+     (control.rlocus, 0, 1, ( ), {}),
+     (control.root_locus, 0, 1, ( ), {}),
+     (control.rss, 0, 0, (2, 1, 1), {}),
+     (control.set_defaults, 0, 0, ('control',), {'default_dt': True}),
+     (control.ss, 0, 0, (0, 0, 0, 0), {'dt': 1}),
+     (control.ss2io, 1, 0,  (), {}),
+     (control.ss2tf, 1, 0, (), {}),
+     (control.summing_junction, 0, 0, (2,), {}),
+     (control.tf, 0, 0, ([1], [1, 1]), {}),
+     (control.tf2io, 0, 1, (), {}),
+     (control.tf2ss, 0, 1, (), {}),
+     (control.InputOutputSystem, 0, 0, (),
+      {'inputs': 1, 'outputs': 1, 'states': 1}),
+     (control.InputOutputSystem.linearize, 1, 0, (0, 0), {}),
+     (control.StateSpace, 0, 0, ([[-1, 0], [0, -1]], [[1], [1]], [[1, 1]], 0), 
{}),
+     (control.TransferFunction, 0, 0, ([1], [1, 1]), {})]
+)
+def test_unrecognized_kwargs(function, nsssys, ntfsys, moreargs, kwargs,
+                             mplcleanup, editsdefaults):
+    # Create SISO systems for use in parameterized tests
+    sssys = control.ss([[-1, 1], [0, -1]], [[0], [1]], [[1, 0]], 0, dt=None)
+    tfsys = control.tf([1], [1, 1])
+
+    args = (sssys, )*nsssys + (tfsys, )*ntfsys + moreargs
+
+    # Call the function normally and make sure it works
+    function(*args, **kwargs)
+
+    # Now add an unrecognized keyword and make sure there is an error
+    with pytest.raises(TypeError, match="unrecognized keyword"):
+        function(*args, **kwargs, unknown=None)
+
+
+@pytest.mark.parametrize(
+    "function, nsysargs, moreargs, kwargs",
+    [(control.bode, 1, (), {}),
+     (control.bode_plot, 1, (), {}),
+     (control.describing_function_plot, 1,
+      (control.descfcn.saturation_nonlinearity(1), [1, 2, 3, 4]), {}),
+     (control.gangof4, 2, (), {}),
+     (control.gangof4_plot, 2, (), {}),
+     (control.nyquist, 1, (), {}),
+     (control.nyquist_plot, 1, (), {}),
+     (control.singular_values_plot, 1, (), {})]
+)
+def test_matplotlib_kwargs(function, nsysargs, moreargs, kwargs, mplcleanup):
     # Create a SISO system for use in parameterized tests
     sys = control.ss([[-1, 1], [0, -1]], [[0], [1]], [[1, 0]], 0, dt=None)
 
-    table = [
-        [control.dlqe, (sys, [[1]], [[1]]), {}],
-        [control.dlqr, (sys, [[1, 0], [0, 1]], [[1]]), {}],
-        [control.drss, (2, 1, 1), {}],
-        [control.input_output_response, (sys, [0, 1, 2], [1, 1, 1]), {}],
-        [control.lqe, (sys, [[1]], [[1]]), {}],
-        [control.lqr, (sys, [[1, 0], [0, 1]], [[1]]), {}],
-        [control.linearize, (sys, 0, 0), {}],
-        [control.pzmap, (sys,), {}],
-        [control.rlocus, (control.tf([1], [1, 1]), ), {}],
-        [control.root_locus, (control.tf([1], [1, 1]), ), {}],
-        [control.rss, (2, 1, 1), {}],
-        [control.set_defaults, ('control',), {'default_dt': True}],
-        [control.ss, (0, 0, 0, 0), {'dt': 1}],
-        [control.ss2io, (sys,), {}],
-        [control.ss2tf, (sys,), {}],
-        [control.summing_junction, (2,), {}],
-        [control.tf, ([1], [1, 1]), {}],
-        [control.tf2io, (control.tf([1], [1, 1]),), {}],
-        [control.tf2ss, (control.tf([1], [1, 1]),), {}],
-        [control.InputOutputSystem, (),
-         {'inputs': 1, 'outputs': 1, 'states': 1}],
-        [control.InputOutputSystem.linearize, (sys, 0, 0), {}],
-        [control.StateSpace, ([[-1, 0], [0, -1]], [[1], [1]], [[1, 1]], 0), 
{}],
-        [control.TransferFunction, ([1], [1, 1]), {}],
-    ]
-
-    for function, args, kwargs in table:
-        # Call the function normally and make sure it works
-        function(*args, **kwargs)
-
-        # Now add an unrecognized keyword and make sure there is an error
-        with pytest.raises(TypeError, match="unrecognized keyword"):
-            function(*args, **kwargs, unknown=None)
-
-        # If we opened any figures, close them to avoid matplotlib warnings
-        if plt.gca():
-            plt.close('all')
-
-
-def test_matplotlib_kwargs():
-    # Create a SISO system for use in parameterized tests
-    sys = control.ss([[-1, 1], [0, -1]], [[0], [1]], [[1, 0]], 0, dt=None)
-    ctl = control.ss([[-1, 1], [0, -1]], [[0], [1]], [[1, 0]], 0, dt=None)
-
-    table = [
-        [control.bode, (sys, ), {}],
-        [control.bode_plot, (sys, ), {}],
-        [control.describing_function_plot,
-         (sys, control.descfcn.saturation_nonlinearity(1), [1, 2, 3, 4]), {}],
-        [control.gangof4, (sys, ctl), {}],
-        [control.gangof4_plot, (sys, ctl), {}],
-        [control.nyquist, (sys, ), {}],
-        [control.nyquist_plot, (sys, ), {}],
-        [control.singular_values_plot, (sys, ), {}],
-    ]
-
-    for function, args, kwargs in table:
-        # Call the function normally and make sure it works
-        function(*args, **kwargs)
-
-        # Now add an unrecognized keyword and make sure there is an error
-        with pytest.raises(AttributeError, match="has no property"):
-            function(*args, **kwargs, unknown=None)
-
-        # If we opened any figures, close them to avoid matplotlib warnings
-        if plt.gca():
-            plt.close('all')
+    # Call the function normally and make sure it works
+    args = (sys, )*nsysargs + moreargs
+    function(*args, **kwargs)
+
+    # Now add an unrecognized keyword and make sure there is an error
+    with pytest.raises(AttributeError,
+                       match="(has no property|unexpected keyword)"):
+        function(*args, **kwargs, unknown=None)
+
 
 
 #

Reply via email to