Bug 2046913
| Summary: | python-seaborn: FTBFS in Fedora rawhide/f36 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Fedora Release Engineering <releng> | ||||||||
| Component: | python-seaborn | Assignee: | Sergio Pascual <sergio.pasra> | ||||||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
| Severity: | unspecified | Docs Contact: | |||||||||
| Priority: | unspecified | ||||||||||
| Version: | 36 | CC: | code, sergio.pasra | ||||||||
| Target Milestone: | --- | ||||||||||
| Target Release: | --- | ||||||||||
| Hardware: | Unspecified | ||||||||||
| OS: | Unspecified | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2022-08-25 22:41:43 UTC | Type: | --- | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Embargoed: | |||||||||||
| Bug Depends On: | |||||||||||
| Bug Blocks: | 1992484, 2045102, 2117176 | ||||||||||
| Attachments: |
|
||||||||||
|
Description
Fedora Release Engineering
2022-01-27 09:41:12 UTC
Created attachment 1856357 [details]
build.log
file build.log too big, will only attach last 32768 bytes
Created attachment 1856358 [details]
root.log
file root.log too big, will only attach last 32768 bytes
Created attachment 1856359 [details]
state.log
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle. Changing version to 36. =================================== FAILURES ===================================
________________________ TestBoxPlotter.test_axes_data _________________________
self = <seaborn.tests.test_categorical.TestBoxPlotter object at 0xffff2a7618d0>
def test_axes_data(self):
ax = cat.boxplot(x="g", y="y", data=self.df)
> assert len(ax.artists) == 3
E assert 0 == 3
E +0
E -3
seaborn/tests/test_categorical.py:775: AssertionError
____________________ TestBoxPlotter.test_draw_missing_boxes ____________________
self = <seaborn.tests.test_categorical.TestBoxPlotter object at 0xffff74158e20>
def test_draw_missing_boxes(self):
ax = cat.boxplot(x="g", y="y", data=self.df,
order=["a", "b", "c", "d"])
> assert len(ax.artists) == 3
E assert 0 == 3
E +0
E -3
seaborn/tests/test_categorical.py:804: AssertionError
_______________________ TestBoxPlotter.test_missing_data _______________________
self = <seaborn.tests.test_categorical.TestBoxPlotter object at 0xffff2a540700>
def test_missing_data(self):
x = ["a", "a", "b", "b", "c", "c", "d", "d"]
h = ["x", "y", "x", "y", "x", "y", "x", "y"]
y = self.rs.randn(8)
y[-2:] = np.nan
ax = cat.boxplot(x=x, y=y)
> assert len(ax.artists) == 3
E assert 0 == 3
E +0
E -3
seaborn/tests/test_categorical.py:814: AssertionError
________________________ TestCatPlot.test_plot_elements ________________________
self = <seaborn.tests.test_categorical.TestCatPlot object at 0xffff748863e0>
def test_plot_elements(self):
g = cat.catplot(x="g", y="y", data=self.df, kind="point")
assert len(g.ax.collections) == 1
want_lines = self.g.unique().size + 1
assert len(g.ax.lines) == want_lines
g = cat.catplot(x="g", y="y", hue="h", data=self.df, kind="point")
want_collections = self.h.unique().size
assert len(g.ax.collections) == want_collections
want_lines = (self.g.unique().size + 1) * self.h.unique().size
assert len(g.ax.lines) == want_lines
g = cat.catplot(x="g", y="y", data=self.df, kind="bar")
want_elements = self.g.unique().size
assert len(g.ax.patches) == want_elements
assert len(g.ax.lines) == want_elements
g = cat.catplot(x="g", y="y", hue="h", data=self.df, kind="bar")
want_elements = self.g.unique().size * self.h.unique().size
assert len(g.ax.patches) == want_elements
assert len(g.ax.lines) == want_elements
g = cat.catplot(x="g", data=self.df, kind="count")
want_elements = self.g.unique().size
assert len(g.ax.patches) == want_elements
assert len(g.ax.lines) == 0
g = cat.catplot(x="g", hue="h", data=self.df, kind="count")
want_elements = self.g.unique().size * self.h.unique().size
assert len(g.ax.patches) == want_elements
assert len(g.ax.lines) == 0
g = cat.catplot(x="g", y="y", data=self.df, kind="box")
want_artists = self.g.unique().size
> assert len(g.ax.artists) == want_artists
E assert 0 == 3
E +0
E -3
seaborn/tests/test_categorical.py:2507: AssertionError
______________________ TestKDEPlotUnivariate.test_legend _______________________
self = <seaborn.tests.test_distributions.TestKDEPlotUnivariate object at 0xffff74223fa0>
long_df = x y z a b c t s f a_cat s_cat s_str
0 12 0.449243 6.611886 b p 0 2004-01-0...0.3 a 8 8
99 15 0.073484 1.036343 c p 0 2005-01-01 2 0.3 c 2 2
[100 rows x 12 columns]
def test_legend(self, long_df):
ax = kdeplot(data=long_df, x="x", hue="a")
assert ax.legend_.get_title().get_text() == "a"
legend_labels = ax.legend_.get_texts()
order = categorical_order(long_df["a"])
for label, level in zip(legend_labels, order):
assert label.get_text() == level
legend_artists = ax.legend_.findobj(mpl.lines.Line2D)[::2]
palette = color_palette()
for artist, color in zip(legend_artists, palette):
> assert artist.get_color() == color
E assert (0.3333333333...4313725490196) == (0.8666666666...5686274509804)
E At index 0 diff: 0.3333333333333333 != 0.8666666666666667
E Full diff:
E - (0.8666666666666667, 0.5176470588235295, 0.3215686274509804)
E + (0.3333333333333333, 0.6588235294117647, 0.40784313725490196)
seaborn/tests/test_distributions.py:783: AssertionError
____________________ TestKDEPlotBivariate.test_fill_artists ____________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff6fce8700>
long_df = x y z a b c t s f a_cat s_cat s_str
0 12 0.449243 6.611886 b p 0 2004-01-0...0.3 a 8 8
99 15 0.073484 1.036343 c p 0 2005-01-01 2 0.3 c 2 2
[100 rows x 12 columns]
def test_fill_artists(self, long_df):
for fill in [True, False]:
f, ax = plt.subplots()
kdeplot(data=long_df, x="x", y="y", hue="c", fill=fill)
for c in ax.collections:
if fill:
assert isinstance(c, mpl.collections.PathCollection)
else:
> assert isinstance(c, mpl.collections.LineCollection)
E AssertionError: assert False
E + where False = isinstance(<matplotlib.collections.PathCollection object at 0xffff2a86ce80>, <class 'matplotlib.collections.LineCollection'>)
E + where <class 'matplotlib.collections.LineCollection'> = <module 'matplotlib.collections' from '/usr/lib64/python3.10/site-packages/matplotlib/collections.py'>.LineCollection
E + where <module 'matplotlib.collections' from '/usr/lib64/python3.10/site-packages/matplotlib/collections.py'> = mpl.collections
seaborn/tests/test_distributions.py:830: AssertionError
____________________ TestKDEPlotBivariate.test_common_norm _____________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff2ae16560>
rng = RandomState(MT19937) at 0xFFFF74176D40
def test_common_norm(self, rng):
hue = np.repeat(["a", "a", "a", "b"], 40)
x, y = rng.multivariate_normal([0, 0], [(.2, .5), (.5, 2)], len(hue)).T
x[hue == "a"] -= 2
x[hue == "b"] += 2
f, (ax1, ax2) = plt.subplots(ncols=2)
kdeplot(x=x, y=y, hue=hue, common_norm=True, ax=ax1)
kdeplot(x=x, y=y, hue=hue, common_norm=False, ax=ax2)
> n_seg_1 = sum([len(c.get_segments()) > 0 for c in ax1.collections])
seaborn/tests/test_distributions.py:843:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.0 = <generator object _AxesBase.ArtistList.__iter__ at 0xffff6fc8dd20>
> n_seg_1 = sum([len(c.get_segments()) > 0 for c in ax1.collections])
E AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:843: AttributeError
_____________________ TestKDEPlotBivariate.test_log_scale ______________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff2ae63700>
rng = RandomState(MT19937) at 0xFFFF74177340
def test_log_scale(self, rng):
x = rng.lognormal(0, 1, 100)
y = rng.uniform(0, 1, 100)
levels = .2, .5, 1
f, ax = plt.subplots()
kdeplot(x=x, y=y, log_scale=True, levels=levels, ax=ax)
assert ax.get_xscale() == "log"
assert ax.get_yscale() == "log"
f, (ax1, ax2) = plt.subplots(ncols=2)
kdeplot(x=x, y=y, log_scale=(10, False), levels=levels, ax=ax1)
assert ax1.get_xscale() == "log"
assert ax1.get_yscale() == "linear"
p = _DistributionPlotter()
kde = KDE()
density, (xx, yy) = kde(np.log10(x), y)
levels = p._quantile_to_level(density, levels)
ax2.contour(10 ** xx, yy, density, levels=levels)
for c1, c2 in zip(ax1.collections, ax2.collections):
> assert_array_equal(c1.get_segments(), c2.get_segments())
E AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:871: AttributeError
_____________________ TestKDEPlotBivariate.test_bandwiddth _____________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff745199c0>
rng = RandomState(MT19937) at 0xFFFF74176D40
def test_bandwiddth(self, rng):
n = 100
x, y = rng.multivariate_normal([0, 0], [(.2, .5), (.5, 2)], n).T
f, (ax1, ax2) = plt.subplots(ncols=2)
kdeplot(x=x, y=y, ax=ax1)
kdeplot(x=x, y=y, bw_adjust=2, ax=ax2)
for c1, c2 in zip(ax1.collections, ax2.collections):
> seg1, seg2 = c1.get_segments(), c2.get_segments()
E AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:884: AttributeError
______________________ TestKDEPlotBivariate.test_weights _______________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff2a4d38e0>
rng = RandomState(MT19937) at 0xFFFF74177640
@pytest.mark.skipif(
LooseVersion(scipy.__version__) < "1.2.0",
reason="Weights require scipy >= 1.2.0"
)
def test_weights(self, rng):
import warnings
warnings.simplefilter("error", np.VisibleDeprecationWarning)
n = 100
x, y = rng.multivariate_normal([1, 3], [(.2, .5), (.5, 2)], n).T
hue = np.repeat([0, 1], n // 2)
weights = rng.uniform(0, 1, n)
f, (ax1, ax2) = plt.subplots(ncols=2)
kdeplot(x=x, y=y, hue=hue, ax=ax1)
kdeplot(x=x, y=y, hue=hue, weights=weights, ax=ax2)
for c1, c2 in zip(ax1.collections, ax2.collections):
> if c1.get_segments() and c2.get_segments():
E AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:909: AttributeError
__________________ TestKDEPlotBivariate.test_hue_ignores_cmap __________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff2a680b20>
long_df = x y z a b c t s f a_cat s_cat s_str
0 12 0.449243 6.611886 b p 0 2004-01-0...0.3 a 8 8
99 15 0.073484 1.036343 c p 0 2005-01-01 2 0.3 c 2 2
[100 rows x 12 columns]
def test_hue_ignores_cmap(self, long_df):
with pytest.warns(UserWarning, match="cmap parameter ignored"):
ax = kdeplot(data=long_df, x="x", y="y", hue="c", cmap="viridis")
> color = tuple(ax.collections[0].get_color().squeeze())
E AttributeError: 'PathCollection' object has no attribute 'get_color'
seaborn/tests/test_distributions.py:919: AttributeError
________________ TestKDEPlotBivariate.test_contour_line_colors _________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff745937f0>
long_df = x y z a b c t s f a_cat s_cat s_str
0 12 0.449243 6.611886 b p 0 2004-01-0...0.3 a 8 8
99 15 0.073484 1.036343 c p 0 2005-01-01 2 0.3 c 2 2
[100 rows x 12 columns]
def test_contour_line_colors(self, long_df):
color = (.2, .9, .8, 1)
ax = kdeplot(data=long_df, x="x", y="y", color=color)
for c in ax.collections:
> assert tuple(c.get_color().squeeze()) == color
E AttributeError: 'PathCollection' object has no attribute 'get_color'
seaborn/tests/test_distributions.py:928: AttributeError
_________________ TestKDEPlotBivariate.test_levels_and_thresh __________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff6f8d0490>
long_df = x y z a b c t s f a_cat s_cat s_str
0 12 0.449243 6.611886 b p 0 2004-01-0...0.3 a 8 8
99 15 0.073484 1.036343 c p 0 2005-01-01 2 0.3 c 2 2
[100 rows x 12 columns]
def test_levels_and_thresh(self, long_df):
f, (ax1, ax2) = plt.subplots(ncols=2)
n = 8
thresh = .1
plot_kws = dict(data=long_df, x="x", y="y")
kdeplot(**plot_kws, levels=n, thresh=thresh, ax=ax1)
kdeplot(**plot_kws, levels=np.linspace(thresh, 1, n), ax=ax2)
for c1, c2 in zip(ax1.collections, ax2.collections):
> assert_array_equal(c1.get_segments(), c2.get_segments())
E AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:960: AttributeError
______________________ TestDisPlot.test_with_rug[kwargs0] ______________________
self = <seaborn.tests.test_distributions.TestDisPlot object at 0xffff2a932260>
long_df = x y z a b c t s f a_cat s_cat s_str
0 12 0.449243 6.611886 b p 0 2004-01-0...0.3 a 8 8
99 15 0.073484 1.036343 c p 0 2005-01-01 2 0.3 c 2 2
[100 rows x 12 columns]
kwargs = {'x': 'x'}
@pytest.mark.parametrize(
"kwargs", [
dict(x="x"),
dict(x="x", y="y"),
dict(x="x", hue="a"),
]
)
def test_with_rug(self, long_df, kwargs):
ax = rugplot(data=long_df, **kwargs)
g = displot(long_df, rug=True, **kwargs)
> g.ax.patches = []
E AttributeError: can't set attribute 'patches'
seaborn/tests/test_distributions.py:2042: AttributeError
______________________ TestDisPlot.test_with_rug[kwargs1] ______________________
self = <seaborn.tests.test_distributions.TestDisPlot object at 0xffff746ab220>
long_df = x y z a b c t s f a_cat s_cat s_str
0 12 0.449243 6.611886 b p 0 2004-01-0...0.3 a 8 8
99 15 0.073484 1.036343 c p 0 2005-01-01 2 0.3 c 2 2
[100 rows x 12 columns]
kwargs = {'x': 'x', 'y': 'y'}
@pytest.mark.parametrize(
"kwargs", [
dict(x="x"),
dict(x="x", y="y"),
dict(x="x", hue="a"),
]
)
def test_with_rug(self, long_df, kwargs):
ax = rugplot(data=long_df, **kwargs)
g = displot(long_df, rug=True, **kwargs)
> g.ax.patches = []
E AttributeError: can't set attribute 'patches'
seaborn/tests/test_distributions.py:2042: AttributeError
______________________ TestDisPlot.test_with_rug[kwargs2] ______________________
self = <seaborn.tests.test_distributions.TestDisPlot object at 0xffff2a55d0c0>
long_df = x y z a b c t s f a_cat s_cat s_str
0 12 0.449243 6.611886 b p 0 2004-01-0...0.3 a 8 8
99 15 0.073484 1.036343 c p 0 2005-01-01 2 0.3 c 2 2
[100 rows x 12 columns]
kwargs = {'hue': 'a', 'x': 'x'}
@pytest.mark.parametrize(
"kwargs", [
dict(x="x"),
dict(x="x", y="y"),
dict(x="x", hue="a"),
]
)
def test_with_rug(self, long_df, kwargs):
ax = rugplot(data=long_df, **kwargs)
g = displot(long_df, rug=True, **kwargs)
> g.ax.patches = []
E AttributeError: can't set attribute 'patches'
seaborn/tests/test_distributions.py:2042: AttributeError
_____________________ TestDisPlot.test_bivariate_kde_norm ______________________
self = <seaborn.tests.test_distributions.TestDisPlot object at 0xffff2a125ba0>
rng = RandomState(MT19937) at 0xFFFF2A638040
def test_bivariate_kde_norm(self, rng):
x, y = rng.normal(0, 1, (2, 100))
z = [0] * 80 + [1] * 20
g = displot(x=x, y=y, col=z, kind="kde", levels=10)
> l1 = sum(bool(c.get_segments()) for c in g.axes.flat[0].collections)
seaborn/tests/test_distributions.py:2125:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.0 = <generator object _AxesBase.ArtistList.__iter__ at 0xffff6fc8f7d0>
> l1 = sum(bool(c.get_segments()) for c in g.axes.flat[0].collections)
E AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:2125: AttributeError
|