Changes between Version 5 and Version 6 of Ticket #2891


Ignore:
Timestamp:
2017-08-10T21:59:23Z (7 years ago)
Author:
warner
Comment:

more intermittence noticed in tests: immutable/upload.py and immutable/downloader/share.py

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2891 – Description

    v5 v6  
    1515  * to exercise this, we need some bad shares recorded in the servermap
    1616 * [https://github.com/tahoe-lafs/tahoe-lafs/blob/95ac5494ffaad61494e0616286894a20b87b7da8/src/allmydata/mutable/publish.py#L496 L 496 Publish.publish]
     17
     18* src/allmydata/immutable/upload.py
     19 * [https://github.com/tahoe-lafs/tahoe-lafs/blob/d91516a5c5c7d6c6a8d040aed4302aa2b9e3bf90/src/allmydata/immutable/upload.py#L703 Tahoe2ServerSelector._buckets_allocated()]
     20  * the `if s in self.homeless_shares` inside the non-Failure path doesn't always exercise both sides of the branch
     21
     22* src/allmydata/immutable/downloader/share.py
     23 * [https://github.com/tahoe-lafs/tahoe-lafs/blob/d91516a5c5c7d6c6a8d040aed4302aa2b9e3bf90/src/allmydata/immutable/downloader/share.py#L211 Share.loop()]
     24  * this share-is-corrupted branch is not always exercised
     25 * L228-236
     26  * the !DataUnavailable branch is not always exercised
     27 * [https://github.com/tahoe-lafs/tahoe-lafs/blob/d91516a5c5c7d6c6a8d040aed4302aa2b9e3bf90/src/allmydata/immutable/downloader/share.py#L277 L277-279 Share._do_loop()]
     28  * this doesn't always see a non-empty `disappointment` array, and sometimes doesn't raise !DataUnavailable. This is the parent cause of the L228-L236 non-coverage above.
     29 * [https://github.com/tahoe-lafs/tahoe-lafs/blob/d91516a5c5c7d6c6a8d040aed4302aa2b9e3bf90/src/allmydata/immutable/downloader/share.py#L386 L386-389 _satisfy_offsets()]
     30  * the share_hashes_size test doesn't exercise both sides of the branch
     31 * [https://github.com/tahoe-lafs/tahoe-lafs/blob/d91516a5c5c7d6c6a8d040aed4302aa2b9e3bf90/src/allmydata/immutable/downloader/share.py#L386 L761 _got_data()]
     32  * the `if not self._alive` check doesn't always exercise both branches
     33
    1734
    1835* src/allmydata/util/dictutil.py
     
    3754 * [https://github.com/tahoe-lafs/tahoe-lafs/blob/3f2f7dfb05ad7f505b70323459aec8d70d2a3ab5/src/allmydata/web/status.py#L925 L925 MapupdateStatusPage.render_privkey_from()]
    3855  * sometimes this is called when the privkey has not been fetched, so it skips the affirmative side of the branch
     56 * [https://github.com/tahoe-lafs/tahoe-lafs/blob/d91516a5c5c7d6c6a8d040aed4302aa2b9e3bf90/src/allmydata/web/status.py#L1117 L1117 Status.childFactory()]
     57  * the loop that looks for a "down-%s" name in h.list_all_download_statuses() doesn't always exercise both sides of the `if s.get_counter() == count` clause
    3958
     59