Fix rpc_bind flakiness
Summary:
Attempt to fix the rpc_bind.py flakiness:
Traceback (most recent call last): File "/work/test/functional/test_framework/test_framework.py", line 120, in main self.run_test() File "/work/test/functional/rpc_bind.py", line 136, in run_test self._run_nonloopback_tests() File "/work/test/functional/rpc_bind.py", line 171, in _run_nonloopback_tests [(self.non_loopback_ip, self.defaultport)]) File "/work/test/functional/rpc_bind.py", line 72, in run_bind_test assert_equal(set(get_bind_addrs(pid)), set(expected)) File "/work/test/functional/test_framework/netutil.py", line 87, in get_bind_addrs inodes = get_socket_inodes(pid) File "/work/test/functional/test_framework/netutil.py", line 37, in get_socket_inodes target = os.readlink(os.path.join(base, item)) FileNotFoundError: [Errno 2] No such file or directory: '/proc/7775/fd/26'
This diff catches the case where a file descriptor is removed between
the time the content directory is listed and the time each link is
parsed. This can happen under normal circumstances and should not
cause the tests to fail.
Test Plan:
./test/functional/test_runner.py rpc_bind
Reviewers: #bitcoin_abc, PiRK
Reviewed By: #bitcoin_abc, PiRK
Differential Revision: https://reviews.bitcoinabc.org/D8350