7 | | * src/allmydata/mutable/servermap.py [https://github.com/tahoe-lafs/tahoe-lafs/blob/74e7ef4b98bc322da5a49c33e0706b57aab3a6d3/src/allmydata/mutable/servermap.py#L39 L 39: UpdateStatus.add_per_server_time] |
8 | | * the status object's `.timings["per_server"]` attribute is a dict-of-lists, and line 39 handles the case where we *don't* have to add a new entry to the dict. This should just be replaced by a `collections.defaultdict`, rather than needing any new tests. |
9 | | * src/allmydata/mutable/servermap.py [https://github.com/tahoe-lafs/tahoe-lafs/blob/74e7ef4b98bc322da5a49c33e0706b57aab3a6d3/src/allmydata/mutable/servermap.py#L923 L 923: ServermapUpdater._try_to_validate_privkey] |
10 | | * this clause checks that the share contained an (encrypted) RSA signing key that matches the expectation we got from the writecap. The clause should succeed for normal shares, but will fail for corrupted shares. Apparently we have a test that corrupts some shares, but which then doesn't always look at them. |
| 7 | * src/allmydata/mutable/servermap.py |
| 8 | * ~~~[https://github.com/tahoe-lafs/tahoe-lafs/blob/74e7ef4b98bc322da5a49c33e0706b57aab3a6d3/src/allmydata/mutable/servermap.py#L39 L 39: UpdateStatus.add_per_server_time]~~~ |
| 9 | * the status object's `.timings["per_server"]` attribute is a dict-of-lists, and line 39 handles the case where we *don't* have to add a new entry to the dict. This should just be replaced by a `collections.defaultdict`, rather than needing any new tests. |
| 10 | * [https://github.com/tahoe-lafs/tahoe-lafs/blob/74e7ef4b98bc322da5a49c33e0706b57aab3a6d3/src/allmydata/mutable/servermap.py#L923 L 923: ServermapUpdater._try_to_validate_privkey] |
| 11 | * this clause checks that the share contained an (encrypted) RSA signing key that matches the expectation we got from the writecap. The clause should succeed for normal shares, but will fail for corrupted shares. Apparently we have a test that corrupts some shares, but which then doesn't always look at them. |
| 13 | * src/allmydata/mutable/publish.py |
| 14 | * [https://github.com/tahoe-lafs/tahoe-lafs/blob/95ac5494ffaad61494e0616286894a20b87b7da8/src/allmydata/mutable/publish.py#L451 L 451: Publish.publish] |
| 15 | * to exercise this, we need some bad shares recorded in the servermap |
| 16 | * [https://github.com/tahoe-lafs/tahoe-lafs/blob/95ac5494ffaad61494e0616286894a20b87b7da8/src/allmydata/mutable/publish.py#L496 L 496 Publish.publish] |
| 17 | |
| 18 | * src/allmydata/util/dictutil.py |
| 19 | * [https://github.com/tahoe-lafs/tahoe-lafs/blob/95ac5494ffaad61494e0616286894a20b87b7da8/src/allmydata/util/dictutil.py#L29 L 29 subtract()] |
| 20 | * [https://github.com/tahoe-lafs/tahoe-lafs/blob/95ac5494ffaad61494e0616286894a20b87b7da8/src/allmydata/util/dictutil.py#L230 L 230 NumDict.item_with_largest_value()] |
| 21 | * [https://github.com/tahoe-lafs/tahoe-lafs/blob/95ac5494ffaad61494e0616286894a20b87b7da8/src/allmydata/util/dictutil.py#L438 L 438 ValueOrderedDict.__repr_n__] |
| 22 | * [https://github.com/tahoe-lafs/tahoe-lafs/blob/95ac5494ffaad61494e0616286894a20b87b7da8/src/allmydata/util/dictutil.py#L507 L 507 ValueOrderedDict.__setitem__] |
| 23 | * [https://github.com/tahoe-lafs/tahoe-lafs/blob/95ac5494ffaad61494e0616286894a20b87b7da8/src/allmydata/util/dictutil.py#L511 L 511 ValueOrderedDict.__setitem__] |
| 24 | * [https://github.com/tahoe-lafs/tahoe-lafs/blob/95ac5494ffaad61494e0616286894a20b87b7da8/src/allmydata/util/dictutil.py#L550 L 550 ValueOrderedDict.__delitem__] |
| 25 | * [https://github.com/tahoe-lafs/tahoe-lafs/blob/95ac5494ffaad61494e0616286894a20b87b7da8/src/allmydata/util/dictutil.py#L597 L 597 ValueOrderedDict.pop] |
| 26 | |