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

Method test_get_current

Lib/test/test_interpreters/test_api.py:2068–2099  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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()

Callers

nothing calls this directly

Calls 5

run_and_captureMethod · 0.80
run_temp_from_capiMethod · 0.80
subTestMethod · 0.45
assertEqualMethod · 0.45
createMethod · 0.45

Tested by

no test coverage detected