kopia lustrzana https://github.com/micropython/micropython
tests/run-tests: Ignore exception in process kill when ending repl test.
When running Linux on WSL, Popen.kill() can raise a ProcessLookupError if the process does not exist anymore, which can happen here since the previous statement already tries to close the process by sending Ctrl-D to the running repl. This doesn't seem to be a problem on other OSes, so just swallow the exception silently since it indicates the process has been closed already, which after all is what we want.pull/4676/head
rodzic
3dda964785
commit
d89ce2ed1d
|
@ -103,7 +103,16 @@ def run_micropython(pyb, args, test_file, is_special=False):
|
|||
banner = get(True)
|
||||
output_mupy = banner + b''.join(send_get(line) for line in f)
|
||||
send_get(b'\x04') # exit the REPL, so coverage info is saved
|
||||
p.kill()
|
||||
# At this point the process might have exited already, but trying to
|
||||
# kill it 'again' normally doesn't result in exceptions as Python and/or
|
||||
# the OS seem to try to handle this nicely. When running Linux on WSL
|
||||
# though, the situation differs and calling Popen.kill after the process
|
||||
# terminated results in a ProcessLookupError. Just catch that one here
|
||||
# since we just want the process to be gone and that's the case.
|
||||
try:
|
||||
p.kill()
|
||||
except ProcessLookupError:
|
||||
pass
|
||||
os.close(master)
|
||||
os.close(slave)
|
||||
else:
|
||||
|
|
Ładowanie…
Reference in New Issue