Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e25ed78

Browse files
committed
Don't use a context manager for default test style handling
1 parent 4ba42f4 commit e25ed78

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

lib/matplotlib/testing/decorators.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
import numpy as np
1616

1717
import matplotlib as mpl
18+
import matplotlib.style
1819
import matplotlib.tests
1920
import matplotlib.units
2021
from matplotlib import cbook
2122
from matplotlib import ticker
2223
from matplotlib import pyplot as plt
2324
from matplotlib import ft2font
24-
from matplotlib.style import context as style_context
2525
from matplotlib.testing.noseclasses import KnownFailureTest, \
2626
KnownFailureDidNotFailTest, ImageComparisonFailure
2727
from matplotlib.testing.compare import comparable_formats, compare_images, \
@@ -132,9 +132,20 @@ class ImageComparisonTest(CleanupTest):
132132
@classmethod
133133
def setup_class(cls):
134134
CleanupTest.setup_class()
135+
cls._initial_settings = mpl.rcParams.copy()
136+
try:
137+
matplotlib.style.use(cls._style)
138+
except:
139+
# Restore original settings before raising errors during the update.
140+
mpl.rcParams.update(cls._initial_settings)
141+
raise
142+
143+
cls._func()
135144

136-
with style_context(cls._style):
137-
cls._func()
145+
@classmethod
146+
def teardown_class(cls):
147+
CleanupTest.teardown_class()
148+
mpl.rcParams.update(cls._initial_settings)
138149

139150
@staticmethod
140151
def remove_text(figure):

0 commit comments

Comments
 (0)