From 4dae5d867c8dd44d9ceb68b6732030f00b391c6b Mon Sep 17 00:00:00 2001 From: Itamar Turner-Trauring Date: Tue, 28 Jul 2020 11:08:38 -0400 Subject: [PATCH] Add retry logic, listenOnUnused is potentially flaky. --- setup.py | 1 + src/allmydata/test/test_iputil.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/setup.py b/setup.py index 9bb385cb4..a35023b8b 100644 --- a/setup.py +++ b/setup.py @@ -390,6 +390,7 @@ setup(name="tahoe-lafs", # also set in __init__.py "beautifulsoup4", "html5lib", "junitxml", + "tenacity", ] + tor_requires + i2p_requires, "tor": tor_requires, "i2p": i2p_requires, diff --git a/src/allmydata/test/test_iputil.py b/src/allmydata/test/test_iputil.py index 42677af2f..c6caed7f9 100644 --- a/src/allmydata/test/test_iputil.py +++ b/src/allmydata/test/test_iputil.py @@ -17,6 +17,8 @@ import re, errno, subprocess, os, socket from twisted.trial import unittest +from tenacity import retry, stop_after_attempt + from foolscap.api import Tub from allmydata.util import iputil @@ -199,6 +201,7 @@ class ListenOnUsed(unittest.TestCase): self.addCleanup(tub.stopService) return tub + @retry(stop=stop_after_attempt(7)) def test_random_port(self): """A random port is selected if none is given.""" tub = self.create_tub("utils/ListenOnUsed/test_randomport") @@ -215,6 +218,7 @@ class ListenOnUsed(unittest.TestCase): portnum2 = iputil.listenOnUnused(tub2) self.assertNotEqual(portnum, portnum2) + @retry(stop=stop_after_attempt(7)) def test_specific_port(self): """The given port is used.""" tub = self.create_tub("utils/ListenOnUsed/test_givenport")