From 1467eb53b914da967a03515429b1edef9378d40c Mon Sep 17 00:00:00 2001 From: Mark Berger Date: Mon, 24 Jun 2013 16:44:40 -0400 Subject: [PATCH 1/4] Deletes shares from server 0 correctly Deletes the shares from server 0 without setting the remaining size to 0 --- src/allmydata/test/test_upload.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/allmydata/test/test_upload.py b/src/allmydata/test/test_upload.py index c0ec2468f..b6ca3bbf4 100644 --- a/src/allmydata/test/test_upload.py +++ b/src/allmydata/test/test_upload.py @@ -11,7 +11,7 @@ import allmydata # for __full_version__ from allmydata import uri, monitor, client from allmydata.immutable import upload, encode from allmydata.interfaces import FileTooLargeError, UploadUnhappinessError -from allmydata.util import log, base32 +from allmydata.util import log, base32, fileutil from allmydata.util.assertutil import precondition from allmydata.util.deferredutil import DeferredListShouldSucceed from allmydata.test.no_network import GridTestMixin @@ -1928,11 +1928,11 @@ class EncodingParameters(GridTestMixin, unittest.TestCase, SetDEPMixin, self._add_server_with_share(server_number=3, share_number=1) # Copy shares self._copy_share_to_server(3, 1) - storedir = self.get_serverdir(0) - # remove the storedir, wiping out any existing shares - shutil.rmtree(storedir) - # create an empty storedir to replace the one we just removed - os.mkdir(storedir) + #Remove shares from server 0 + sharedir = os.path.join(self.get_serverdir(0), "shares") + for prefixdir in os.listdir(sharedir): + if prefixdir != 'incoming': + fileutil.rm_dir(os.path.join(sharedir, prefixdir)) client = self.g.clients[0] client.encoding_params['happy'] = 4 return client From 2ab6172302e91351e40942673828c93c67e2f253 Mon Sep 17 00:00:00 2001 From: Mark Berger Date: Mon, 24 Jun 2013 18:28:05 -0400 Subject: [PATCH 2/4] Adds delete_all_shares --- src/allmydata/test/no_network.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/allmydata/test/no_network.py b/src/allmydata/test/no_network.py index 7c9049192..8dd9a2f95 100644 --- a/src/allmydata/test/no_network.py +++ b/src/allmydata/test/no_network.py @@ -13,7 +13,7 @@ # Tubs, so it is not useful for tests that involve a Helper, a KeyGenerator, # or the control.furl . -import os.path +import os from zope.interface import implements from twisted.application import service from twisted.internet import defer, reactor @@ -401,6 +401,12 @@ class GridTestMixin: if i_shnum in shnums: os.unlink(i_sharefile) + def delete_all_shares(self, serverdir): + sharedir = os.path.join(serverdir, "shares") + for prefixdir in os.listdir(sharedir): + if prefixdir != 'incoming': + fileutil.rm_dir(os.path.join(sharedir, prefixdir)) + def corrupt_share(self, (shnum, serverid, sharefile), corruptor_function): sharedata = open(sharefile, "rb").read() corruptdata = corruptor_function(sharedata) From e594f2b1abb19a7dcda90bb4b28e94499c5fc6f2 Mon Sep 17 00:00:00 2001 From: Mark Berger Date: Mon, 24 Jun 2013 18:30:26 -0400 Subject: [PATCH 3/4] Fixes tests which were improperly deleting shares --- src/allmydata/test/test_upload.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/allmydata/test/test_upload.py b/src/allmydata/test/test_upload.py index b6ca3bbf4..865eec28e 100644 --- a/src/allmydata/test/test_upload.py +++ b/src/allmydata/test/test_upload.py @@ -1887,11 +1887,7 @@ class EncodingParameters(GridTestMixin, unittest.TestCase, SetDEPMixin, self._add_server_with_share(server_number=3, share_number=1) # Copy shares self._copy_share_to_server(3, 1) - storedir = self.get_serverdir(0) - # remove the storedir, wiping out any existing shares - shutil.rmtree(storedir) - # create an empty storedir to replace the one we just removed - os.mkdir(storedir) + self.delete_all_shares(self.get_serverdir(0)) client = self.g.clients[0] client.encoding_params['happy'] = 4 return client @@ -1929,10 +1925,7 @@ class EncodingParameters(GridTestMixin, unittest.TestCase, SetDEPMixin, # Copy shares self._copy_share_to_server(3, 1) #Remove shares from server 0 - sharedir = os.path.join(self.get_serverdir(0), "shares") - for prefixdir in os.listdir(sharedir): - if prefixdir != 'incoming': - fileutil.rm_dir(os.path.join(sharedir, prefixdir)) + self.delete_all_shares(self.get_serverdir(0)) client = self.g.clients[0] client.encoding_params['happy'] = 4 return client From 954229231d3931e4bd3531e63ee934aa391184c7 Mon Sep 17 00:00:00 2001 From: Mark Berger Date: Mon, 24 Jun 2013 18:32:27 -0400 Subject: [PATCH 4/4] Removes unnecessary import --- src/allmydata/test/test_upload.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/allmydata/test/test_upload.py b/src/allmydata/test/test_upload.py index 865eec28e..090fa3bbe 100644 --- a/src/allmydata/test/test_upload.py +++ b/src/allmydata/test/test_upload.py @@ -11,7 +11,7 @@ import allmydata # for __full_version__ from allmydata import uri, monitor, client from allmydata.immutable import upload, encode from allmydata.interfaces import FileTooLargeError, UploadUnhappinessError -from allmydata.util import log, base32, fileutil +from allmydata.util import log, base32 from allmydata.util.assertutil import precondition from allmydata.util.deferredutil import DeferredListShouldSucceed from allmydata.test.no_network import GridTestMixin