Skip to content

Commit

Permalink
test: expect that files may disappear from /proc/PID/fd/
Browse files Browse the repository at this point in the history
`get_socket_inodes()` calls `os.listdir()` and then iterates on the
results using `os.readlink()`. However a file may disappear from the
directory after `os.listdir()` and before `os.readlink()` resulting in a
`FileNotFoundError` exception.

It is expected that this may happen for `bitcoind` which is running and
could open or close files or sockets at any time. Thus ignore the
`FileNotFoundError` exception.
  • Loading branch information
vasild committed Jan 7, 2025
1 parent 433412f commit b2e9fdc
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions test/functional/test_framework/netutil.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,12 @@ def get_socket_inodes(pid):
base = '/proc/%i/fd' % pid
inodes = []
for item in os.listdir(base):
target = os.readlink(os.path.join(base, item))
if target.startswith('socket:'):
inodes.append(int(target[8:-1]))
try:
target = os.readlink(os.path.join(base, item))
if target.startswith('socket:'):
inodes.append(int(target[8:-1]))
except FileNotFoundError:
pass
return inodes

def _remove_empty(array):
Expand Down

0 comments on commit b2e9fdc

Please sign in to comment.