MCPcopy Create free account
hub / github.com/numpy/numpy / __enter__

Method __enter__

numpy/testing/_private/utils.py:2178–2208  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2176 record=True)
2177
2178 def __enter__(self):
2179 if self._entered:
2180 raise RuntimeError("cannot enter suppress_warnings twice.")
2181
2182 self._orig_show = warnings.showwarning
2183 self._filters = warnings.filters
2184 warnings.filters = self._filters[:]
2185
2186 self._entered = True
2187 self._tmp_suppressions = []
2188 self._tmp_modules = set()
2189 self._forwarded = set()
2190
2191 self.log = [] # reset global log (no need to keep same list)
2192
2193 for cat, mess, _, mod, log in self._suppressions:
2194 if log is not None:
2195 del log[:] # clear the log
2196 if mod is None:
2197 warnings.filterwarnings(
2198 "always", category=cat, message=mess)
2199 else:
2200 module_regex = mod.__name__.replace('.', r'\.') + '$'
2201 warnings.filterwarnings(
2202 "always", category=cat, message=mess,
2203 module=module_regex)
2204 self._tmp_modules.add(mod)
2205 warnings.showwarning = self._showwarning
2206 self._clear_registries()
2207
2208 return self
2209
2210 def __exit__(self, *exc_info):
2211 warnings.showwarning = self._orig_show

Callers 1

__enter__Method · 0.45

Calls 3

_clear_registriesMethod · 0.95
replaceMethod · 0.80
addMethod · 0.45

Tested by

no test coverage detected