@@ -2204,6 +2204,27 @@ def test_whence(self):
22042204 whence = eval (text )
22052205 self .assertEqual (whence , _interpreters .WHENCE_LEGACY_CAPI )
22062206
2207+ def test_get_current_missing (self ):
2208+ with self .subTest ('main' ):
2209+ main , * _ = _interpreters .get_main ()
2210+ interpid , whence = _interpreters .get_current ()
2211+ self .assertEqual (interpid , main )
2212+ self .assertEqual (whence , _interpreters .WHENCE_RUNTIME )
2213+
2214+ script = f"""
2215+ import contextvars
2216+ from concurrent.interpreters import get_current
2217+ print(getattr(contextvars.Token, "MISSING", "'doesn't exist'"))
2218+ """
2219+ def parse_stdout (text ):
2220+ interpid , whence = eval (text )
2221+ return interpid , whence
2222+
2223+ with self .subTest ('from concurrent.interpreters' ):
2224+ orig = _interpreters .create ()
2225+ text = self .run_and_capture (orig , script )
2226+ self .assertEqual (text .strip (), "<Token.MISSING>" )
2227+
22072228 def test_is_running (self ):
22082229 def check (interpid , expected ):
22092230 with self .assertRaisesRegex (InterpreterError , 'unrecognized' ):
0 commit comments