mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-02-20 09:46:18 +00:00
immutable: fix bug in tests, change line-endings to unix style, add comment
This commit is contained in:
parent
baa11a0ad4
commit
d62428c1e6
@ -804,6 +804,11 @@ class CiphertextDownloader(log.PrefixingLogMixin):
|
||||
# self._current_segnum = 0
|
||||
# self._vup # ValidatedExtendedURIProxy
|
||||
|
||||
# _get_all_shareholders() will create the following:
|
||||
# self._total_queries
|
||||
# self._responses_received = 0
|
||||
# self._queries_failed = 0
|
||||
|
||||
def pauseProducing(self):
|
||||
if self._paused:
|
||||
return
|
||||
|
@ -45,45 +45,45 @@ class HungServerDownloadTest(GridTestMixin, ShouldFailMixin, unittest.TestCase):
|
||||
for (i_shnum, i_serverid, i_sharefile) in self.shares:
|
||||
if i_serverid in serverids:
|
||||
self._copy_share((i_shnum, i_sharefile), to_server)
|
||||
|
||||
|
||||
# untested
|
||||
def _copy_share(self, share, to_server):
|
||||
(sharenum, sharefile) = share
|
||||
(id, ss) = to_server
|
||||
# FIXME: this doesn't work because we only have a LocalWrapper
|
||||
shares_dir = os.path.join(ss.storedir, "shares")
|
||||
si = uri.from_string(self.uri).get_storage_index()
|
||||
si_dir = os.path.join(shares_dir, storage_index_to_dir(si))
|
||||
if not os.path.exists(si_dir):
|
||||
os.makedirs(si_dir)
|
||||
new_sharefile = os.path.join(si_dir, str(sharenum))
|
||||
shutil.copy(sharefile, new_sharefile)
|
||||
self.shares = self.find_shares(self.uri)
|
||||
# Make sure that the storage server has the share.
|
||||
self.failUnless((sharenum, ss.my_nodeid, new_sharefile)
|
||||
in self.shares)
|
||||
|
||||
def _copy_share(self, share, to_server):
|
||||
(sharenum, sharefile) = share
|
||||
(id, ss) = to_server
|
||||
# FIXME: this doesn't work because we only have a LocalWrapper
|
||||
shares_dir = os.path.join(ss.original.storedir, "shares")
|
||||
si = uri.from_string(self.uri).get_storage_index()
|
||||
si_dir = os.path.join(shares_dir, storage_index_to_dir(si))
|
||||
if not os.path.exists(si_dir):
|
||||
os.makedirs(si_dir)
|
||||
new_sharefile = os.path.join(si_dir, str(sharenum))
|
||||
shutil.copy(sharefile, new_sharefile)
|
||||
self.shares = self.find_shares(self.uri)
|
||||
# Make sure that the storage server has the share.
|
||||
self.failUnless((sharenum, ss.original.my_nodeid, new_sharefile)
|
||||
in self.shares)
|
||||
|
||||
# untested
|
||||
def _add_server(self, server_number, readonly=False):
|
||||
ss = self.g.make_server(server_number, readonly)
|
||||
self.g.add_server(server_number, ss)
|
||||
self.shares = self.find_shares(self.uri)
|
||||
def _add_server(self, server_number, readonly=False):
|
||||
ss = self.g.make_server(server_number, readonly)
|
||||
self.g.add_server(server_number, ss)
|
||||
self.shares = self.find_shares(self.uri)
|
||||
|
||||
def _set_up(self, testdir, num_clients=1, num_servers=10):
|
||||
self.basedir = "download/" + testdir
|
||||
self.set_up_grid(num_clients=num_clients, num_servers=num_servers)
|
||||
|
||||
self.c0 = self.g.clients[0]
|
||||
|
||||
self.c0 = self.g.clients[0]
|
||||
sb = self.c0.nodemaker.storage_broker
|
||||
self.servers = [(id, ss) for (id, ss) in sb.get_all_servers()]
|
||||
|
||||
data = upload.Data(immutable_plaintext, convergence="")
|
||||
d = self.c0.upload(data)
|
||||
def _uploaded(ur):
|
||||
self.uri = ur.uri
|
||||
self.shares = self.find_shares(self.uri)
|
||||
d.addCallback(_uploaded)
|
||||
return d
|
||||
|
||||
data = upload.Data(immutable_plaintext, convergence="")
|
||||
d = self.c0.upload(data)
|
||||
def _uploaded(ur):
|
||||
self.uri = ur.uri
|
||||
self.shares = self.find_shares(self.uri)
|
||||
d.addCallback(_uploaded)
|
||||
return d
|
||||
|
||||
def test_10_good_sanity_check(self):
|
||||
d = self._set_up("test_10_good_sanity_check")
|
||||
@ -92,19 +92,19 @@ class HungServerDownloadTest(GridTestMixin, ShouldFailMixin, unittest.TestCase):
|
||||
|
||||
def test_3_good_7_hung(self):
|
||||
d = self._set_up("test_3_good_7_hung")
|
||||
d.addCallback(lambda ign: self._hang(self.servers[3:]))
|
||||
d.addCallback(lambda ign: self._hang(self.servers[3:]))
|
||||
d.addCallback(lambda ign: self.download_immutable())
|
||||
return d
|
||||
|
||||
def test_3_good_7_noshares(self):
|
||||
d = self._set_up("test_3_good_7_noshares")
|
||||
d.addCallback(lambda ign: self._delete_all_shares_from(self.servers[3:]))
|
||||
d.addCallback(lambda ign: self._delete_all_shares_from(self.servers[3:]))
|
||||
d.addCallback(lambda ign: self.download_immutable())
|
||||
return d
|
||||
|
||||
def test_2_good_8_broken_fail(self):
|
||||
d = self._set_up("test_2_good_8_broken_fail")
|
||||
d.addCallback(lambda ign: self._break(self.servers[2:]))
|
||||
d.addCallback(lambda ign: self._break(self.servers[2:]))
|
||||
d.addCallback(lambda ign:
|
||||
self.shouldFail(NotEnoughSharesError, "test_2_good_8_broken_fail",
|
||||
"Failed to get enough shareholders: have 2, need 3",
|
||||
@ -113,7 +113,7 @@ class HungServerDownloadTest(GridTestMixin, ShouldFailMixin, unittest.TestCase):
|
||||
|
||||
def test_2_good_8_noshares_fail(self):
|
||||
d = self._set_up("test_2_good_8_noshares_fail")
|
||||
d.addCallback(lambda ign: self._delete_all_shares_from(self.servers[2:]))
|
||||
d.addCallback(lambda ign: self._delete_all_shares_from(self.servers[2:]))
|
||||
d.addCallback(lambda ign:
|
||||
self.shouldFail(NotEnoughSharesError, "test_2_good_8_noshares_fail",
|
||||
"Failed to get enough shareholders: have 2, need 3",
|
||||
@ -123,8 +123,8 @@ class HungServerDownloadTest(GridTestMixin, ShouldFailMixin, unittest.TestCase):
|
||||
def test_2_good_8_hung_then_1_recovers(self):
|
||||
recovered = defer.Deferred()
|
||||
d = self._set_up("test_2_good_8_hung_then_1_recovers")
|
||||
d.addCallback(lambda ign: self._hang(self.servers[2:3], until=recovered))
|
||||
d.addCallback(lambda ign: self._hang(self.servers[3:]))
|
||||
d.addCallback(lambda ign: self._hang(self.servers[2:3], until=recovered))
|
||||
d.addCallback(lambda ign: self._hang(self.servers[3:]))
|
||||
d.addCallback(lambda ign: self.download_immutable())
|
||||
reactor.callLater(5, recovered.callback, None)
|
||||
return d
|
||||
@ -132,9 +132,9 @@ class HungServerDownloadTest(GridTestMixin, ShouldFailMixin, unittest.TestCase):
|
||||
def test_2_good_8_hung_then_1_recovers_with_2_shares(self):
|
||||
recovered = defer.Deferred()
|
||||
d = self._set_up("test_2_good_8_hung_then_1_recovers_with_2_shares")
|
||||
d.addCallback(lambda ign: self._copy_all_shares_from(self.servers[0:1], self.servers[2]))
|
||||
d.addCallback(lambda ign: self._hang(self.servers[2:3], until=recovered))
|
||||
d.addCallback(lambda ign: self._hang(self.servers[3:]))
|
||||
d.addCallback(lambda ign: self._copy_all_shares_from(self.servers[0:1], self.servers[2]))
|
||||
d.addCallback(lambda ign: self._hang(self.servers[2:3], until=recovered))
|
||||
d.addCallback(lambda ign: self._hang(self.servers[3:]))
|
||||
d.addCallback(lambda ign: self.download_immutable())
|
||||
reactor.callLater(5, recovered.callback, None)
|
||||
return d
|
||||
|
Loading…
x
Reference in New Issue
Block a user