(self)
| 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 |
nothing calls this directly
no test coverage detected