python-matplotlib 3.0.3-1.fc30 fails to build on Python 3.8.0a4+: =================================== FAILURES =================================== ___________________________ test_pathological_hexbin ___________________________ [gw1] linux -- Python 3.8.0 /usr/bin/python3 def test_pathological_hexbin(): # issue #2863 out = io.BytesIO() with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") mylist = [10] * 100 fig, ax = plt.subplots(1, 1) ax.hexbin(mylist, mylist) fig.savefig(out) > assert len(w) == 0 E assert 22 == 0 E + where 22 = len([<warnings.WarningMessage object at 0x7fa9edebd070>, <warnings.WarningMessage object at 0x7fa9ede7b220>, <warnings.War...ede7b5b0>, <warnings.WarningMessage object at 0x7fa9ed446d90>, <warnings.WarningMessage object at 0x7fa9edc7b070>, ...]) ../../BUILDROOT/python-matplotlib-3.0.3-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_axes.py:4889: AssertionError =============================== warnings summary =============================== Seems like the test cannot handle extra warnings. Full logs at https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/python-matplotlib/ Setting severity urgent as we'd like to start rebuilding in Koji side tag next week with 3.8.0beta1.
Can you see how it looks with https://src.fedoraproject.org/rpms/python-matplotlib/pull-request/18 ?
See https://copr.fedorainfracloud.org/coprs/g/python/python3.8/builds/?dirname=python3.8:pr:18
Different error because I re-enabled test_tinypages: E /usr/lib/python3.8/site-packages/docutils/writers/latex2e/__init__.py:2978: SyntaxWarning: invalid escape sequence \l E self.out.append('}] \leavevmode ') Isn't this a bug in python3-docutils?
Seems to have been fixed upstream: https://sourceforge.net/p/docutils/code/8255/ but no release yet?
Definitively coming from docutils, but matplotlib test IMHO should not error on such things.
The warnings in test_pathological_hexbin are about PY_SSIZE_T_CLEAN in _png.cpp. Upstream fix is here: https://github.com/matplotlib/matplotlib/commit/593faa04d96de5424c2b5163aeed4f1a562e60fd
https://src.fedoraproject.org/rpms/python-matplotlib/pull-request/19
Matplotlib 3.1.1 fails again. https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/998214/ =================================== FAILURES =================================== ______________________ test_eventplot_problem_kwargs[png] ______________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 @image_comparison(baseline_images=['test_eventplot_problem_kwargs'], extensions=['png'], remove_text=True) def test_eventplot_problem_kwargs(): ''' test that 'singular' versions of LineCollection props raise an IgnoredKeywordWarning rather than overriding the 'plural' versions (e.g. to prevent 'color' from overriding 'colors', see issue #4297) ''' np.random.seed(0) data1 = np.random.random([20]).tolist() data2 = np.random.random([10]).tolist() data = [data1, data2] fig = plt.figure() axobj = fig.add_subplot(111) with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") colls = axobj.eventplot(data, colors=['r', 'b'], color=['c', 'm'], linewidths=[2, 1], linewidth=[1, 2], linestyles=['solid', 'dashed'], linestyle=['dashdot', 'dotted']) # check that three IgnoredKeywordWarnings were raised > assert len(w) == 3 E assert 5 == 3 E + where 5 = len([<warnings.WarningMessage object at 0x7fa2aa610430>, <warnings.WarningMessage object at 0x7fa2ace58940>, <warnings.War...x7fa2ace58790>, <warnings.WarningMessage object at 0x7fa2aa7a36a0>, <warnings.WarningMessage object at 0x7fa2aa7a3850>]) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_axes.py:3447: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING matplotlib.testing:__init__.py:39 Could not set locale to English/United States. Some date-related tests may fail. ___________________________ test_pathological_hexbin ___________________________ [gw1] linux -- Python 3.8.0 /usr/bin/python3 def test_pathological_hexbin(): # issue #2863 out = io.BytesIO() with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") mylist = [10] * 100 fig, ax = plt.subplots(1, 1) ax.hexbin(mylist, mylist) fig.savefig(out) > assert len(w) == 0 E assert 2 == 0 E + where 2 = len([<warnings.WarningMessage object at 0x7fd1b4b07580>, <warnings.WarningMessage object at 0x7fd1b4b071c0>]) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_axes.py:5046: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING matplotlib.testing:__init__.py:39 Could not set locale to English/United States. Some date-related tests may fail. _______________________________ test_square_plot _______________________________ [gw1] linux -- Python 3.8.0 /usr/bin/python3 def test_square_plot(): x = np.arange(4) y = np.array([1., 3., 5., 7.]) fig, ax = plt.subplots() ax.plot(x, y, 'mo') > ax.axis('square') ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_axes.py:5175: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/axes/_base.py:1694: in axis self.set_xlim([xlim[0], xlim[0] + edge_size], _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <matplotlib.axes._subplots.AxesSubplot object at 0x7fd1b75fadc0> left = 0.0, right = array([6.]), emit = True, auto = False def set_xlim(self, left=None, right=None, emit=True, auto=False, *, xmin=None, xmax=None): """ Set the x-axis view limits. .. ACCEPTS: (left: float, right: float) Parameters ---------- left : scalar, optional The left xlim in data coordinates. Passing *None* leaves the limit unchanged. The left and right xlims may be passed as the tuple (*left*, *right*) as the first positional argument (or as the *left* keyword argument). right : scalar, optional The right xlim in data coordinates. Passing *None* leaves the limit unchanged. emit : bool, optional Whether to notify observers of limit change (default: True). auto : bool or None, optional Whether to turn on autoscaling of the x-axis. True turns on, False turns off (default action), None leaves unchanged. xmin, xmax : scalar, optional They are equivalent to left and right respectively, and it is an error to pass both *xmin* and *left* or *xmax* and *right*. Returns ------- left, right : (float, float) The new x-axis limits in data coordinates. See Also -------- get_xlim set_xbound, get_xbound invert_xaxis, xaxis_inverted Notes ----- The *left* value may be greater than the *right* value, in which case the x-axis values will decrease from left to right. Examples -------- >>> set_xlim(left, right) >>> set_xlim((left, right)) >>> left, right = set_xlim(left, right) One limit may be left unchanged. >>> set_xlim(right=right_lim) Limits may be passed in reverse order to flip the direction of the x-axis. For example, suppose *x* represents the number of years before present. The x-axis limits might be set like the following so 5000 years ago is on the left of the plot and the present is on the right. >>> set_xlim(5000, 0) """ if right is None and np.iterable(left): left, right = left if xmin is not None: if left is not None: raise TypeError('Cannot pass both `xmin` and `left`') left = xmin if xmax is not None: if right is not None: raise TypeError('Cannot pass both `xmax` and `right`') right = xmax self._process_unit_info(xdata=(left, right)) left = self._validate_converted_limits(left, self.convert_xunits) right = self._validate_converted_limits(right, self.convert_xunits) old_left, old_right = self.get_xlim() if left is None: left = old_left if right is None: right = old_right if self.get_xscale() == 'log': if left <= 0: cbook._warn_external( 'Attempted to set non-positive left xlim on a ' 'log-scaled axis.\n' 'Invalid limit will be ignored.') left = old_left if right <= 0: cbook._warn_external( 'Attempted to set non-positive right xlim on a ' 'log-scaled axis.\n' 'Invalid limit will be ignored.') right = old_right if left == right: cbook._warn_external( f"Attempting to set identical left == right == {left} results " f"in singular transformations; automatically expanding.") reverse = left > right left, right = self.xaxis.get_major_locator().nonsingular(left, right) left, right = self.xaxis.limit_range_for_scale(left, right) > left, right = sorted([left, right], reverse=reverse) E TypeError: only integer scalar arrays can be converted to a scalar index ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/axes/_base.py:3270: TypeError ------------------------------ Captured log setup ------------------------------ WARNING matplotlib.testing:__init__.py:39 Could not set locale to English/United States. Some date-related tests may fail. __________________________ test_contour_empty_levels ___________________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 def test_contour_empty_levels(): x = np.arange(9) z = np.random.random((9, 9)) fig, ax = plt.subplots() with pytest.warns(UserWarning) as record: ax.contour(x, x, z, levels=[]) > assert len(record) == 1 E assert 5 == 1 E + where 5 = len(WarningsChecker(record=True)) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_contour.py:129: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING matplotlib.testing:__init__.py:39 Could not set locale to English/United States. Some date-related tests may fail. __________________________ test_contour_badlevel_fmt ___________________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 def test_contour_badlevel_fmt(): # test funny edge case from # https://github.com/matplotlib/matplotlib/issues/9742 # User supplied fmt for each level as a dictionary, but # MPL changed the level to the minimum data value because # no contours possible. # This would error out pre # https://github.com/matplotlib/matplotlib/pull/9743 x = np.arange(9) z = np.zeros((9, 9)) fig, ax = plt.subplots() fmt = {1.: '%1.2f'} with pytest.warns(UserWarning) as record: cs = ax.contour(x, x, z, levels=[1.]) ax.clabel(cs, fmt=fmt) > assert len(record) == 1 E assert 5 == 1 E + where 5 = len(WarningsChecker(record=True)) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_contour.py:159: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING matplotlib.testing:__init__.py:39 Could not set locale to English/United States. Some date-related tests may fail. ________________________ test_circular_contour_warning _________________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 def test_circular_contour_warning(): # Check that almost circular contours don't throw a warning with pytest.warns(None) as record: x, y = np.meshgrid(np.linspace(-2, 2, 4), np.linspace(-2, 2, 4)) r = np.hypot(x, y) plt.figure() cs = plt.contour(x, y, r) plt.clabel(cs) > assert len(record) == 0 E assert 4 == 0 E + where 4 = len(WarningsChecker(record=True)) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_contour.py:370: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING matplotlib.testing:__init__.py:39 Could not set locale to English/United States. Some date-related tests may fail. ____________________________ test_contour_uniform_z ____________________________ [gw1] linux -- Python 3.8.0 /usr/bin/python3 def test_contour_uniform_z(): x = np.arange(9) z = np.ones((9, 9)) fig, ax = plt.subplots() with pytest.warns(UserWarning) as record: ax.contour(x, x, z) > assert len(record) == 1 E assert 5 == 1 E + where 5 = len(WarningsChecker(record=True)) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_contour.py:170: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING matplotlib.testing:__init__.py:39 Could not set locale to English/United States. Some date-related tests may fail. _______________________________ test_no_warnings _______________________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 def test_no_warnings(): fig, ax = plt.subplots() X, Y = np.meshgrid(np.arange(15), np.arange(10)) U = V = np.ones_like(X) phi = (np.random.rand(15, 10) - .5) * 150 with warnings.catch_warnings(record=True) as w: ax.quiver(X, Y, U, V, angles=phi) fig.canvas.draw() > assert len(w) == 0 E assert 2 == 0 E + where 2 = len([<warnings.WarningMessage object at 0x7fa2acb714f0>, <warnings.WarningMessage object at 0x7fa2acb71610>]) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_quiver.py:54: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING matplotlib.testing:__init__.py:39 Could not set locale to English/United States. Some date-related tests may fail. _____________________________ test_zero_headlength _____________________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 def test_zero_headlength(): # Based on report by Doug McNeil: # http://matplotlib.1069221.n5.nabble.com/quiver-warnings-td28107.html fig, ax = plt.subplots() X, Y = np.meshgrid(np.arange(10), np.arange(10)) U, V = np.cos(X), np.sin(Y) with warnings.catch_warnings(record=True) as w: ax.quiver(U, V, headlength=0, headaxislength=0) fig.canvas.draw() > assert len(w) == 0 E assert 2 == 0 E + where 2 = len([<warnings.WarningMessage object at 0x7fa2aa761a60>, <warnings.WarningMessage object at 0x7fa2aa761fa0>]) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_quiver.py:66: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING matplotlib.testing:__init__.py:39 Could not set locale to English/United States. Some date-related tests may fail. FAILED test_axes.py::test_eventplot_problem_kwargs[png] - assert 5 == 3 FAILED test_axes.py::test_pathological_hexbin - assert 2 == 0 FAILED test_axes.py::test_square_plot - TypeError: only integer scalar arrays... FAILED test_contour.py::test_contour_empty_levels - assert 5 == 1 FAILED test_contour.py::test_contour_badlevel_fmt - assert 5 == 1 FAILED test_contour.py::test_circular_contour_warning - assert 4 == 0 FAILED test_contour.py::test_contour_uniform_z - assert 5 == 1 FAILED test_quiver.py::test_no_warnings - assert 2 == 0 FAILED test_quiver.py::test_zero_headlength - assert 2 == 0 Will try to add English locale.
=================================== FAILURES =================================== ______________________ test_eventplot_problem_kwargs[png] ______________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 @image_comparison(baseline_images=['test_eventplot_problem_kwargs'], extensions=['png'], remove_text=True) def test_eventplot_problem_kwargs(): ''' test that 'singular' versions of LineCollection props raise an IgnoredKeywordWarning rather than overriding the 'plural' versions (e.g. to prevent 'color' from overriding 'colors', see issue #4297) ''' np.random.seed(0) data1 = np.random.random([20]).tolist() data2 = np.random.random([10]).tolist() data = [data1, data2] fig = plt.figure() axobj = fig.add_subplot(111) with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") colls = axobj.eventplot(data, colors=['r', 'b'], color=['c', 'm'], linewidths=[2, 1], linewidth=[1, 2], linestyles=['solid', 'dashed'], linestyle=['dashdot', 'dotted']) # check that three IgnoredKeywordWarnings were raised > assert len(w) == 3 E assert 5 == 3 E + where 5 = len([<warnings.WarningMessage object at 0x7f8222de7f40>, <warnings.WarningMessage object at 0x7f8222de7e80>, <warnings.War...x7f8222de7a90>, <warnings.WarningMessage object at 0x7f8222b2a250>, <warnings.WarningMessage object at 0x7f8222b2a280>]) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_axes.py:3447: AssertionError ___________________________ test_pathological_hexbin ___________________________ [gw1] linux -- Python 3.8.0 /usr/bin/python3 def test_pathological_hexbin(): # issue #2863 out = io.BytesIO() with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") mylist = [10] * 100 fig, ax = plt.subplots(1, 1) ax.hexbin(mylist, mylist) fig.savefig(out) > assert len(w) == 0 E assert 2 == 0 E + where 2 = len([<warnings.WarningMessage object at 0x7fd011b3dbe0>, <warnings.WarningMessage object at 0x7fd011b3d640>]) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_axes.py:5046: AssertionError _______________________________ test_square_plot _______________________________ [gw1] linux -- Python 3.8.0 /usr/bin/python3 def test_square_plot(): x = np.arange(4) y = np.array([1., 3., 5., 7.]) fig, ax = plt.subplots() ax.plot(x, y, 'mo') > ax.axis('square') ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_axes.py:5175: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/axes/_base.py:1694: in axis self.set_xlim([xlim[0], xlim[0] + edge_size], _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <matplotlib.axes._subplots.AxesSubplot object at 0x7fd011d19430> left = 0.0, right = array([6.]), emit = True, auto = False def set_xlim(self, left=None, right=None, emit=True, auto=False, *, xmin=None, xmax=None): """ Set the x-axis view limits. .. ACCEPTS: (left: float, right: float) Parameters ---------- left : scalar, optional The left xlim in data coordinates. Passing *None* leaves the limit unchanged. The left and right xlims may be passed as the tuple (*left*, *right*) as the first positional argument (or as the *left* keyword argument). right : scalar, optional The right xlim in data coordinates. Passing *None* leaves the limit unchanged. emit : bool, optional Whether to notify observers of limit change (default: True). auto : bool or None, optional Whether to turn on autoscaling of the x-axis. True turns on, False turns off (default action), None leaves unchanged. xmin, xmax : scalar, optional They are equivalent to left and right respectively, and it is an error to pass both *xmin* and *left* or *xmax* and *right*. Returns ------- left, right : (float, float) The new x-axis limits in data coordinates. See Also -------- get_xlim set_xbound, get_xbound invert_xaxis, xaxis_inverted Notes ----- The *left* value may be greater than the *right* value, in which case the x-axis values will decrease from left to right. Examples -------- >>> set_xlim(left, right) >>> set_xlim((left, right)) >>> left, right = set_xlim(left, right) One limit may be left unchanged. >>> set_xlim(right=right_lim) Limits may be passed in reverse order to flip the direction of the x-axis. For example, suppose *x* represents the number of years before present. The x-axis limits might be set like the following so 5000 years ago is on the left of the plot and the present is on the right. >>> set_xlim(5000, 0) """ if right is None and np.iterable(left): left, right = left if xmin is not None: if left is not None: raise TypeError('Cannot pass both `xmin` and `left`') left = xmin if xmax is not None: if right is not None: raise TypeError('Cannot pass both `xmax` and `right`') right = xmax self._process_unit_info(xdata=(left, right)) left = self._validate_converted_limits(left, self.convert_xunits) right = self._validate_converted_limits(right, self.convert_xunits) old_left, old_right = self.get_xlim() if left is None: left = old_left if right is None: right = old_right if self.get_xscale() == 'log': if left <= 0: cbook._warn_external( 'Attempted to set non-positive left xlim on a ' 'log-scaled axis.\n' 'Invalid limit will be ignored.') left = old_left if right <= 0: cbook._warn_external( 'Attempted to set non-positive right xlim on a ' 'log-scaled axis.\n' 'Invalid limit will be ignored.') right = old_right if left == right: cbook._warn_external( f"Attempting to set identical left == right == {left} results " f"in singular transformations; automatically expanding.") reverse = left > right left, right = self.xaxis.get_major_locator().nonsingular(left, right) left, right = self.xaxis.limit_range_for_scale(left, right) > left, right = sorted([left, right], reverse=reverse) E TypeError: only integer scalar arrays can be converted to a scalar index ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/axes/_base.py:3270: TypeError __________________________ test_contour_empty_levels ___________________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 def test_contour_empty_levels(): x = np.arange(9) z = np.random.random((9, 9)) fig, ax = plt.subplots() with pytest.warns(UserWarning) as record: ax.contour(x, x, z, levels=[]) > assert len(record) == 1 E assert 5 == 1 E + where 5 = len(WarningsChecker(record=True)) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_contour.py:129: AssertionError __________________________ test_contour_badlevel_fmt ___________________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 def test_contour_badlevel_fmt(): # test funny edge case from # https://github.com/matplotlib/matplotlib/issues/9742 # User supplied fmt for each level as a dictionary, but # MPL changed the level to the minimum data value because # no contours possible. # This would error out pre # https://github.com/matplotlib/matplotlib/pull/9743 x = np.arange(9) z = np.zeros((9, 9)) fig, ax = plt.subplots() fmt = {1.: '%1.2f'} with pytest.warns(UserWarning) as record: cs = ax.contour(x, x, z, levels=[1.]) ax.clabel(cs, fmt=fmt) > assert len(record) == 1 E assert 5 == 1 E + where 5 = len(WarningsChecker(record=True)) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_contour.py:159: AssertionError ________________________ test_circular_contour_warning _________________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 def test_circular_contour_warning(): # Check that almost circular contours don't throw a warning with pytest.warns(None) as record: x, y = np.meshgrid(np.linspace(-2, 2, 4), np.linspace(-2, 2, 4)) r = np.hypot(x, y) plt.figure() cs = plt.contour(x, y, r) plt.clabel(cs) > assert len(record) == 0 E assert 4 == 0 E + where 4 = len(WarningsChecker(record=True)) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_contour.py:370: AssertionError ____________________________ test_contour_uniform_z ____________________________ [gw1] linux -- Python 3.8.0 /usr/bin/python3 def test_contour_uniform_z(): x = np.arange(9) z = np.ones((9, 9)) fig, ax = plt.subplots() with pytest.warns(UserWarning) as record: ax.contour(x, x, z) > assert len(record) == 1 E assert 5 == 1 E + where 5 = len(WarningsChecker(record=True)) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_contour.py:170: AssertionError _______________________________ test_no_warnings _______________________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 def test_no_warnings(): fig, ax = plt.subplots() X, Y = np.meshgrid(np.arange(15), np.arange(10)) U = V = np.ones_like(X) phi = (np.random.rand(15, 10) - .5) * 150 with warnings.catch_warnings(record=True) as w: ax.quiver(X, Y, U, V, angles=phi) fig.canvas.draw() > assert len(w) == 0 E assert 2 == 0 E + where 2 = len([<warnings.WarningMessage object at 0x7f82205151f0>, <warnings.WarningMessage object at 0x7f8220515a00>]) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_quiver.py:54: AssertionError _____________________________ test_zero_headlength _____________________________ [gw0] linux -- Python 3.8.0 /usr/bin/python3 def test_zero_headlength(): # Based on report by Doug McNeil: # http://matplotlib.1069221.n5.nabble.com/quiver-warnings-td28107.html fig, ax = plt.subplots() X, Y = np.meshgrid(np.arange(10), np.arange(10)) U, V = np.cos(X), np.sin(Y) with warnings.catch_warnings(record=True) as w: ax.quiver(U, V, headlength=0, headaxislength=0) fig.canvas.draw() > assert len(w) == 0 E assert 2 == 0 E + where 2 = len([<warnings.WarningMessage object at 0x7f822060fb80>, <warnings.WarningMessage object at 0x7f822060f190>]) ../../BUILDROOT/python-matplotlib-3.1.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/matplotlib/tests/test_quiver.py:66: AssertionError > Will try to add English locale. I'll push the change anyway to avoid the red herring.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to '31'.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to 31.
Python 3.8 will happen in Fedora 32, changing back to rawhide.
The coordinated rebuild of Python 3.8 has started in the `f32-python` side tag. If you figure out how to rebuild this package, please don't rebuild it in regular rawhide, but use the side tag instead: on branch master: $ fedpkg build --target=f32-python To wait for a build to show up in the side tag, do: $ koji wait-repo f32-python --build=<nvr> Where <nvr> is name-version-release of the source package, e.g. python-foo-1.1-2.fc32. An updated mock config is posted at: http://copr.fedorainfracloud.org/coprs/g/python/python3.8/ Note that it will take a while before the essential packages are rebuilt, so don't expect all your dependencies to be available right away. Thanks. Let us know if you need up to date info, or if you have any questions. PS this message is mass posted to all the bugs that block the PYTHON38 bug. If this is also a Fedora 31 FTBFS bug and you manage to fix it, you can do a f31 build as usual: on branch f31: $ fedpkg build
Lowering the severity, I've rebuilt the package without tests for now.
The f32-python side tag has been merged. In order to rebuild the package, do it in regular rawhide, but please wait until python3-3.8 is tagged: $ koji wait-repo f32-build --build python3-3.8.0~b3-3.fc32 If your built already started in f32-python, after it is finished, please tag it to rawhide with: $ koji tag-build f32-pending <nvr> For example: $ koji tag-build f32-pending libreoffice-6.3.0.4-3.fc32 Thanks! (This comment is mass posted to all bugzillas blocking the PYTHON38 tracking bug.)
(Python 3.8 has landed in the rawhide buildroot.)
There has to be some difference in buildroot because I'm testing it and it behaves differently. I have Python 3.8.0b3 and matplotlib installed from RPM python3-matplotlib-3.1.1-1.fc32.1.x86_64.rpm (the latest build with Python 3.8 without tests). PASS - test_zero_headlenght shows zero warnings as it should PASS - test_no_warnings shows zero warnings as it should PASS - test_contour_uniform_z shows one warning as it should (<stdin>:1: UserWarning: No contour levels were found within the data range.) PASS - test_circular_contour_warning shows zero warnings as it should FAIL - test_contour_badlevel_fmt shows zero warnings but should show one FAIL - test_contour_empty_levels shows zero warnings but should show one I am going to investigate it more. Help is welcome.
Strange that you don't see it, but removing the capture entirely shows that it's actually from NumPy: ::test_eventplot_problem_kwargs[png] ::test_pathological_hexbin ::test_square_plot ::test_contour_empty_levels ::test_contour_badlevel_fmt ::test_contour_uniform_z ::test_circular_contour_warning ::test_no_warnings ::test_zero_headlength /builddir/build/BUILDROOT/python-matplotlib-3.1.1-1.fc32.1.x86_64/usr/lib64/python3.8/site-packages/matplotlib/axes/_base.py:3270: DeprecationWarning: In future, it will be an error for 'np.bool_' scalars to be interpreted as an index left, right = sorted([left, right], reverse=reverse) ::test_eventplot_problem_kwargs[png] ::test_pathological_hexbin ::test_square_plot ::test_contour_empty_levels ::test_contour_badlevel_fmt ::test_contour_uniform_z ::test_circular_contour_warning ::test_no_warnings ::test_zero_headlength /builddir/build/BUILDROOT/python-matplotlib-3.1.1-1.fc32.1.x86_64/usr/lib64/python3.8/site-packages/matplotlib/axes/_base.py:3652: DeprecationWarning: In future, it will be an error for 'np.bool_' scalars to be interpreted as an index bottom, top = sorted([bottom, top], reverse=reverse) The warning is a bit strange, and possibly a bug in NumPy, but using `bool(reverse)` fixes it. Perhaps you were using an old NumPy to test? This is reported on NumPy at https://github.com/numpy/numpy/issues/14397 and CPython at https://bugs.python.org/issue37980 test_square_plot triggers a TypeError in the same place, but something has a funny array shape, so it might be a different bug.
Ah, I thought it looked familiar; the TypeError is fixed by https://github.com/matplotlib/matplotlib/pull/14891
Thank you! Have you managed to build it in rawhide? Should we skip these tests and wait for the next releases?
For the 3.8 rebuilds, Ie skipped all tests to unblock myself: https://src.fedoraproject.org/rpms/python-matplotlib/c/cb1f3493dcdb8c50ddf7bb82776c3ad70b34dece?branch=master https://src.fedoraproject.org/rpms/python-matplotlib/c/e8c7e2c6d2bcf2e71a9664262f15252e312a778f?branch=master
https://src.fedoraproject.org/rpms/python-matplotlib/pull-request/20
Build runs at https://koji.fedoraproject.org/koji/taskinfo?taskID=37541917
Thanks!