Changeset 2e83f24 in trunk


Ignore:
Timestamp:
2010-07-18T22:15:37Z (15 years ago)
Author:
Zooko O'Whielacronx <zooko@…>
Branches:
master
Children:
1dbfcf7
Parents:
0f46766
Message:

immutable: test for #1118

Location:
src/allmydata
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/allmydata/immutable/upload.py

    r0f46766 r2e83f24  
    917917                self._peer_trackers[shnum] = peer
    918918                servermap.setdefault(shnum, set()).add(peer.peerid)
    919         assert len(buckets) == sum([len(peer.buckets) for peer in used_peers])
     919        assert len(buckets) == sum([len(peer.buckets) for peer in used_peers]), "%s (%s) != %s (%s)" % (len(buckets), buckets, sum([len(peer.buckets) for peer in used_peers]), [(p.buckets, p.peerid) for p in used_peers])
    920920        encoder.set_shareholders(buckets, servermap)
    921921
  • TabularUnified src/allmydata/test/test_upload.py

    r0f46766 r2e83f24  
    17871787    test_problem_layout_comment_187.todo = "this isn't fixed yet"
    17881788
     1789    def test_problem_layout_ticket_1118(self):
     1790        # #1118 includes a report from a user who hit an assertion in
     1791        # the upload code with this layout.
     1792        self.basedir = self.mktemp()
     1793        d = self._setup_and_upload(k=2, n=4)
     1794
     1795        # server 0: no shares
     1796        # server 1: shares 0, 3
     1797        # server 3: share 1
     1798        # server 2: share 2
     1799        # The order that they get queries is 0, 1, 3, 2
     1800        def _setup(ign):
     1801            self._add_server(server_number=0)
     1802            self._add_server_with_share(server_number=1, share_number=0)
     1803            self._add_server_with_share(server_number=2, share_number=2)
     1804            self._add_server_with_share(server_number=3, share_number=1)
     1805            # Copy shares
     1806            self._copy_share_to_server(3, 1)
     1807            storedir = self.get_serverdir(0)
     1808            # remove the storedir, wiping out any existing shares
     1809            shutil.rmtree(storedir)
     1810            # create an empty storedir to replace the one we just removed
     1811            os.mkdir(storedir)
     1812            client = self.g.clients[0]
     1813            client.DEFAULT_ENCODING_PARAMETERS['happy'] = 4
     1814            return client
     1815
     1816        d.addCallback(_setup)
     1817        d.addCallback(lambda client:
     1818                          client.upload(upload.Data("data" * 10000, convergence="")))
     1819        return d
    17891820
    17901821    def test_upload_succeeds_with_some_homeless_shares(self):
Note: See TracChangeset for help on using the changeset viewer.