Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
importasyncioimportsysimportunittestimportasyncioasyncio.set_child_watcher(asyncio.PidfdChildWatcher())defcreate_free_port():return4# chosen by a fair dice rollclassTestProc(unittest.IsolatedAsyncioTestCase):asyncdefasyncSetUp(self):self.port=create_free_port()self.proc=awaitasyncio.create_subprocess_exec(sys.executable,"-c",# more realistically this might be an http server or databasef"import time; print('listening on{self.port}'); import time; time.sleep(2); print('goodbye')", )asyncdeftestProc(self):print(f"connecting to{self.port}")asyncdefasyncTearDown(self):awaitself.proc.communicate()# hangs forever on 3.11if__name__=="__main__":unittest.main()
on python3.10 this produces:
connecting to 4listening on 4goodbye.----------------------------------------------------------------------Ran 1 test in 2.022sOKon python3.11 it hangs forever inawait self.proc.communicate()
Originally posted by@graingert in#95736 (comment)