(self)
| 2066 | _interpreters.WHENCE_RUNTIME) |
| 2067 | |
| 2068 | def test_get_current(self): |
| 2069 | with self.subTest('main'): |
| 2070 | main, *_ = _interpreters.get_main() |
| 2071 | interpid, whence = _interpreters.get_current() |
| 2072 | self.assertEqual(interpid, main) |
| 2073 | self.assertEqual(whence, _interpreters.WHENCE_RUNTIME) |
| 2074 | |
| 2075 | script = f""" |
| 2076 | import _interpreters |
| 2077 | interpid, whence = _interpreters.get_current() |
| 2078 | print((interpid, whence)) |
| 2079 | """ |
| 2080 | def parse_stdout(text): |
| 2081 | interpid, whence = eval(text) |
| 2082 | return interpid, whence |
| 2083 | |
| 2084 | with self.subTest('from _interpreters'): |
| 2085 | orig = _interpreters.create() |
| 2086 | text = self.run_and_capture(orig, script) |
| 2087 | interpid, whence = parse_stdout(text) |
| 2088 | self.assertEqual(interpid, orig) |
| 2089 | self.assertEqual(whence, _interpreters.WHENCE_STDLIB) |
| 2090 | |
| 2091 | with self.subTest('from C-API'): |
| 2092 | last = 0 |
| 2093 | for id, *_ in _interpreters.list_all(): |
| 2094 | last = max(last, id) |
| 2095 | expected = last + 1 |
| 2096 | text = self.run_temp_from_capi(script) |
| 2097 | interpid, whence = parse_stdout(text) |
| 2098 | self.assertEqual(interpid, expected) |
| 2099 | self.assertEqual(whence, _interpreters.WHENCE_CAPI) |
| 2100 | |
| 2101 | def test_list_all(self): |
| 2102 | mainid, *_ = _interpreters.get_main() |
nothing calls this directly
no test coverage detected