test_runner.py: fix a race condition in the test when NODE_URL_FILE is written before PORTNUM_FILE. refs #1469

This commit is contained in:
david-sarah 2011-08-06 16:18:42 -07:00
parent 743cb898e7
commit b9121e045f

View File

@ -426,13 +426,12 @@ class RunNode(common_util.SignalMixin, unittest.TestCase, pollmixin.PollMixin,
# so poll until it is. This time INTRODUCER_FURL_FILE already
# exists, so we check for the existence of NODE_URL_FILE instead.
def _node_has_restarted():
return os.path.exists(NODE_URL_FILE)
return os.path.exists(NODE_URL_FILE) and os.path.exists(PORTNUM_FILE)
d.addCallback(lambda res: self.poll(_node_has_restarted))
def _check_same_furl_and_port(res):
self.failUnless(os.path.exists(INTRODUCER_FURL_FILE))
self.failUnlessEqual(self.furl, fileutil.read(INTRODUCER_FURL_FILE))
self.failUnless(os.path.exists(PORTNUM_FILE))
self.failUnlessEqual(self.portnum, fileutil.read(PORTNUM_FILE))
d.addCallback(_check_same_furl_and_port)
@ -584,7 +583,7 @@ class RunNode(common_util.SignalMixin, unittest.TestCase, pollmixin.PollMixin,
d.addCallback(_cb2)
def _node_has_started():
return os.path.exists(NODE_URL_FILE)
return os.path.exists(NODE_URL_FILE) and os.path.exists(PORTNUM_FILE)
d.addCallback(lambda res: self.poll(_node_has_started))
def _started(res):