MCPcopy Index your code
hub / github.com/python/cpython / test_get_config

Method test_get_config

Lib/test/test_capi/test_misc.py:2243–2285  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2241 check(config)
2242
2243 def test_get_config(self):
2244 @contextlib.contextmanager
2245 def new_interp(config):
2246 interpid = _interpreters.create(config, reqrefs=False)
2247 try:
2248 yield interpid
2249 finally:
2250 try:
2251 _interpreters.destroy(interpid)
2252 except _interpreters.InterpreterNotFoundError:
2253 pass
2254
2255 with self.subTest('main'):
2256 expected = _interpreters.new_config('legacy')
2257 expected.gil = 'own'
2258 if Py_GIL_DISABLED:
2259 expected.check_multi_interp_extensions = False
2260 interpid, *_ = _interpreters.get_main()
2261 config = _interpreters.get_config(interpid)
2262 self.assert_ns_equal(config, expected)
2263
2264 with self.subTest('isolated'):
2265 expected = _interpreters.new_config('isolated')
2266 with new_interp('isolated') as interpid:
2267 config = _interpreters.get_config(interpid)
2268 self.assert_ns_equal(config, expected)
2269
2270 with self.subTest('legacy'):
2271 expected = _interpreters.new_config('legacy')
2272 with new_interp('legacy') as interpid:
2273 config = _interpreters.get_config(interpid)
2274 self.assert_ns_equal(config, expected)
2275
2276 with self.subTest('custom'):
2277 orig = _interpreters.new_config(
2278 'empty',
2279 use_main_obmalloc=True,
2280 gil='shared',
2281 check_multi_interp_extensions=bool(Py_GIL_DISABLED),
2282 )
2283 with new_interp(orig) as interpid:
2284 config = _interpreters.get_config(interpid)
2285 self.assert_ns_equal(config, orig)
2286
2287
2288@requires_subinterpreters

Callers

nothing calls this directly

Calls 3

assert_ns_equalMethod · 0.95
new_configMethod · 0.80
subTestMethod · 0.45

Tested by

no test coverage detected