Commit Graph

1273 Commits

Author SHA1 Message Date
Jean-Paul Calderone
91873d5a15 news fragment 2021-03-17 14:45:10 -04:00
Jean-Paul Calderone
aa92166859 news fragment 2021-03-17 14:33:25 -04:00
Jean-Paul Calderone
dc057b6b0a news fragment 2021-03-16 14:48:13 -04:00
Itamar Turner-Trauring
6bce1e8459 News file. 2021-03-15 11:03:59 -04:00
Itamar Turner-Trauring
3c8e18f0fc Merge remote-tracking branch 'origin/master' into 3603.scripts 2021-03-15 10:50:13 -04:00
Itamar Turner-Trauring
65967c23e4
Merge pull request #995 from tahoe-lafs/3625.client-python-3
Port allmydata.client to Python 3

Fixes ticket:3625
2021-03-15 10:49:49 -04:00
Itamar Turner-Trauring
4d80177b18 Merge branch '3603.scripts' into 3634.cli-tests-python-3 2021-03-15 10:36:56 -04:00
Itamar Turner-Trauring
a6c0031d74 News file. 2021-03-15 09:50:59 -04:00
Itamar Turner-Trauring
9f31e119bc
Merge pull request #1000 from sajith/3633.use-txi2p-fork
Use forked release of txi2p

Fixes ticket:3633
2021-03-15 09:23:31 -04:00
Chad Whitacre
4b6f84b821 Port testing to Python 3 2021-03-13 07:38:13 -05:00
Sajith Sasidharan
86853dc3d0 Use forked release of txi2p for Python 3 support
We've poked https://github.com/str4d/txi2p/issues/10 a few times with
requests for a new release, with scant success.  So txi2p-tahoe is a
thing now.
2021-03-10 13:26:21 -05:00
Sajith Sasidharan
61fc96181e Build docs on CI 2021-03-09 16:57:20 -05:00
Sajith Sasidharan
93dff0e6ad Use sphinx_rtd_theme when building docs locally
Default theme that Sphinx uses is not consistent with what we have at
https://tahoe-lafs.readthedocs.io.  Being consistent with rtd might
help future doc writers.
2021-03-09 15:42:48 -05:00
Sajith Sasidharan
d28e172b5f Update notes about reading/writing docs 2021-03-09 15:07:29 -05:00
Itamar Turner-Trauring
22fd02f576 News file. 2021-03-09 11:14:44 -05:00
Jason R. Coombs
0838133006 Merge branch 'master' into 3603.scripts 2021-03-06 10:43:01 -05:00
Itamar Turner-Trauring
5e8899516e Merge remote-tracking branch 'origin/master' into 3625.client-python-3 2021-03-05 10:27:17 -05:00
Itamar Turner-Trauring
c71fa48f3c News file. 2021-03-05 10:19:48 -05:00
Itamar Turner-Trauring
5dd33d295e Merge branch '3618.bb-tests-python-3' into 3624.web-python-3-part-5 2021-03-05 09:43:39 -05:00
Itamar Turner-Trauring
41f5b5f25d Merge remote-tracking branch 'origin/master' into 3618.bb-tests-python-3 2021-03-05 09:41:17 -05:00
Itamar Turner-Trauring
58149afeb9 Merge branch '3618.bb-tests-python-3' into 3625.client-python-3 2021-03-03 10:51:15 -05:00
Chad Whitacre
de3676e955
Merge pull request #989 from tahoe-lafs/3620.port-check_results
Port check_results.py to Python 3
2021-03-02 21:40:17 -05:00
Itamar Turner-Trauring
0be3349c5d News file 2021-03-02 09:24:49 -05:00
Itamar Turner-Trauring
5359207ce3 Merge branch '3618.bb-tests-python-3' into 3624.web-python-3-part-5 2021-03-02 09:09:47 -05:00
Itamar Turner-Trauring
e1ef9d49cd
Merge pull request #987 from tahoe-lafs/3617.web-python-3-part-4
Port allmydata.web to Python 3, part 4.

Fixes ticket:3617
2021-03-02 09:08:30 -05:00
Itamar Turner-Trauring
f75eda1255 Merge remote-tracking branch 'origin/master' into 3618.bb-tests-python-3 2021-03-02 09:00:09 -05:00
Jean-Paul Calderone
99f6a692d4
Merge pull request #991 from LeastAuthority/3623.pin-twisted
Set an upper bound for Twisted until type situation is resolved

Fixes: ticket:3623
2021-03-02 08:14:48 -05:00
Jean-Paul Calderone
dae40c7f86 pointless twiddle
CircleCI keeps failing to fetch the revision for some jobs
Try giving it a new revision????
2021-03-01 14:11:17 -05:00
Jean-Paul Calderone
91ccf33829 news fragment 2021-03-01 13:44:25 -05:00
Jean-Paul Calderone
8faea9162f news fragment 2021-03-01 08:58:14 -05:00
Chad Whitacre
4cb7a65aa1 Port check_results.py to Python 3 2021-02-27 15:40:36 -05:00
Chad Whitacre
701ce50a37
Merge pull request #977 from tahoe-lafs/3605.port-control
Port control.py to Python 3
2021-02-27 14:23:14 -05:00
Itamar Turner-Trauring
298d3bc9e0 News file. 2021-02-23 10:46:24 -05:00
Itamar Turner-Trauring
41590ff81e News file. 2021-02-23 10:45:12 -05:00
Chad Whitacre
f6608255f9 Port control.py to Python 3 2021-02-20 12:14:14 -05:00
Itamar Turner-Trauring
c6342d835b News file. 2021-02-17 15:45:48 -05:00
Itamar Turner-Trauring
debda0d21a Merge branch '3611.web-python-3-part-2' into 3615.web-python-3-part-3 2021-02-17 15:37:51 -05:00
Chad Whitacre
5e52c03ef6
Merge pull request #983 from tahoe-lafs/3613.port-history
Port history.py to Python 3
2021-02-16 06:57:23 -05:00
Jason R. Coombs
2dc0a55d5d Truncate newsfragment 2021-02-15 12:18:10 -05:00
Itamar Turner-Trauring
5b4428b968 Merge remote-tracking branch 'origin/master' into 3611.web-python-3-part-2 2021-02-15 11:38:30 -05:00
Itamar Turner-Trauring
06cd015647 Merge remote-tracking branch 'origin/master' into 3606.test_system-web-python3 2021-02-15 11:14:41 -05:00
Itamar Turner-Trauring
e41ff1a17d
Merge pull request #979 from tahoe-lafs/3607.web-python-3-part-1
Port allmydata.web.common to Python 3

Fixes ticket:3607
2021-02-15 11:13:34 -05:00
Chad Whitacre
8700aae37a ¯\_(ツ)_/¯ 2021-02-13 15:48:42 -05:00
Jason R. Coombs
7ed3d9597e Add newsfragment 2021-02-12 16:17:44 -05:00
Jean-Paul Calderone
91490fc2d5 Merge remote-tracking branch 'origin/master' into 3528.test_cli-no-mock 2021-02-12 13:35:03 -05:00
Jean-Paul Calderone
33d566ec87
Merge pull request #965 from LeastAuthority/3581.unicode_to_argv.1
Remove unicode_to_argv, argv_to_unicode and weird unicode mangling

Fixes: ticket:3581
2021-02-12 13:29:40 -05:00
Jean-Paul Calderone
8ffb083d38 Merge remote-tracking branch 'origin/master' into 3581.unicode_to_argv.1 2021-02-12 13:08:51 -05:00
Jean-Paul Calderone
7864330562 Merge remote-tracking branch 'origin/master' into 3385.coveralls-for-coverage-reports 2021-02-12 12:58:49 -05:00
Jean-Paul Calderone
0b45c2592d
Merge pull request #973 from LeastAuthority/3600.eliotutil-vs-skips
Fix the per-test Eliot decoration to interact better with testtools skips

Fixes: ticket:3600
2021-02-12 12:10:37 -05:00
Itamar Turner-Trauring
308fa3eed8 News file. 2021-02-12 11:47:33 -05:00
Itamar Turner-Trauring
5561f9fa16 Merge remote-tracking branch 'origin/master' into 3607.web-python-3-part-1 2021-02-12 11:22:34 -05:00
Itamar Turner-Trauring
681572b1a5 Merge remote-tracking branch 'origin/3606.test_system-web-python3' into 3611.web-python-3-part-2 2021-02-12 10:30:51 -05:00
Itamar Turner-Trauring
66b5a1577a News file. 2021-02-12 10:23:20 -05:00
Jean-Paul Calderone
ff25ee3f71 Merge remote-tracking branch 'origin/master' into 3600.eliotutil-vs-skips 2021-02-12 10:07:44 -05:00
Jean-Paul Calderone
27e223aba8
Merge pull request #980 from tahoe-lafs/3326.debian-8-to-10
Replace Debian 8 with Debian 10

Fixes: ticket:3326
2021-02-12 10:03:01 -05:00
Jean-Paul Calderone
9ad4d31d9d
Merge pull request #968 from LeastAuthority/3592.convergence-hasher-tag-tests
convergence hasher tag tests

Fixes: ticket:3592
2021-02-11 16:25:41 -05:00
Jean-Paul Calderone
451ede2666 news fragment 2021-02-11 15:58:28 -05:00
Itamar Turner-Trauring
3abbe76d6a Merge branch '3607.web-python-3-part-1' into 3611.web-python-3-part-2 2021-02-10 14:33:00 -05:00
Itamar Turner-Trauring
3fd90640f3 Merge remote-tracking branch 'origin/master' into 3606.test_system-web-python3 2021-02-10 14:23:53 -05:00
Itamar Turner-Trauring
e5806301d3
Merge pull request #976 from tahoe-lafs/3596.test-web-python-3-even-more
Port test_web.py to Python 3

Fixes ticket:3596
2021-02-10 14:21:22 -05:00
Jean-Paul Calderone
3beacc9c8f Merge remote-tracking branch 'origin/master' into 3581.unicode_to_argv.1 2021-02-09 21:18:58 -05:00
Jean-Paul Calderone
845e33061e
Merge pull request #964 from LeastAuthority/3588.use-pywin32-more
Use pywin32 more

Fixes: ticket:3588
2021-02-09 21:15:34 -05:00
Jean-Paul Calderone
ab57746a85
Merge pull request #969 from LeastAuthority/3593.get_encryption_key-test
Add FileHandle.get_encryption_key test

Fixes: ticket:3593
2021-02-07 07:41:44 -05:00
Itamar Turner-Trauring
e3bb368184 News file. 2021-02-04 14:10:41 -05:00
Itamar Turner-Trauring
b9927e0824 News file. 2021-02-03 11:08:14 -05:00
Itamar Turner-Trauring
0b57fb9df1 Merge remote-tracking branch 'origin/master' into 3596.test-web-python-3-even-more 2021-02-02 15:28:49 -05:00
Itamar Turner-Trauring
965a3e3f05 News file. 2021-02-02 15:28:25 -05:00
meejah
00613b78f5 Merge branch 'master' into release-1.15.0-rc0 2021-02-02 12:14:13 -07:00
meejah
c47b0854ae
Merge pull request #943 from meejah/3570.developers-signatures
3570.developers signatures
2021-02-02 12:10:49 -07:00
Itamar Turner-Trauring
6fd62eb25e Merge remote-tracking branch 'origin/master' into 3579.ftp-python-3 2021-01-28 15:15:57 -05:00
Itamar Turner-Trauring
59f0c9e63b
Merge pull request #961 from tahoe-lafs/3584.integration-tests-sftp
Integration tests and bug fixes for SFTP

Fixes ticket:3584
2021-01-28 15:07:15 -05:00
Jean-Paul Calderone
740fe9fef7 news fragment 2021-01-27 11:36:53 -05:00
Itamar Turner-Trauring
cc8e613fe3 Rephrase. 2021-01-26 10:00:50 -05:00
Jean-Paul Calderone
c451d947ff Merge remote-tracking branch 'origin/master' into patch-1 2021-01-26 09:57:05 -05:00
Jean-Paul Calderone
3d2ca566f6 news fragment 2021-01-26 09:57:02 -05:00
Jean-Paul Calderone
bb8348f7bb Merge remote-tracking branch 'origin/master' into 3588.use-pywin32-more 2021-01-26 09:54:59 -05:00
Itamar Turner-Trauring
49300ccc4e Merge remote-tracking branch 'origin/master' into 3584.integration-tests-sftp 2021-01-26 09:53:51 -05:00
Jean-Paul Calderone
15dbbce217 Merge remote-tracking branch 'origin/master' into 3592.convergence-hasher-tag-tests 2021-01-26 09:53:26 -05:00
Itamar Turner-Trauring
dc3871b711
Merge pull request #970 from tahoe-lafs/3590.error-in-integration-test
Fix URI redirect error that was manifesting in the integration tests

Fixes ticket:3590
2021-01-26 09:50:40 -05:00
Jean-Paul Calderone
25b453047c Merge remote-tracking branch 'origin/master' into 3593.get_encryption_key-test 2021-01-25 11:12:59 -05:00
Jean-Paul Calderone
b139876a15 Merge remote-tracking branch 'origin/master' into 3536.sphinx-warnings 2021-01-25 10:52:34 -05:00
Jean-Paul Calderone
e5f0dcfbb4
Merge pull request #971 from LeastAuthority/3594.read_encrypted-test
Directly test read_encrypted behavior and remove a `fireEventually` from its implementation

Fixes: ticket:3594
Fixes: ticket:3595
2021-01-25 09:14:35 -05:00
Itamar Turner-Trauring
f62b6d83c2 Merge branch '3590.error-in-integration-test' into 3596.test-web-python-3-even-more 2021-01-21 14:01:54 -05:00
Itamar Turner-Trauring
411ee141e9 Fix location for news fragment. 2021-01-21 13:55:51 -05:00
Itamar Turner-Trauring
0902c8e156 Merge remote-tracking branch 'origin/master' into 3584.integration-tests-sftp 2021-01-21 13:34:51 -05:00
Jean-Paul Calderone
9c91261fa6 news fragment 2021-01-20 13:57:01 -05:00
Itamar Turner-Trauring
f8e548dc92
Merge pull request #966 from tahoe-lafs/3589.more-web-tests-python-3
Port more web tests to Python 3

Fixes ticket:3589
2021-01-20 13:38:22 -05:00
Jean-Paul Calderone
f75f71cba6 news fragment 2021-01-20 11:23:35 -05:00
Sajith Sasidharan
73299d253e
Merge pull request #967 from sajith/3591.use-pip-cache-in-github-actions
Use pip cache in GitHub Actions

Fixes: ticket:3591
2021-01-20 09:57:37 -05:00
meejah
8c1c682fdd redundant newsfragment 2021-01-19 12:58:01 -07:00
meejah
3995c932ef better words 2021-01-19 12:57:18 -07:00
meejah
ed9bc93571 redundant newsfragment 2021-01-19 12:55:56 -07:00
meejah
52c2e292d8 news 2021-01-19 12:55:56 -07:00
meejah
3061e9f913
Merge pull request #942 from meejah/2920.checklist-error
2920 signatures are detached
2021-01-19 12:48:56 -07:00
Jean-Paul Calderone
be5cf1a0be news fragment 2021-01-19 14:42:30 -05:00
Jean-Paul Calderone
512897eca0 news fragment 2021-01-19 13:46:32 -05:00
meejah
5dd7aa2dfd news 2021-01-19 11:25:09 -07:00
Itamar Turner-Trauring
2de76cd82d
Merge branch 'master' into 3589.more-web-tests-python-3 2021-01-19 11:44:27 -05:00
Sajith Sasidharan
621de4d882 Add newsfragment 2021-01-18 10:55:18 -05:00
Jason R. Coombs
7d468cde19 Merge branch 'master' into 3399.mypy 2021-01-15 11:17:47 -05:00
Itamar Turner-Trauring
60acad32ca Merge remote-tracking branch 'origin/master' into 3589.more-web-tests-python-3 2021-01-14 09:39:18 -05:00
Itamar Turner-Trauring
6b0849490a News file. 2021-01-12 14:40:46 -05:00
Itamar Turner-Trauring
f717250ecd Merge remote-tracking branch 'origin/master' into 3576.port-unknown 2021-01-12 11:07:15 -05:00
Jean-Paul Calderone
db31d2bc1a news fragment 2021-01-12 10:14:38 -05:00
Itamar Turner-Trauring
1b1d87f9f9 Merge branch '3584.integration-tests-sftp' into 3579.ftp-python-3 2021-01-11 14:05:07 -05:00
Itamar Turner-Trauring
ce58f63040 Merge remote-tracking branch 'origin/master' into 3584.integration-tests-sftp 2021-01-11 13:55:03 -05:00
Itamar Turner-Trauring
4a7da34a6a
Merge pull request #958 from tahoe-lafs/3583.rip-out-ftp
Rip out FTP support

Fixes ticket:3583
2021-01-11 13:54:00 -05:00
Jean-Paul Calderone
891ef3eefd news fragment 2021-01-09 18:19:04 -05:00
Jean-Paul Calderone
b00bf94643
news fragment 2021-01-09 09:06:19 -05:00
Jean-Paul Calderone
1ae0311e36
Merge pull request #949 from tahoe-lafs/port-webish
Port webish/test_webish to Python 3

Fixes: ticket:3577
2021-01-08 13:51:00 -05:00
Itamar Turner-Trauring
6f3b3d07fd News file. 2021-01-08 13:43:23 -05:00
Itamar Turner-Trauring
7b1bfadd21 Rip out FTP. 2021-01-06 13:39:52 -05:00
Itamar Turner-Trauring
3a6f3f2809 Merge remote-tracking branch 'origin/master' into 3579.ftp-python-3 2021-01-05 16:05:56 -05:00
Jean-Paul Calderone
e937b062a1 news fragment 2021-01-05 15:56:42 -05:00
Chad Whitacre
fa15c2c8d6 Declare victory on blacklist 2021-01-05 06:45:32 -05:00
Chad Whitacre
88946900b3 Port unknown to Python 3
This is covered by test_dirnode/test_grid
2021-01-05 06:39:29 -05:00
Chad Whitacre
dc5ac4a112
Merge pull request #946 from tahoe-lafs/3574.port-stats
Port stats to Python 3
2021-01-05 06:04:10 -05:00
Sajith Sasidharan
ce50916ec5 Add newsfragment 2021-01-04 20:21:43 -05:00
Itamar Turner-Trauring
4683760ed8
Merge pull request #945 from tahoe-lafs/3566.web-tests-python-3-part-2
Port web tests to Python 3, part 2

Fixes ticket:3566
2021-01-04 15:40:52 -05:00
Jean-Paul Calderone
3c203828c5 Merge remote-tracking branch 'origin/master' into 3578.remove-encode_tail_segment 2021-01-04 15:08:27 -05:00
Jean-Paul Calderone
7a504dd99f
Merge pull request #936 from LeastAuthority/3534.test_introducer-no-mock
Remove mock from test_introducer

Fixes: ticket:3534
2021-01-04 15:06:29 -05:00
Jean-Paul Calderone
af06bdb182 Merge remote-tracking branch 'origin/master' into 3575.realistic_storage_index_hash-key 2021-01-04 14:14:13 -05:00
Itamar Turner-Trauring
62e6c0d9ac News file. 2021-01-04 11:06:14 -05:00
Chad Whitacre
655be5e3a0 Port stats to Python 3 2021-01-04 06:18:14 -05:00
Jean-Paul Calderone
855521fea8
Merge pull request #935 from LeastAuthority/3529.test_connections-no-mock
Remove mock usage from test_connections.py

Fixes: ticket:3529
2021-01-02 12:48:12 -05:00
Jean-Paul Calderone
244089d785 news fragment 2021-01-01 15:15:06 -05:00
Jean-Paul Calderone
5a543fd497 news fragment 2020-12-29 13:35:33 -05:00
Chad Whitacre
b4b4a1aabf Port webish/test_webish to Python 3 2020-12-29 12:39:00 -05:00
Jean-Paul Calderone
9e83343335 news fragment 2020-12-29 10:47:58 -05:00
Jason R. Coombs
9780f8bfdc Add newsfragment 2020-12-26 13:24:09 -05:00
Itamar Turner-Trauring
2c7dde9978 Merge remote-tracking branch 'origin/master' into 3566.web-tests-python-3-part-2 2020-12-23 09:14:34 -05:00
Itamar Turner-Trauring
55698cc8f2 Merge remote-tracking branch 'origin/master' into 3566.web-tests-python-3-part-2 2020-12-22 13:21:49 -05:00
Itamar Turner-Trauring
3ca17454c4 News file. 2020-12-22 13:18:07 -05:00
Itamar Turner-Trauring
013388981c Fix intermittent failing test on PyPy hopefully.
PyPy does not have refcounts, so files were only being closed when GC happened,
which meant their buffered writes never hit disk.
2020-12-22 13:04:53 -05:00
Itamar Turner-Trauring
f9ee4b239f
Merge pull request #934 from tahoe-lafs/3564.eliot-log-testing-python-3
Re-enable logging validation on Python 3.

Fixes ticket:3564
2020-12-22 11:43:36 -05:00
Jean-Paul Calderone
ab7c382dec
Merge pull request #939 from LeastAuthority/3567.test_storage_client-eaddrinuse
Use a pre-bound listening socket in the test

Fixes: ticket:3567
2020-12-21 13:27:08 -05:00
Jean-Paul Calderone
6dc2928172
Merge pull request #941 from LeastAuthority/3568.better-codecov-reporting.wait_for_ci
Try the `wait_for_ci` option

Fixes: ticket:3568
2020-12-21 13:26:20 -05:00
Itamar Turner-Trauring
a8732a3c70 Merge branch '3564.eliot-log-testing-python-3' into 3566.web-tests-python-3-part-2 2020-12-21 13:12:19 -05:00
Jean-Paul Calderone
0569972212 news fragment 2020-12-17 12:40:12 -05:00
Jean-Paul Calderone
f0359f106c news fragment 2020-12-17 10:20:17 -05:00
Itamar Turner-Trauring
48b9ffe2a5 News file. 2020-12-17 09:55:48 -05:00
Itamar Turner-Trauring
26297c296d
Merge branch 'master' into 3552.test_system-python-3 2020-12-17 09:42:34 -05:00
Jean-Paul Calderone
96b54e8f62 news fragment 2020-12-16 20:50:08 -05:00
Jean-Paul Calderone
3513e9b4fc news fragment 2020-12-16 15:25:11 -05:00
Jean-Paul Calderone
d19b1cfd68
Merge pull request #933 from LeastAuthority/3533.test_root-no-mock
Remove Mock from test_root

Fixes: ticket:3533
2020-12-16 15:15:17 -05:00
Jean-Paul Calderone
8bb4d10d7f news fragment 2020-12-16 12:28:29 -05:00
Itamar Turner-Trauring
052b3d9fb1 Re-enable logging validation on Python 3. 2020-12-16 10:06:59 -05:00
Itamar Turner-Trauring
54a11dbb6a
Merge pull request #932 from tahoe-lafs/3560.test_eliotutil-python-3
Port eliotutil and tests to Python 3

Fixes ticket:3560
2020-12-16 09:40:19 -05:00
Jean-Paul Calderone
c45290c55f news fragment 2020-12-15 18:29:43 -05:00
Jean-Paul Calderone
c4e8262a99
Merge pull request #925 from tahoe-lafs/3532.test_node-no-mock
Remove mock from test_node

Fixes: ticket:3532
2020-12-15 14:38:07 -05:00
Itamar Turner-Trauring
4a587836a5 Port eliotutil and tests to Python 3. 2020-12-15 10:13:46 -05:00
Itamar Turner-Trauring
c7f2b7dd7c Merge remote-tracking branch 'origin/master' into 3552.test_system-python-3 2020-12-15 09:13:32 -05:00
Jean-Paul Calderone
a9bcd6270a Merge remote-tracking branch 'origin/master' into 3557.GuessedAtParserWarning 2020-12-14 15:41:31 -05:00
Jean-Paul Calderone
035cd8b4ac Merge remote-tracking branch 'origin/master' into 3532.test_node-no-mock 2020-12-14 15:35:42 -05:00
Jean-Paul Calderone
39628cbb4e
Merge pull request #921 from tahoe-lafs/3550.remove-start-stop-restart-daemonize
remove start stop restart daemonize

Fixes: ticket:3550
Fixes: ticket:3523
Fixes: ticket:3524
2020-12-14 14:58:35 -05:00
Jean-Paul Calderone
052d95f182
Merge pull request #930 from LeastAuthority/3558.out-of-org-pr
Report coverage for out-of-org PRs properly

Fixes: ticket:3558
2020-12-14 14:14:35 -05:00
Itamar Turner-Trauring
919f31acf3
Merge pull request #923 from tahoe-lafs/3553.nodemaker-python-3
Port allmydata.nodemaker and .dirnode to Python 3

Fixes ticket:3553
2020-12-14 13:31:50 -05:00
Itamar Turner-Trauring
93fb28f6ad Merge remote-tracking branch 'origin/master' into 3552.test_system-python-3 2020-12-14 10:21:12 -05:00
Jean-Paul Calderone
0357eeb924 news fragment 2020-12-14 10:11:05 -05:00
Jean-Paul Calderone
7638064818 Merge remote-tracking branch 'origin/master' into 3532.test_node-no-mock 2020-12-14 09:32:33 -05:00
Sajith Sasidharan
b787de0acc Fix BeautifulSoup's GuessedAtParserWarning 2020-12-13 06:49:49 -05:00
Jean-Paul Calderone
b9e9e55f4e Merge remote-tracking branch 'origin/master' into 3550.remove-start-stop-restart-daemonize 2020-12-11 15:33:23 -05:00
Sajith Sasidharan
158c4b9446
Merge branch 'master' into 3555.stats-gatherer-is-history 2020-12-11 14:46:39 -05:00
Itamar Turner-Trauring
98330d7186 Merge remote-tracking branch 'origin/master' into 3552.test_system-python-3 2020-12-11 13:24:04 -05:00
Itamar Turner-Trauring
fc62102500
Merge branch 'master' into 3553.nodemaker-python-3 2020-12-11 13:11:27 -05:00
Itamar Turner-Trauring
66cd68d325 Merge remote-tracking branch 'origin/master' into 3553.nodemaker-python-3 2020-12-11 10:48:50 -05:00
jehadbaeth
d76bea4d00
Merge branch 'master' into new-readme 2020-12-11 18:32:20 +03:00
Sajith Sasidharan
713e456265 Mention stats gatherer removal in notes about old configuration 2020-12-11 10:19:07 -05:00
Jean-Paul Calderone
624916e06b
Merge branch 'master' into 3550.remove-start-stop-restart-daemonize 2020-12-10 19:47:47 -05:00
Jean-Paul Calderone
1c7c228f90 Merge remote-tracking branch 'origin/master' into 3549.remove-stats-gatherer 2020-12-10 18:27:54 -05:00
Jean-Paul Calderone
8afb4cba7c Make a recommendation 2020-12-10 18:22:06 -05:00
Itamar Turner-Trauring
37554162b0 News file. 2020-12-10 11:17:42 -05:00
Itamar Turner-Trauring
e9b0a526bd
Merge branch 'master' into 3551.more-immutable-python-3 2020-12-10 10:06:53 -05:00
Jean-Paul Calderone
4ac95a1ede Merge remote-tracking branch 'origin/master' into 3522.test_alias-no-mock 2020-12-10 07:19:43 -05:00
Jean-Paul Calderone
46f18fbbc3 news fragment 2020-12-09 15:47:43 -05:00
Itamar Turner-Trauring
ba42483741 News file. 2020-12-09 14:50:28 -05:00
Itamar Turner-Trauring
2edd029261 News file. 2020-12-09 13:23:11 -05:00
Jean-Paul Calderone
8b890d255e extra news fragments 2020-12-09 11:02:29 -05:00
Jean-Paul Calderone
179f0bb9ec news fragment 2020-12-09 10:55:13 -05:00
Jean-Paul Calderone
914e7ac013 news fragment 2020-12-09 10:50:03 -05:00
Jean-Paul Calderone
4f01c8f33e news fragment 2020-12-09 10:35:43 -05:00
Itamar Turner-Trauring
67549aaed5 Merge remote-tracking branch 'origin/master' into 3456.introducer-python3 2020-12-09 09:21:02 -05:00
jehadbaeth
1719144695
Merge branch 'master' into new-readme 2020-12-09 11:55:58 +03:00
Itamar Turner-Trauring
0cf9be18d7 Merge remote-tracking branch 'origin/master' into 3544.furls-not-bytes-maybe 2020-12-08 16:08:12 -05:00
jbaeth
6d1f3861fc rewording news fragment
fixing some links
fix ToC order
2020-12-08 19:30:24 +03:00
Itamar Turner-Trauring
dcd865897e
Merge branch 'master' into 3544.furls-not-bytes-maybe 2020-12-08 10:30:00 -05:00
Jean-Paul Calderone
d415bda72a
Merge branch 'master' into 3521.test_storage_client-no-mock 2020-12-07 12:03:50 -05:00
jbaeth
82aee95ef6 readme fixes 2020-12-07 18:01:31 +03:00
Jean-Paul Calderone
dea42c474f news fragment 2020-12-06 11:03:31 -05:00
Jean-Paul Calderone
24709fa758
Merge branch 'master' into 3547.furl-py36-regression 2020-12-05 13:29:27 -05:00
Jean-Paul Calderone
d7f005badd
Merge branch 'master' into 3520.test_client-no-mock 2020-12-05 12:55:25 -05:00
Jean-Paul Calderone
96bee384c9 news fragment 2020-12-05 09:06:29 -05:00
Jean-Paul Calderone
bdc75c3361 Merge remote-tracking branch 'origin/master' into 3539.nodemaker-weakrefdict 2020-12-05 07:23:54 -05:00
Itamar Turner-Trauring
afc443bff0 News file. 2020-12-04 11:37:08 -05:00
Jean-Paul Calderone
15d0207f89
Merge pull request #897 from tahoe-lafs/3504.private-introducer-furl
Deprecate tahoe.cfg [client]introducer.furl

Fixes: ticket:3504
2020-12-04 09:44:19 -05:00
Jean-Paul Calderone
840a8af1e9
Merge pull request #904 from tahoe-lafs/3515.partial-pre-commit
Configure pre-commit push hook to run on changed files only

Fixes: ticket:3515
2020-12-04 09:40:21 -05:00
jehad
d531cc9d6c new README file based on Victoriia’s changes 2020-12-03 13:40:49 +03:00
Itamar Turner-Trauring
b716456019 Merge remote-tracking branch 'origin/master' into 3544.furls-not-bytes-maybe 2020-12-02 15:24:31 -05:00
Itamar Turner-Trauring
71d287c1c1
Merge pull request #905 from tahoe-lafs/3514.test-introducer-python-3
Port test_introducer.py to Python 3

Fixes ticket:3514
2020-12-02 15:24:17 -05:00
Jean-Paul Calderone
a0d46c6f09 Merge remote-tracking branch 'origin/master' into 3504.private-introducer-furl 2020-12-02 09:22:09 -05:00
Jean-Paul Calderone
8d6b49669b
Merge pull request #900 from tahoe-lafs/3511.config-set-config
Add `_Config.set_config`

Fixes: ticket:3511
2020-12-01 12:04:26 -05:00
Jean-Paul Calderone
5f02e5b816
Merge pull request #896 from tahoe-lafs/3505.furl-docs
fURL / NURL specification

Fixes: ticket:3505
2020-12-01 10:15:25 -05:00
Itamar Turner-Trauring
8a47227e9b News file. 2020-11-30 17:56:46 -05:00
Sajith Sasidharan
ff49414ae9 Use Tor project's new repository signing key
Fix for https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3542
2020-11-30 17:20:50 -05:00
Itamar Turner-Trauring
27102c0d89 Merge remote-tracking branch 'origin/master' into 3514.test-introducer-python-3 2020-11-30 16:47:21 -05:00
Jean-Paul Calderone
b02a4f73b6 news fragment 2020-11-30 08:56:37 -05:00
Jean-Paul Calderone
c82501e0dc Merge remote-tracking branch 'origin/master' into 3511.config-set-config 2020-11-26 11:01:18 -05:00
Jean-Paul Calderone
9d6e6c41ac Merge remote-tracking branch 'origin/master' into 3505.furl-docs 2020-11-25 18:23:40 -05:00
Jean-Paul Calderone
fba386cb8e
Merge pull request #903 from tahoe-lafs/3497.stop-recommending-our-deps
Stop recommending our hosted binary dep packages

Fixes: ticket:3497
2020-11-25 18:20:28 -05:00
Jean-Paul Calderone
152c04e48c
Merge pull request #902 from tahoe-lafs/3512.localized-tempdir
Per-node web temp directory

Fixes: ticket:3512
2020-11-25 18:18:36 -05:00
Jean-Paul Calderone
aeeb576b68 Merge remote-tracking branch 'origin/master' into 3497.stop-recommending-our-deps 2020-11-25 16:05:31 -05:00
meejah
e35e0a2edf
Merge pull request #863 from meejah/3478.release-docs
3478.release docs
2020-11-25 11:34:58 -07:00
Sajith Sasidharan
5565192dda
Merge pull request #909 from sajith/3537.reintroduce-vcpython27
Re-introduce vcpython27 in GitHub Actions

Fixes: ticket:3537
2020-11-25 11:23:30 -05:00
Jean-Paul Calderone
8e6773c690
Merge pull request #907 from tahoe-lafs/3518.pypy-versions-None
Get rid of version_checks

Fixes: ticket:3518
2020-11-25 10:54:46 -05:00
Jean-Paul Calderone
94a1ae70b7
fix word-o 2020-11-25 10:41:56 -05:00
Jean-Paul Calderone
bd9a91abf6
Merge pull request #901 from tahoe-lafs/3513.raiseException
Fix exception re-raising in no_network.py

Fixes: ticket:3513
2020-11-25 10:41:15 -05:00
Sajith Sasidharan
c8aab085d7 Re-introduce vcpython27 in GitHub Actions
Turns out that netifaces has not published a .whl package for Python
2.7 and 64-bit Windows.
2020-11-25 08:17:40 -05:00
Sajith Sasidharan
4e5eb1300d
Merge pull request #862 from sajith/3477.remove-vcpython27-from-ci
Do not install vcpython27 during Windows CI steps

Fixes: ticket: 3477
2020-11-24 18:13:03 -05:00
Jean-Paul Calderone
80d2ecb815 news fragment 2020-11-24 14:52:17 -05:00
Jean-Paul Calderone
737f1f21e1 news fragment 2020-11-24 14:04:35 -05:00
Jean-Paul Calderone
d03dece4de news fragment 2020-11-23 15:14:12 -05:00
Jean-Paul Calderone
45a8351367 news fragment 2020-11-20 16:02:50 -05:00
Itamar Turner-Trauring
0d652a3af1 News file. 2020-11-20 14:06:31 -05:00
Itamar Turner-Trauring
38275cbe6f Merge remote-tracking branch 'origin/master' into 3502.mutable-python-3-part-2 2020-11-19 13:43:10 -05:00
Jean-Paul Calderone
c4a67d6b8c news fragment 2020-11-19 11:12:21 -05:00
Jean-Paul Calderone
ff8906ecb2 Describe the installation requirement change 2020-11-19 09:34:17 -05:00
Jean-Paul Calderone
1637769c81 It's gonna be an installation change 2020-11-19 09:22:46 -05:00
Jean-Paul Calderone
0eb9a491ee news fragment 2020-11-19 09:12:50 -05:00
Jean-Paul Calderone
4c19d9f1fa Target the non-duplicate ticket 2020-11-18 18:13:43 -05:00
Jean-Paul Calderone
0b45c9b1cc news fragment 2020-11-18 15:41:56 -05:00
Jean-Paul Calderone
fefc91ea49 news fragment 2020-11-18 14:48:33 -05:00
Jean-Paul Calderone
aedac9d570 news fragment 2020-11-18 11:02:58 -05:00
Itamar Turner-Trauring
dd5092f656 News fragment. 2020-11-17 13:15:52 -05:00
Itamar Turner-Trauring
9b8b0b1946 News fragment. 2020-11-17 09:33:44 -05:00
Jean-Paul Calderone
bcef851ae0 news fragment 2020-11-13 21:08:19 -05:00
Jean-Paul Calderone
983800d593 news fragment 2020-11-13 12:35:03 -05:00
Itamar Turner-Trauring
a0845d8a8a News fragment. 2020-11-12 11:25:03 -05:00
Itamar Turner-Trauring
8aa77e1195 News fragment. 2020-11-11 14:01:16 -05:00
Itamar Turner-Trauring
0e9d75f6c4 News fragment. 2020-11-11 13:52:30 -05:00
Itamar Turner-Trauring
0e27e7eba1 Merge branch '3496.mutable-tests-python-3-part-3' into 3500.mutable-tests-python-3 2020-11-09 13:46:19 -05:00
Chad Whitacre
80f31c37f4 Sigh 2020-11-06 20:06:48 -05:00
Itamar Turner-Trauring
56c9af0a07 News file. 2020-11-06 11:44:13 -05:00
Itamar Turner-Trauring
6017b11910 Merge branch '3475.mutable-tests-part-2-python-3' into 3496.mutable-tests-python-3-part-3 2020-11-06 11:20:54 -05:00
Itamar Turner-Trauring
eab228f22a
Merge pull request #887 from tahoe-lafs/3465.storage_client-python-3-take-2
Port storage_client to Python 3

Fixes ticket:3465
2020-11-06 11:18:31 -05:00
Itamar Turner-Trauring
7569617e47 News file. 2020-11-06 10:21:47 -05:00
Itamar Turner-Trauring
2c8a91fb6e
Merge pull request #883 from tahoe-lafs/3493.node-to-python-3
Port allmydata.node to python 3

Fixes ticket:3493
2020-11-04 13:44:21 -05:00
Itamar Turner-Trauring
4c4f7f8fa1 News file. 2020-11-04 13:41:00 -05:00
meejah
2472d78916
Merge pull request #879 from meejah/code-of-conduct-node
note about further contributions
2020-11-03 12:51:03 -07:00
Jean-Paul Calderone
55c83106ed
Merge pull request #880 from tahoe-lafs/3492.run-deprecations-cleanup
run-deprecations.py cleanup

Fixes: ticket:3492
2020-10-31 19:25:59 -04:00
Jean-Paul Calderone
540c70f835
Merge pull request #871 from exarkun/2928.remote-allocate_tcp_port-test_node.py
Remove `allocate_tcp_port` from test_node.py

Fixes: ticket:2928
2020-10-31 19:24:09 -04:00
Jean-Paul Calderone
7ad55e0fba Merge remote-tracking branch 'origin/master' into 2928.remote-allocate_tcp_port-test_node.py 2020-10-31 11:42:01 -04:00
Chad Whitacre
a615049c9d
Merge pull request #884 from tahoe-lafs/3479.blip
Put news fragment in its place
2020-10-30 17:16:46 -04:00
Chad Whitacre
266b707d25
Merge pull request #861 from tahoe-lafs/3474.easy-ports
Port some easy files to Python 3
2020-10-30 13:33:34 -04:00
Chad Whitacre
ea039271ad Put news fragment in its place 2020-10-30 12:33:49 -04:00
Itamar Turner-Trauring
c48228a988 News file. 2020-10-29 14:09:39 -04:00
Jean-Paul Calderone
9a4df38db9
Merge pull request #878 from tahoe-lafs/3490.integration-codechecks
Run static codechecks on the implementation of the integration test suite

Fixes: ticket:3490
2020-10-29 09:08:26 -04:00
Jean-Paul Calderone
125bb5f15f
Merge pull request #881 from tahoe-lafs/3283.backdoor-statement-signatures
Add some backdoor statement signatures

Fixes: ticket:3283
2020-10-28 15:25:01 -04:00
Chad Whitacre
a10c2606f4
Merge pull request #868 from tahoe-lafs/3468.offloaded-test-coverage
More test coverage for the upload helper
2020-10-28 15:20:34 -04:00
Chad Whitacre
d04b6c103a Pick off a couple of easy ports 2020-10-28 14:57:10 -04:00
Jean-Paul Calderone
17dbbe0642 Merge remote-tracking branch 'origin/master' into 3283.backdoor-statement-signatures 2020-10-28 09:55:30 -04:00
Itamar Turner-Trauring
2f0a5d91cb
Merge pull request #877 from tahoe-lafs/3485.backported-configparser-for-py-2
Backported configparser for Python 2

Fixes ticket:3485
2020-10-27 16:58:46 -04:00
Jean-Paul Calderone
463439a615 news fragment 2020-10-27 14:27:02 -04:00
meejah
caf606768f news 2020-10-27 10:56:47 -06:00
Jean-Paul Calderone
874bfa72fd
Merge pull request #874 from tahoe-lafs/3488.pre-push
Configure pre-commit to do codechecks pre-push only

Fixes: ticket:3488
2020-10-27 10:31:45 -04:00
Jean-Paul Calderone
900c25c78b news fragment 2020-10-27 09:29:13 -04:00
Itamar Turner-Trauring
d5333ae9f9 Merge remote-tracking branch 'origin/master' into 3485.backported-configparser-for-py-2 2020-10-26 16:53:19 -04:00
Itamar Turner-Trauring
7ed34168b2 News file. 2020-10-26 16:08:38 -04:00
Jean-Paul Calderone
25ee76104a
Merge pull request #872 from tahoe-lafs/3486.netifaces
Switch to netifaces

Fixes: ticket:3486
2020-10-26 11:55:31 -04:00
Jean-Paul Calderone
8dec56d714 news fragment 2020-10-23 14:53:00 -04:00
Chad Whitacre
725291c2aa Merge branch 'master' into 3468.offloaded-test-coverage 2020-10-23 12:08:48 -04:00
Chad Whitacre
f0657aec69
Merge pull request #853 from tahoe-lafs/3346.port-immutable-offloaded
Port immutable.offloaded to Python 3
2020-10-23 12:05:20 -04:00
Jean-Paul Calderone
ed5d472209 news fragment 2020-10-23 09:52:07 -04:00
Jean-Paul Calderone
c2dd4dbeb9 news fragment 2020-10-22 14:42:21 -04:00
Jean-Paul Calderone
8239d92892 news fragment 2020-10-22 12:04:48 -04:00
Jean-Paul Calderone
e2013e9ebb news fragment 2020-10-21 10:17:43 -04:00
Jean-Paul Calderone
5f10f1e382 Remove Nevow from the tool version helper 2020-10-21 10:17:21 -04:00
Jean-Paul Calderone
9b8b7a5d86 Remove Nevow from the static script 2020-10-21 10:16:44 -04:00
Jean-Paul Calderone
e028c69642 News fragment 2020-10-21 10:03:38 -04:00
Jean-Paul Calderone
7ca8ede88c Merge remote-tracking branch 'origin/master' into 3428.dont-return-deferred-to-twistedweb.2 2020-10-21 07:35:10 -04:00
Jean-Paul Calderone
8adc8f2d3e
Merge pull request #866 from tahoe-lafs/3481.integration-vs-introducer-vs-addresses
Expand success cases and improve failure cases for integration test introducer setup

Fixes: ticket:3481
2020-10-20 12:32:34 -04:00
Jean-Paul Calderone
e7c04f8810 another news fragment! 2020-10-19 15:41:38 -04:00
Jean-Paul Calderone
a403d25146 Merge remote-tracking branch 'origin/master' into 3468.offloaded-test-coverage 2020-10-16 14:34:35 -04:00
Jean-Paul Calderone
540004f319 news fragment 2020-10-16 14:18:32 -04:00
Jean-Paul Calderone
960d115286 news fragment 2020-10-16 11:25:37 -04:00
Jean-Paul Calderone
28505ab57d news fragment 2020-10-16 10:38:58 -04:00
Itamar Turner-Trauring
c2fe5a65a6
Merge pull request #847 from tahoe-lafs/3459.test-checker-python-3
Port test_checker.py to Python 3

Fixes ticket:3459
2020-10-16 10:31:25 -04:00
Jean-Paul Calderone
f15086d995
Merge pull request #844 from tahoe-lafs/3460.improved-got_announcement
Improved `_got_announcement`

Fixes: ticket:3460
2020-10-16 08:55:11 -04:00
Jean-Paul Calderone
d66ef8f506 Merge remote-tracking branch 'origin/master' into 3472.windows-coverage-reports 2020-10-16 06:53:10 -04:00
Jean-Paul Calderone
99fe617069
Merge pull request #857 from tahoe-lafs/3470.oneshotobserverlist-immediately
Make OneShotObserverList immediate

Fixes: ticket:3470
2020-10-15 17:37:31 -04:00
Jean-Paul Calderone
733d393a07
Merge pull request #840 from tahoe-lafs/3454.unskip-test_python3
Unskip the Python 3 porting test on Python 2

Fixes: ticket:3454
2020-10-15 17:32:59 -04:00
meejah
bd5887d409 news 2020-10-15 14:56:44 -06:00
Sajith Sasidharan
525f2201c6 Do not install vcpython27 during Windows CI steps
With zfec 1.5.4, wheel packages for Windows is available now.
Installing a compiler is no longer necessary.
2020-10-15 14:17:53 -04:00
Jean-Paul Calderone
4d56b5f4ed
Merge pull request #858 from tahoe-lafs/3471.immediate-localwrapper
Allow LocalWrapper to be immediate

Fixes: ticket:3471
2020-10-15 13:15:35 -04:00
Itamar Turner-Trauring
b658a66e7f Merge remote-tracking branch 'origin/master' into 3459.test-checker-python-3 2020-10-15 08:32:53 -04:00
Itamar Turner-Trauring
b094a00458
Merge pull request #860 from tahoe-lafs/3473-mutable-tests-part-1-python-3
Port allmydata.mutable.tests to Python 3: part 1 of N

Fixes ticket:3473
2020-10-15 08:27:45 -04:00
Itamar Turner-Trauring
03fcc0c9b4 News file. 2020-10-14 15:46:51 -04:00
Jean-Paul Calderone
fbe15cb5ad news fragment 2020-10-14 12:46:17 -04:00
Jean-Paul Calderone
91a20459a1 news fragment 2020-10-14 11:09:01 -04:00
Jean-Paul Calderone
0eb0d68886 news fragment 2020-10-14 10:58:50 -04:00
Jean-Paul Calderone
0dcbad9d0c news fragment 2020-10-14 10:57:06 -04:00
meejah
21b0eefed9 newsfragment 2020-10-13 16:38:25 -06:00
meejah
4990d90ae6 update NEWS.txt for release 2020-10-13 14:34:11 -06:00
Chad Whitacre
a0963fc2da Keep future.builtins imports consistent
- remove int from a stock import
- comment a non-stock import
2020-10-13 08:39:25 -04:00
Chad Whitacre
574c63d350 Port immutable.offloaded to Python 3 2020-10-12 07:25:44 -04:00
Itamar Turner-Trauring
17f0676b3f
Merge branch 'master' into 3459.test-checker-python-3 2020-10-09 10:22:17 -04:00
Ross Patterson
cc8c9c0bdf
Merge pull request #851 from tahoe-lafs/3464.cleanup-bbb-comments
#3455: Address feedback, BBB comments
2020-10-08 13:49:34 -07:00
Ross Patterson
95f2d53f92 chore(refs #3455) Address feedback, BBB comments
https://github.com/tahoe-lafs/tahoe-lafs/pull/845#issuecomment-704469561
2020-10-07 12:28:41 -07:00
Itamar Turner-Trauring
d519d4b2fa
Merge branch 'master' into 3463.more-immutable-python-3 2020-10-07 13:22:04 -04:00
Itamar Turner-Trauring
72cc37bb95
Merge pull request #843 from tahoe-lafs/3458.callremote-unicode
Fix callRemote unicode issues on Python 2 universally, using monkeypatching

Fixes ticket:3458
2020-10-07 13:21:19 -04:00
Itamar Turner-Trauring
af95769927 Merge branch '3458.callremote-unicode' into 3463.more-immutable-python-3 2020-10-07 09:53:30 -04:00
Itamar Turner-Trauring
a7e5847f52 News file. 2020-10-07 09:30:26 -04:00
Itamar Turner-Trauring
1a9c4232aa News file 2020-10-06 11:14:43 -04:00
Ross Patterson
e89bbe1601
Merge pull request #845 from tahoe-lafs/3455.python-3-port-node-round1
3455: Round 1 of porting `allmydata.node`
2020-10-05 08:32:28 -07:00
Itamar Turner-Trauring
a4ce3b42ef News fragment. 2020-10-05 11:01:37 -04:00
Itamar Turner-Trauring
fe6917b48b Merge remote-tracking branch 'origin/master' into 3458.callremote-unicode 2020-10-05 10:24:36 -04:00
Chad Whitacre
2fe2acf4c7
Merge pull request #842 from tahoe-lafs/3456.bye-bye-common_py3
Fold common_py3 back into other files
2020-10-05 08:03:18 -04:00
Ross Patterson
f1da68f340 feat(py3): Fix config from string compatibility
I did an audit of the code base and AFAICT the `node.config_from_string(...)` is only
used internally.  Much of that usage is in tests where most of the usages feed in
non-specific, simple `"..."` string literals (IOW, bytes under py2, unicode under py3) while one
test module used `b"..."` byte string literals.  Given all that it seems to me that the
best goal would be to use simple string literals throughout the usage of
`node.config_from_string(...)` and have only one special case in that function to handle
the difference between versions.

I just discovered that running the test with `TEST_SUITE=allmydata` doesn't run the
tests in `allmydata.test.test_node` but running them with
`TEST_SUITE=allmydata.test.test_node` does run them.  I'm trying to figure out why that
is, but in the meantime here are the differences in the Python 3 test output when
running just the `allmydata.test.test_node` tests.  This changes converts 11 tests from
errros to success, changes the specific errors for others and improves coverage a bit:

```diff
--- ../../.tox/make-test-py3-all-old.log	2020-10-01 11:56:15.428609940 -0700
+++ ../../.tox/make-test-py3-all-new.log	2020-10-01 11:56:55.052792565 -0700
@@ -95,9 +95,9 @@
     tor_provider,
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/introducer/server.py", line 87, in __init__
     node.Node.__init__(self, config, main_tub, control_tub, i2p_provider, tor_provider)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 734, in __init__
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 739, in __init__
     self.setup_logging()
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 826, in setup_logging
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 831, in setup_logging
     newmeth = types.UnboundMethodType(formatTimeTahoeStyle, ob, ob.__class__)
 builtins.AttributeError: module 'types' has no attribute 'UnboundMethodType'

@@ -158,53 +158,29 @@
 (#.### secs)
 allmydata.test.test_node.TestCase.test_config_required ... [OK]
 (#.### secs)
-allmydata.test.test_node.TestCase.test_location1 ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 112, in test_location1
-    tub_location="192.0.2.0:1234")
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 99, in _test_location
-    tub = testing_tub(config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 53, in testing_tub
-    config = config_from_string(basedir, 'DEFAULT_PORTNUMFILE_BLANK', config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestCase.test_location1 ... [OK]
 (#.### secs)
 allmydata.test.test_node.TestCase.test_location2 ... Traceback (most recent call last):
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 117, in test_location2
     tub_location="192.0.2.0:1234,example.org:8091")
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 99, in _test_location
     tub = testing_tub(config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 53, in testing_tub
-    config = config_from_string(basedir, 'DEFAULT_PORTNUMFILE_BLANK', config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 65, in testing_tub
+    cert_filename='DEFAULT_CERTFILE_BLANK'
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 669, in create_main_tub
+    portlocation = _tub_portlocation(config)
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 596, in _tub_portlocation
+    tubport = _convert_tub_port(file_tubport)
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 552, in _convert_tub_port
+    if re.search(r'^\d+$', s):
+  File "/usr/lib/python3.6/re.py", line 182, in search
+    return _compile(pattern, flags).search(string)
+builtins.TypeError: cannot use a string pattern on a bytes-like object
 [ERROR]
 (#.### secs)
-allmydata.test.test_node.TestCase.test_location_auto_and_explicit ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 142, in test_location_auto_and_explicit
-    local_addresses=["127.0.0.1", "192.0.2.0", "example.com:4321"],
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 99, in _test_location
-    tub = testing_tub(config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 53, in testing_tub
-    config = config_from_string(basedir, 'DEFAULT_PORTNUMFILE_BLANK', config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestCase.test_location_auto_and_explicit ... [OK]
 (#.### secs)
-allmydata.test.test_node.TestCase.test_location_not_set ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 128, in test_location_not_set
-    local_addresses=["127.0.0.1", "192.0.2.0"],
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 99, in _test_location
-    tub = testing_tub(config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 53, in testing_tub
-    config = config_from_string(basedir, 'DEFAULT_PORTNUMFILE_BLANK', config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestCase.test_location_not_set ... [OK]
 (#.### secs)
 allmydata.test.test_node.TestCase.test_logdir_is_str ... Traceback (most recent call last):
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 340, in test_logdir_is_str
@@ -215,27 +191,31 @@
     storage_broker,
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/client.py", line 676, in __init__
     node.Node.__init__(self, config, main_tub, control_tub, i2p_provider, tor_provider)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 734, in __init__
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 739, in __init__
     self.setup_logging()
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 826, in setup_logging
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 831, in setup_logging
     newmeth = types.UnboundMethodType(formatTimeTahoeStyle, ob, ob.__class__)
 builtins.AttributeError: module 'types' has no attribute 'UnboundMethodType'
 [ERROR]
 (#.### secs)
 allmydata.test.test_node.TestCase.test_private_config ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 259, in test_private_config
-    config = config_from_string(basedir, "", "")
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 261, in test_private_config
+    self.assertEqual(config.get_private_config("already"), "secret")
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/.tox/py36-coverage/lib/python3.6/site-packages/twisted/trial/_synctest.py", line 434, in assertEqual
+    super(_Assertions, self).assertEqual(first, second, msg)
+  File "/usr/lib/python3.6/unittest/case.py", line 829, in assertEqual
+    assertion_func(first, second, msg=msg)
+  File "/usr/lib/python3.6/unittest/case.py", line 822, in _baseAssertEqual
+    raise self.failureException(msg)
+twisted.trial.unittest.FailTest: b'secret' != 'secret'
+[FAILURE]
 (#.### secs)
 allmydata.test.test_node.TestCase.test_private_config_missing ... [OK]
 (#.### secs)
 allmydata.test.test_node.TestCase.test_private_config_unreadable ... Traceback (most recent call last):
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 213, in test_private_config_unreadable
     config.get_or_create_private_config("foo", "contents")
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 369, in get_or_create_private_config
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 374, in get_or_create_private_config
     fileutil.write(privname, value)
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/util/fileutil.py", line 275, in write
     f.write(data)
@@ -258,77 +238,33 @@
 (#.### secs)
 allmydata.test.test_node.TestCase.test_timestamp ... [OK]
 (#.### secs)
-allmydata.test.test_node.TestCase.test_write_config_unwritable_file ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 288, in test_write_config_unwritable_file
-    config = config_from_string(basedir, "", "")
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestCase.test_write_config_unwritable_file ... [OK]
 (#.### secs)
-allmydata.test.test_node.TestMissingPorts.test_disabled_port_not_tub ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 488, in test_disabled_port_not_tub
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestMissingPorts.test_disabled_port_not_tub ... [OK]
 (#.### secs)
-allmydata.test.test_node.TestMissingPorts.test_disabled_tub_not_port ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 506, in test_disabled_tub_not_port
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestMissingPorts.test_disabled_tub_not_port ... [OK]
 (#.### secs)
-allmydata.test.test_node.TestMissingPorts.test_empty_tub_location ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 470, in test_empty_tub_location
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestMissingPorts.test_empty_tub_location ... [OK]
 (#.### secs)
-allmydata.test.test_node.TestMissingPorts.test_empty_tub_port ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 453, in test_empty_tub_port
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestMissingPorts.test_empty_tub_port ... [OK]
 (#.### secs)
-allmydata.test.test_node.TestMissingPorts.test_parsing_all_disabled ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 439, in test_parsing_all_disabled
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestMissingPorts.test_parsing_all_disabled ... [OK]
 (#.### secs)
-allmydata.test.test_node.TestMissingPorts.test_parsing_defaults ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 392, in test_parsing_defaults
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestMissingPorts.test_parsing_defaults ... [OK]
 (#.### secs)
 allmydata.test.test_node.TestMissingPorts.test_parsing_location_complex ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 415, in test_parsing_location_complex
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 418, in test_parsing_location_complex
+    tubport, tublocation = _tub_portlocation(config)
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 596, in _tub_portlocation
+    tubport = _convert_tub_port(file_tubport)
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 552, in _convert_tub_port
+    if re.search(r'^\d+$', s):
+  File "/usr/lib/python3.6/re.py", line 182, in search
+    return _compile(pattern, flags).search(string)
+builtins.TypeError: cannot use a string pattern on a bytes-like object
 [ERROR]
 (#.### secs)
-allmydata.test.test_node.TestMissingPorts.test_parsing_tcp ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 370, in test_parsing_tcp
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-[ERROR]
+allmydata.test.test_node.TestMissingPorts.test_parsing_tcp ... [OK]
 (#.### secs)

 ===============================================================================
@@ -415,9 +351,9 @@
     tor_provider,
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/introducer/server.py", line 87, in __init__
     node.Node.__init__(self, config, main_tub, control_tub, i2p_provider, tor_provider)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 734, in __init__
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 739, in __init__
     self.setup_logging()
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 826, in setup_logging
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 831, in setup_logging
     newmeth = types.UnboundMethodType(formatTimeTahoeStyle, ob, ob.__class__)
 builtins.AttributeError: module 'types' has no attribute 'UnboundMethodType'

@@ -449,6 +385,20 @@

 allmydata.test.test_node.TestCase.test_config_items
 ===============================================================================
+[FAIL]
+Traceback (most recent call last):
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 261, in test_private_config
+    self.assertEqual(config.get_private_config("already"), "secret")
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/.tox/py36-coverage/lib/python3.6/site-packages/twisted/trial/_synctest.py", line 434, in assertEqual
+    super(_Assertions, self).assertEqual(first, second, msg)
+  File "/usr/lib/python3.6/unittest/case.py", line 829, in assertEqual
+    assertion_func(first, second, msg=msg)
+  File "/usr/lib/python3.6/unittest/case.py", line 822, in _baseAssertEqual
+    raise self.failureException(msg)
+twisted.trial.unittest.FailTest: b'secret' != 'secret'
+
+allmydata.test.test_node.TestCase.test_private_config
+===============================================================================
 [ERROR]
 Traceback (most recent call last):
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 657, in test_disabled
@@ -503,62 +453,26 @@
 ===============================================================================
 [ERROR]
 Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 112, in test_location1
-    tub_location="192.0.2.0:1234")
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 99, in _test_location
-    tub = testing_tub(config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 53, in testing_tub
-    config = config_from_string(basedir, 'DEFAULT_PORTNUMFILE_BLANK', config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestCase.test_location1
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 117, in test_location2
     tub_location="192.0.2.0:1234,example.org:8091")
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 99, in _test_location
     tub = testing_tub(config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 53, in testing_tub
-    config = config_from_string(basedir, 'DEFAULT_PORTNUMFILE_BLANK', config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 65, in testing_tub
+    cert_filename='DEFAULT_CERTFILE_BLANK'
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 669, in create_main_tub
+    portlocation = _tub_portlocation(config)
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 596, in _tub_portlocation
+    tubport = _convert_tub_port(file_tubport)
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 552, in _convert_tub_port
+    if re.search(r'^\d+$', s):
+  File "/usr/lib/python3.6/re.py", line 182, in search
+    return _compile(pattern, flags).search(string)
+builtins.TypeError: cannot use a string pattern on a bytes-like object

 allmydata.test.test_node.TestCase.test_location2
 ===============================================================================
 [ERROR]
 Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 142, in test_location_auto_and_explicit
-    local_addresses=["127.0.0.1", "192.0.2.0", "example.com:4321"],
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 99, in _test_location
-    tub = testing_tub(config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 53, in testing_tub
-    config = config_from_string(basedir, 'DEFAULT_PORTNUMFILE_BLANK', config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestCase.test_location_auto_and_explicit
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 128, in test_location_not_set
-    local_addresses=["127.0.0.1", "192.0.2.0"],
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 99, in _test_location
-    tub = testing_tub(config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 53, in testing_tub
-    config = config_from_string(basedir, 'DEFAULT_PORTNUMFILE_BLANK', config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestCase.test_location_not_set
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 340, in test_logdir_is_str
     yield client.create_client(basedir)
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/.tox/py36-coverage/lib/python3.6/site-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks
@@ -567,9 +481,9 @@
     storage_broker,
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/client.py", line 676, in __init__
     node.Node.__init__(self, config, main_tub, control_tub, i2p_provider, tor_provider)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 734, in __init__
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 739, in __init__
     self.setup_logging()
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 826, in setup_logging
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 831, in setup_logging
     newmeth = types.UnboundMethodType(formatTimeTahoeStyle, ob, ob.__class__)
 builtins.AttributeError: module 'types' has no attribute 'UnboundMethodType'

@@ -577,19 +491,9 @@
 ===============================================================================
 [ERROR]
 Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 259, in test_private_config
-    config = config_from_string(basedir, "", "")
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestCase.test_private_config
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 213, in test_private_config_unreadable
     config.get_or_create_private_config("foo", "contents")
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 369, in get_or_create_private_config
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 374, in get_or_create_private_config
     fileutil.write(privname, value)
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/util/fileutil.py", line 275, in write
     f.write(data)
@@ -607,97 +511,21 @@
 ===============================================================================
 [ERROR]
 Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 288, in test_write_config_unwritable_file
-    config = config_from_string(basedir, "", "")
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestCase.test_write_config_unwritable_file
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 488, in test_disabled_port_not_tub
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestMissingPorts.test_disabled_port_not_tub
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 506, in test_disabled_tub_not_port
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestMissingPorts.test_disabled_tub_not_port
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 470, in test_empty_tub_location
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestMissingPorts.test_empty_tub_location
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 453, in test_empty_tub_port
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestMissingPorts.test_empty_tub_port
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 439, in test_parsing_all_disabled
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestMissingPorts.test_parsing_all_disabled
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 392, in test_parsing_defaults
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestMissingPorts.test_parsing_defaults
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 415, in test_parsing_location_complex
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 418, in test_parsing_location_complex
+    tubport, tublocation = _tub_portlocation(config)
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 596, in _tub_portlocation
+    tubport = _convert_tub_port(file_tubport)
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 552, in _convert_tub_port
+    if re.search(r'^\d+$', s):
+  File "/usr/lib/python3.6/re.py", line 182, in search
+    return _compile(pattern, flags).search(string)
+builtins.TypeError: cannot use a string pattern on a bytes-like object

 allmydata.test.test_node.TestMissingPorts.test_parsing_location_complex
-===============================================================================
-[ERROR]
-Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_node.py", line 370, in test_parsing_tcp
-    config = config_from_string(self.basedir, "portnum", config_data)
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/node.py", line 209, in config_from_string
-    parser.readfp(BytesIO(config_str))
-builtins.TypeError: a bytes-like object is required, not 'str'
-
-allmydata.test.test_node.TestMissingPorts.test_parsing_tcp
 -------------------------------------------------------------------------------
-Ran 34 tests in 2.788s
+Ran 34 tests in 2.516s

-FAILED (failures=4, errors=21, successes=9)
+FAILED (failures=5, errors=9, successes=20)
 Name                                                 Stmts   Miss Branch BrPart  Cover   Missing
 ------------------------------------------------------------------------------------------------
 src/allmydata/__init__.py                               16      4      0      0    75%   18-22, 28-32
@@ -751,7 +579,7 @@
 src/allmydata/mutable/repairer.py                       57     37     18      0    29%   13, 15, 17, 19, 29-34, 65-71, 74-126, 129-131
 src/allmydata/mutable/retrieve.py                      489    411    120      0    13%   29-43, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 67-69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89-90, 105-160, 164, 167-171, 174-175, 186-193, 201-208, 211-212, 223-227, 230-232, 236-254, 257-275, 278-283, 286-332, 344-354, 362-454, 485-516, 529-540, 564-578, 586-597, 607-633, 643-663, 671-699, 712-729, 738-798, 806-829, 839-889, 897-905, 909-910, 919-941, 950-971, 981-994, 999-1005
 src/allmydata/mutable/servermap.py                     623    524    198      0    12%   26-38, 41-42, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 70, 72, 74, 76, 78, 80, 82, 116-124, 130-139, 142, 145, 148, 159-161, 165, 170-172, 175, 177, 180-181, 183, 186-199, 202, 206, 213, 217-220, 225-228, 231, 234-238, 243-252, 255-259, 263-265, 269-275, 280-290, 295-305, 311-315, 320-322, 328-350, 358-363, 370-372, 379, 390-450, 454, 457-461, 466-545, 549-557, 560-575, 578-593, 596-613, 623-638, 642-779, 787, 791-799, 803-804, 816-880, 883-904, 910-914, 919-920, 928-944, 960-974, 981-998, 1002-1012, 1020-1183, 1186-1205, 1209-1225, 1228-1229
-src/allmydata/node.py                                  388    106    146     39    69%   120, 132, 190, 211-213, 241, 243-245, 278, 284, 291-295, 303-306, 315, 320, 339, 341, 361, 368, 370, 377-379, 393-396, 422, 424, 449, 453, 490, 493, 500, 511-512, 547-549, 566, 574, 581, 583, 590-591, 597, 601, 612, 622-634, 679, 681, 736-750, 756, 764, 792-805, 808-809, 814-815, 827-846, 189->190, 204->208, 240->241, 242->243, 277->278, 314->315, 319->320, 338->339, 340->341, 360->361, 365->368, 391->393, 421->422, 423->424, 448->449, 451->453, 489->490, 492->493, 499->500, 510->511, 565->566, 567->570, 573->574, 575->578, 580->581, 582->583, 585->597, 589->590, 600->601, 603->606, 610->616, 611->612, 618->622, 673->679, 680->681, 763->764, 766->768, 821->830, 823->821
+src/allmydata/node.py                                  391     87    148     30    75%   20, 125, 137, 195, 246, 248-250, 283, 289, 308-311, 320, 325, 344, 346, 366, 373, 375, 382-384, 398-401, 427, 429, 454, 458, 495, 498, 505, 516-517, 606, 617, 634-638, 684, 686, 741-755, 761, 769, 797-810, 813-814, 819-820, 832-851, 19->20, 194->195, 209->213, 245->246, 247->248, 282->283, 319->320, 324->325, 343->344, 345->346, 365->366, 370->373, 396->398, 426->427, 428->429, 453->454, 456->458, 494->495, 497->498, 504->505, 515->516, 605->606, 616->617, 627->634, 678->684, 685->686, 768->769, 771->773, 826->835, 828->826
 src/allmydata/nodemaker.py                              97     71     38      0    21%   23-33, 36, 38, 41, 44-47, 49, 53-95, 98-115, 118-125, 129-138, 141-150
 src/allmydata/scripts/admin.py                          51     31      2      0    38%   9-14, 17-21, 25, 28, 31-37, 40-46, 56-57, 59, 61-66, 74-78
 src/allmydata/scripts/backupdb.py                      146    146     14      0     0%   1-341
@@ -810,7 +638,7 @@
 src/allmydata/util/dictutil.py                          38     22     12      1    34%   16, 21-24, 27-31, 34-38, 55-56, 59-60, 63-64, 71, 77-78, 12->16
 src/allmydata/util/eliotutil.py                        115     68     24      0    35%   82-85, 91-94, 104, 117-122, 129-139, 151, 155-159, 163-167, 179-186, 198-199, 202-210, 222-226, 231-247, 250, 266-294, 308-312
 src/allmydata/util/encodingutil.py                     217    123     80     12    36%   18, 37-38, 41, 43, 52-53, 69, 75-78, 102, 108, 114-122, 130-134, 145-155, 164, 173-175, 178-181, 187, 196-213, 217-231, 237-243, 279-282, 291-296, 314, 320-322, 327, 334-340, 343-355, 358-363, 366-367, 370-373, 379, 395-405, 412-420, 423, 429, 16->18, 36->37, 40->41, 42->43, 66->69, 72->74, 74->75, 278->279, 285->295, 288->291, 299->310, 319->320
-src/allmydata/util/fileutil.py                         343    244    120     13    25%   15, 23-25, 47-55, 71-85, 96-97, 100, 103, 106, 109, 115-116, 119-125, 128, 131, 134, 137-138, 142-145, 151-153, 158, 166-176, 179-184, 201-203, 214-237, 241-244, 247-254, 262, 279, 282-290, 293-304, 326, 328, 336-342, 348, 351, 358, 366-376, 382-400, 405, 410-426, 434-462, 486-529, 548-554, 566-568, 573-604, 608-612, 615-627, 633, 636-659, 13->15, 22->23, 200->201, 259->262, 325->326, 327->328, 332->336, 345->351, 347->348, 357->358, 380->382, 404->405, 571->573
+src/allmydata/util/fileutil.py                         343    243    120     13    25%   15, 23-25, 47-55, 71-85, 96-97, 100, 103, 106, 109, 115-116, 119-125, 128, 131, 134, 137-138, 142-145, 151-153, 158, 166-176, 179-184, 201-203, 214-237, 241-244, 247-254, 262, 282-290, 293-304, 326, 328, 336-342, 348, 351, 358, 366-376, 382-400, 405, 410-426, 434-462, 486-529, 548-554, 566-568, 573-604, 608-612, 615-627, 633, 636-659, 13->15, 22->23, 200->201, 259->262, 325->326, 327->328, 332->336, 345->351, 347->348, 357->358, 380->382, 404->405, 571->573
 src/allmydata/util/gcutil.py                            23      3      8      3    81%   20, 51-57, 19->20, 50->51, 64->exit
 src/allmydata/util/happinessutil.py                     77     62     42      1    13%   15, 25-54, 64-69, 82-92, 142-183, 207-223, 235-249, 13->15
 src/allmydata/util/hashutil.py                         157     76      8      1    50%   14, 40-42, 45-46, 49-56, 60-62, 66-68, 72-76, 118, 122, 126, 130, 134, 138, 142, 146, 150, 154, 158, 162, 166, 174-176, 180-183, 187, 191, 195, 199, 204, 209-210, 214-215, 219, 223-228, 232, 236, 240, 244, 248-250, 254, 258, 262, 266, 270-271, 278, 282, 12->14
@@ -818,7 +646,7 @@
 src/allmydata/util/i2p_provider.py                     121     73     36      5    35%   44-67, 72-81, 85-135, 151-161, 168, 176-180, 183-184, 187, 193-216, 219, 226, 167->168, 175->176, 182->183, 186->187, 192->193
 src/allmydata/util/idlib.py                              5      2      0      0    60%   6, 9
 src/allmydata/util/iputil.py                           172     74     56     12    52%   14, 63-102, 123-140, 151-184, 209, 216, 229, 237-238, 242, 246, 254-257, 271-277, 328-329, 353-354, 13->14, 215->216, 220->242, 226->229, 234->220, 239->234, 245->246, 249->259, 265->261, 291->329, 295->328, 360->exit
-src/allmydata/util/log.py                               52     27     16      1    38%   13, 38-41, 46-48, 51-61, 67-75, 78, 12->13
+src/allmydata/util/log.py                               52     23     16      2    46%   13, 46-48, 51-61, 67-75, 78, 12->13, 39->41
 src/allmydata/util/mathutil.py                          12      3      2      1    71%   16, 25-26, 15->16
 src/allmydata/util/netstring.py                         35     24     12      1    26%   13, 31-54, 12->13
 src/allmydata/util/observer.py                          91     56     20      1    32%   14, 29-32, 36-38, 41, 44, 47, 50-54, 57-60, 63-66, 69-70, 79, 82, 93-97, 103, 106, 109, 112-113, 119-121, 134, 137-139, 142-145, 148-151, 154-157, 13->14
@@ -854,7 +682,7 @@
 src/allmydata/windows/fixups.py                        133    133     54      0     0%   1-237
 src/allmydata/windows/registry.py                       42     42     12      0     0%   1-77
 ------------------------------------------------------------------------------------------------
-TOTAL                                                27467  22018   8248    184    17%
+TOTAL                                                27470  21994   8250    176    17%

 12 files skipped due to complete coverage.
 make[#]: Leaving directory '/home/rpatterson/src/work/sfu/tahoe-lafs'
```
2020-10-04 21:52:27 -07:00
Ross Patterson
447881a0e0 feat(py3): Cleanup redundant string cast
I confirmed that `add_version(...)` itself calls `str(...)` on the argument that
`things_version` is passed in to under both the Python 2.7 and Python 3.6 version of the
library so this is unnecessary here.

This results in an empty diff in py3 tests output.
2020-10-04 15:57:01 -07:00
Jean-Paul Calderone
7fd6a9e20b news fragment 2020-10-02 11:24:35 -04:00
Ross Patterson
8355e0b712 Merge branch '3448.convert-only-unicode-to-str'
Trac: fixes #3448
2020-10-01 12:23:04 -07:00
Itamar Turner-Trauring
5899cfdabd Fix callRemote unicode issues on Python 2 universally, using monkeypatching. 2020-10-01 10:48:09 -04:00
Itamar Turner-Trauring
bdf2dcd796
Merge pull request #839 from tahoe-lafs/3453.downloader-share-python-3
Port allmydata.immutable.downloader.share to Python 3

Fixes ticket:3453
2020-10-01 09:35:25 -04:00
Chad Whitacre
9ecf9f120f Let's start here, for once 2020-09-30 22:21:59 -04:00
Ross Patterson
fb87daad0b Merge branch 'master' into 3448.convert-only-unicode-to-str 2020-09-30 11:50:42 -07:00
Ross Patterson
10a24c3109 Merge branch '3442.minor-test-runner-changes' 2020-09-30 11:03:32 -07:00
Itamar Turner-Trauring
4051a17313 Merge remote-tracking branch 'origin/master' into 3453.downloader-share-python-3 2020-09-30 13:28:18 -04:00
Itamar Turner-Trauring
6c72c8b77f Merge branch '3451.immutable-downloader-start-python-3' into 3452.immutable-downloader-more-python-3 2020-09-30 11:52:37 -04:00
Ross Patterson
362c121426 feat(py3): Convert unicode-only modules to str
Modules that reference `unicode` but do *not* reference `str` can safely be converted to
use `str` in a way that's closest to the way it should be done under Python 3 but that
is still Python 2 compatible [per
`python-future`](https://python-future.org/compatible_idioms.html?highlight=unicode#unicode).

This change results in 4 additional tests passing under Python 3 that weren't before,
one previous test error is now a failure, and more coverage in a few modules.  Here's
the diff of the output from running all tests under Python 3 before these changes and
after.  I've elided the irrelevant changes (time stamps, object ids, etc.):

```diff
--- .tox/make-test-py3-all-old.log	2020-09-27 20:56:55.761691130 -0700
+++ .tox/make-test-py3-all-new.log	2020-09-27 20:58:16.242075678 -0700
@@ -1,6 +1,6 @@
...
@@ -4218,7 +4218,7 @@
 [ERROR]
 (#.### secs)
 allmydata.test.mutable.test_version.Version.test_download_version ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/mutable/test_version.py", line 274, in test_download_version
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/mutable/test_version.py", line 279, in test_download_version
     d = self.publish_multiple()
   File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/mutable/util.py", line 372, in publish_multiple
     self._nodemaker = make_nodemaker(self._storage)
@@ -4438,40 +4438,26 @@
 allmydata.test.test_abbreviate.Abbreviate.test_time ... [OK]
 (#.### secs)
 allmydata.test.test_auth.AccountFileCheckerKeyTests.test_authenticated ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_auth.py", line 42, in setUp
-    abspath = abspath_expanduser_unicode(unicode(self.account_file.path))
-builtins.NameError: name 'unicode' is not defined
+Failure: twisted.cred.error.UnauthorizedLogin:
 [ERROR]
 (#.### secs)
 allmydata.test.test_auth.AccountFileCheckerKeyTests.test_missing_signature ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_auth.py", line 42, in setUp
-    abspath = abspath_expanduser_unicode(unicode(self.account_file.path))
-builtins.NameError: name 'unicode' is not defined
-[ERROR]
+  File "/home/rpatterson/src/work/sfu/tahoe-lafs/.tox/py36-coverage/lib/python3.6/site-packages/twisted/trial/_asynctest.py", line 75, in _eb
+    raise self.failureException(output)
+twisted.trial.unittest.FailTest:
+Expected: (<class 'twisted.conch.error.ValidPublicKey'>,)
+Got:
+[Failure instance: Traceback (failure with no frames): <class 'twisted.cred.error.UnauthorizedLogin'>:
+]
+[FAILURE]
 (#.### secs)
-allmydata.test.test_auth.AccountFileCheckerKeyTests.test_password_auth_user ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_auth.py", line 42, in setUp
-    abspath = abspath_expanduser_unicode(unicode(self.account_file.path))
-builtins.NameError: name 'unicode' is not defined
-[ERROR]
+allmydata.test.test_auth.AccountFileCheckerKeyTests.test_password_auth_user ... [OK]
 (#.### secs)
-allmydata.test.test_auth.AccountFileCheckerKeyTests.test_unknown_user ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_auth.py", line 42, in setUp
-    abspath = abspath_expanduser_unicode(unicode(self.account_file.path))
-builtins.NameError: name 'unicode' is not defined
-[ERROR]
+allmydata.test.test_auth.AccountFileCheckerKeyTests.test_unknown_user ... [OK]
 (#.### secs)
-allmydata.test.test_auth.AccountFileCheckerKeyTests.test_unrecognized_key ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_auth.py", line 42, in setUp
-    abspath = abspath_expanduser_unicode(unicode(self.account_file.path))
-builtins.NameError: name 'unicode' is not defined
-[ERROR]
+allmydata.test.test_auth.AccountFileCheckerKeyTests.test_unrecognized_key ... [OK]
 (#.### secs)
-allmydata.test.test_auth.AccountFileCheckerKeyTests.test_wrong_signature ... Traceback (most recent call last):
-  File "/home/rpatterson/src/work/sfu/tahoe-lafs/src/allmydata/test/test_auth.py", line 42, in setUp
-    abspath = abspath_expanduser_unicode(unicode(self.account_file.path))
-builtins.NameError: name 'unicode' is not defined
-[ERROR]
+allmydata.test.test_auth.AccountFileCheckerKeyTests.test_wrong_signature ... [OK]
 (#.### secs)
 allmydata.test.test_backupdb.BackupDB.test_basic ... [OK]
 (#.### secs)
@@ -4615,7 +4601,7 @@
 src/allmydata/crypto/util.py                            12      2      4      2    75%   13, 32, 12->13, 30->32
 src/allmydata/deep_stats.py                             83     63     26      0    18%   27-52, 56-58, 62-82, 86-91, 94, 97, 103-114, 117-121, 125-131, 135
 src/allmydata/dirnode.py                               525    420    178      0    15%   70-103, 112-116, 119-135, 140-143, 146-160, 165-173, 176-177, 180-205, 208-217, 223-229, 248-286, 293-299, 302, 310, 315, 318-324, 327-332, 336-340, 344-346, 355-406, 410, 413, 416, 419, 422, 425, 428, 431-433, 436, 439, 442, 445, 448-450, 453, 457, 459, 464, 469-472, 475-478, 481-484, 489-492, 498-501, 504-507, 510-518, 530-532, 539-555, 558-566, 570-589, 600-610, 613-620, 628-641, 646-652, 657-678, 693-714, 752-761, 765-770, 774-812, 819-820, 825, 828, 831, 836-839, 842-849, 852-853, 862-877, 880-881, 884-891, 894, 897-899
-src/allmydata/frontends/auth.py                        100     71     28      0    26%   21-22, 30-48, 51, 54-56, 59-70, 80-87, 100-110, 117-118, 121, 124-142, 147-150, 156-159
+src/allmydata/frontends/auth.py                        100     52     28      4    47%   21-22, 38, 41-44, 51, 54-56, 65-70, 80-87, 106-108, 117-118, 121, 124-142, 147-150, 156-159, 37->38, 40->41, 59->65, 101->106
 src/allmydata/frontends/ftpd.py                        255    254     84      0     1%   4-337
 src/allmydata/frontends/sftpd.py                      1211   1208    488      0     1%   4-2014
 src/allmydata/hashtree.py                              174    135     72      1    16%   59, 75-78, 106-108, 114-117, 123-126, 132-136, 142-149, 152-162, 165-169, 172, 175, 180, 183, 186, 218-232, 259-262, 295-306, 320-323, 326-331, 384-484, 58->59
@@ -4653,7 +4639,7 @@
 src/allmydata/scripts/admin.py                          51     31      2      0    38%   9-14, 17-21, 25, 28, 31-37, 40-46, 56-57, 59, 61-66, 74-78
 src/allmydata/scripts/backupdb.py                      146     91     14      1    36%   84-91, 94-96, 99, 103, 106, 111-114, 117-119, 122, 125, 128, 176-221, 231-242, 245-263, 266-272, 308-324, 327-333, 336-341, 306->308
 src/allmydata/scripts/cli.py                           259    124     46      6    46%   25-49, 69-72, 79-81, 103, 142-146, 175, 221-222, 258, 265-266, 284-285, 330-331, 338-341, 346-355, 361-362, 366-373, 388, 405, 417, 432, 449, 479-481, 484-486, 489-491, 494-496, 499-501, 504-515, 518-520, 523-525, 528-530, 533, 536-538, 541-543, 546-548, 551-553, 556-558, 561-563, 566-568, 571-573, 576-577, 60->exit, 61->exit, 174->175, 180->exit, 181->exit, 219->221
-src/allmydata/scripts/common.py                        153     74     60      4    48%   64, 82, 88, 100, 114-126, 130-152, 159-163, 168-169, 172, 177, 191-236, 240-241, 47->49, 63->64, 79->82, 87->88
+src/allmydata/scripts/common.py                        154     74     60      4    49%   69, 87, 93, 105, 119-131, 135-157, 164-168, 173-174, 177, 182, 196-241, 245-246, 52->54, 68->69, 84->87, 92->93
 src/allmydata/scripts/common_http.py                    77     58     20      0    20%   15-30, 34-36, 38, 42-83, 87, 90, 94-96, 101
 src/allmydata/scripts/create_node.py                   302    185    114      8    30%   24, 61-96, 99-111, 114-128, 136-139, 169-174, 191-194, 205-208, 224-229, 235, 242, 256-278, 289-292, 295-298, 329, 339, 347-380, 385-445, 448-450, 455-477, 223->224, 234->235, 241->242, 252->256, 288->289, 294->295, 328->329, 338->339
 src/allmydata/scripts/debug.py                         719    638    202      0     9%   14, 31-32, 35-49, 52-60, 63-142, 146-154, 157-164, 168-217, 220-304, 307-401, 407, 417, 437-465, 468-485, 488-602, 606, 609-611, 637-648, 653-656, 659, 683-689, 692-810, 813-842, 845-848, 851-865, 869, 888, 891-940, 946, 949-950, 957, 960-961, 967-972, 984-985, 999-1000, 1003-1004, 1020-1021, 1025-1031, 1046-1050
@@ -4661,10 +4647,10 @@
 src/allmydata/scripts/run_common.py                    135     18     24      6    85%   37, 41-46, 59-60, 149, 158, 192-193, 216-220, 226-227, 55->62, 135->exit, 135->exit, 148->149, 191->192, 225->226
 src/allmydata/scripts/runner.py                        138     53     42     11    56%   84-85, 91, 97-99, 104, 114, 123-132, 140, 146, 149-160, 174-181, 186, 189-190, 204-232, 248, 255, 31->36, 103->104, 113->114, 139->140, 145->146, 147->149, 185->186, 188->189, 202->204, 247->248, 254->255
 src/allmydata/scripts/slow_operation.py                 69     56     22      0    14%   15-44, 47-52, 55-61, 64-83
-src/allmydata/scripts/stats_gatherer.py                 41     25     10      0    31%   20-25, 62-86
+src/allmydata/scripts/stats_gatherer.py                 42     25     10      0    33%   25-30, 67-91
 src/allmydata/scripts/tahoe_add_alias.py               106     91     30      0    11%   20-32, 35-59, 63-98, 102-111, 115-144
 src/allmydata/scripts/tahoe_backup.py                  331    267     85      0    15%   20-35, 38-51, 54-58, 71-73, 76-152, 155-157, 160-161, 164-174, 178-209, 212-242, 246-274, 278-279, 287-311, 322-331, 336, 339, 342-351, 356, 359, 362-367, 372-374, 379, 384, 389, 398, 417-425, 428, 431-461, 469-480, 483-486, 500-504, 511-512, 525, 538-542, 545-549, 552-555, 558-561, 564, 571, 578, 586-594
-src/allmydata/scripts/tahoe_check.py                   263    235    121      0     7%   15, 20-100, 103-112, 120-129, 132-167, 170-173, 179-192, 195-256, 259-270, 277-323, 327-336, 339
+src/allmydata/scripts/tahoe_check.py                   264    235    121      0     8%   20, 25-105, 108-117, 125-134, 137-172, 175-178, 184-197, 200-261, 264-275, 282-328, 332-341, 344
 src/allmydata/scripts/tahoe_cp.py                      602    503    226      0    12%   22, 26, 30-31, 34-37, 40-41, 44-47, 50-53, 56-60, 63-70, 75-77, 80, 83, 86, 90-91, 94, 98-99, 102, 106-111, 114, 117-134, 138-142, 145-159, 162-172, 175-177, 180, 185-189, 192, 195-197, 200-203, 206, 210-214, 218-223, 230-233, 236, 239-253, 256-263, 266-297, 303, 307-309, 316, 320-323, 326-333, 336-350, 354-358, 361-397, 403-413, 416-433, 436-437, 440-454, 465-496, 504-580, 583, 589-630, 636-689, 693-698, 701-703, 706-719, 723-762, 765-775, 778-806, 810-818, 821-838, 842, 845-857, 862-863, 867
 src/allmydata/scripts/tahoe_get.py                      37     32     12      0    10%   9-45
 src/allmydata/scripts/tahoe_invite.py                   59     41      8      0    27%   27-31, 36-71, 76-101
@@ -4679,7 +4665,7 @@
 src/allmydata/scripts/tahoe_stop.py                     60     47     10      0    19%   16, 24-84
 src/allmydata/scripts/tahoe_unlink.py                   28     23      6      0    15%   12-40
 src/allmydata/scripts/tahoe_webopen.py                  27     24     12      0     8%   7-31
-src/allmydata/stats.py                                 242    156     54      3    33%   28-34, 37-40, 43-47, 50-64, 67-72, 101, 104-110, 113-125, 144-146, 154-155, 160-163, 169-174, 178-187, 191, 200-207, 210, 213-219, 222-228, 232-234, 237, 241, 246-250, 253, 256-257, 263-278, 281-285, 288-293, 299-325, 100->101, 143->144, 153->154
+src/allmydata/stats.py                                 242    156     54      3    33%   29-35, 38-41, 44-48, 51-65, 68-73, 102, 105-111, 114-126, 145-147, 155-156, 161-164, 170-175, 179-188, 192, 201-208, 211, 214-220, 223-229, 233-235, 238, 242, 247-251, 254, 257-258, 264-279, 282-286, 289-294, 300-326, 101->102, 144->145, 154->155
 src/allmydata/storage/common.py                         24      2      4      2    86%   11, 28, 10->11, 36->39
 src/allmydata/storage/crawler.py                       222    125     64      6    37%   16, 90, 111-113, 148-178, 192-193, 231, 244, 251, 275-312, 315-363, 377-384, 393, 416, 428, 445, 453, 488-492, 495-508, 13->16, 89->90, 96->99, 228->231, 248->251, 268->271
 src/allmydata/storage/expirer.py                       240    183     81      2    21%   9, 74-79, 119, 122, 125-167, 171-233, 236-253, 256-261, 264-266, 269-274, 280-284, 288-322, 388-435, 7->9, 71->74
@@ -4748,7 +4734,7 @@
 src/allmydata/windows/fixups.py                        133    133     54      0     0%   1-237
 src/allmydata/windows/registry.py                       42     42     12      0     0%   1-77
 ------------------------------------------------------------------------------------------------
-TOTAL                                                27427  20411   8234    294    22%
+TOTAL                                                27430  20392   8234    298    22%

 18 files skipped due to complete coverage.
 + '[' '!' -z 1 ']'
```

Trac: refs #3448, https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3448
2020-09-30 08:47:02 -07:00
Itamar Turner-Trauring
d797ca1162 Merge remote-tracking branch 'origin/master' into 3451.immutable-downloader-start-python-3 2020-09-30 11:42:58 -04:00
Itamar Turner-Trauring
df69ca8b5b
Merge pull request #836 from tahoe-lafs/3450.immutable-literal-python-3
Port allmydata.immutable.literal to Python 3 (and fix a bug)

Fixes ticket:3450
2020-09-30 11:39:07 -04:00
Jean-Paul Calderone
d9efb9bf45 news fragment 2020-09-30 11:11:33 -04:00
Ross Patterson
784ddc5b07 Merge branch 'master' into 3442.minor-test-runner-changes 2020-09-30 06:51:36 -07:00
Itamar Turner-Trauring
02acd9d2eb News file. 2020-09-29 13:47:27 -04:00
Itamar Turner-Trauring
a8b00085c5 News file. 2020-09-29 11:23:05 -04:00
Itamar Turner-Trauring
87838dd2bb
Merge pull request #834 from tahoe-lafs/3449.interfaces-to-python-3
Port allmydata.introducer.interfaces to Python 3

Fixes ticket:3449
2020-09-29 11:05:18 -04:00
Itamar Turner-Trauring
bfc0d9fb15 News file. 2020-09-29 10:51:44 -04:00
Sajith Sasidharan
9c8fb6f901
Merge pull request #781 from sajith/3382.remove-multi-format-page
Remove web.common.MultiFormatPage

Fixes ticket:3382
2020-09-28 21:28:23 -04:00
Itamar Turner-Trauring
c84a2ef869
Merge pull request #835 from tahoe-lafs/3417.audit-for-loops-mutable-dict-views-python-3
Audit for loops for mutable dict views bugs on Python 3

Fixes ticket:3417
2020-09-28 16:53:12 -04:00
Itamar Turner-Trauring
a0a8b4403d News file. 2020-09-28 16:49:51 -04:00
Jean-Paul Calderone
76ecae2e44 Merge remote-tracking branch 'origin/master' into 3382.remove-multi-format-page 2020-09-28 15:09:29 -04:00
Jean-Paul Calderone
6d14eb55b5
Merge pull request #832 from tahoe-lafs/3443.referrer-policy-tests
Add a test for referrer-policy

Fixes: ticket:3443
2020-09-28 15:04:55 -04:00
meejah
587d9ef873
Merge pull request #798 from jaraco/3398.pre-commit
Add pre-commit hook definition for flake8.
2020-09-28 16:36:50 +00:00
Itamar Turner-Trauring
f578b85f8c News file. 2020-09-28 11:56:15 -04:00
Itamar Turner-Trauring
5e6201aede
Merge pull request #833 from tahoe-lafs/3446.test-helper-python-3
Port test_helper.py to Python 3

Fixes ticket:3446
2020-09-28 11:35:15 -04:00
Itamar Turner-Trauring
64516aac41 Port to Python 3. 2020-09-28 10:20:00 -04:00
Itamar Turner-Trauring
4e7e84796a
Merge pull request #829 from tahoe-lafs/3439.test-download-python-3
Port test_download.py to Python 3

Fixes ticket:3439
2020-09-28 09:59:53 -04:00
Chad Whitacre
afd28f3402
Merge pull request #823 from tahoe-lafs/3431.port-test_immutable
Port test_immutable to Python 3
2020-09-28 08:34:03 -04:00
Jean-Paul Calderone
60f531e970
Merge pull request #831 from tahoe-lafs/3438.test_introweb
Split `_test_introweb` into a separate suite

Fixes: ticket:3438
2020-09-27 19:14:24 -04:00
Itamar Turner-Trauring
21e3b355ec Finish porting to Python 3. 2020-09-25 14:03:25 -04:00
Sajith Sasidharan
65f206e39b
Merge pull request #816 from sajith/3427.return-error-page-from-unlinked
Return ErrorPage from unlinked

Fixes ticket:3427
2020-09-25 13:30:02 -04:00
Itamar Turner-Trauring
47aa724c42 Merge remote-tracking branch 'origin/master' into 3439.test-download-python-3 2020-09-25 13:16:12 -04:00
Itamar Turner-Trauring
5e52691433
Merge pull request #827 from tahoe-lafs/3437.test-filenode-python-3
Port test_filenode.py to Python 3

Fixes ticket:3437
2020-09-25 13:15:30 -04:00
Sajith Sasidharan
569ac924ec
Merge pull request #825 from sajith/3436.remove-web-common-getxmlfile
Remove unused web.common.getxmlfile()

Fixes ticket:3436
2020-09-25 12:54:51 -04:00
Jean-Paul Calderone
2314a9f2f6 add a test for referrer-policy 2020-09-25 11:06:54 -04:00
Jean-Paul Calderone
dc15f19ee0 Merge remote-tracking branch 'origin/master' into 3382.remove-multi-format-page 2020-09-25 09:37:02 -04:00
Jean-Paul Calderone
f13390d3d4 news fragment 2020-09-25 09:26:56 -04:00
Itamar Turner-Trauring
51709d5562
Merge pull request #817 from tahoe-lafs/3430-test-upload-python-3
Port test_upload.py to Python 3

Fixes ticket:3430
2020-09-24 16:57:38 -04:00
Ross Patterson
a8ef046b50 build(news): Fix missing ChangeLog entry 2020-09-24 11:44:38 -07:00
Itamar Turner-Trauring
4784d2c3a8 News fragment. 2020-09-24 11:06:47 -04:00
Jean-Paul Calderone
67adb9303b news fragment 2020-09-24 10:23:34 -04:00
Itamar Turner-Trauring
d8c5e8b44f News file. 2020-09-23 15:39:19 -04:00
Itamar Turner-Trauring
5fbbb5be0f News file. 2020-09-23 15:21:47 -04:00
Ross Patterson
827cba21a3 Merge branch '3421.makefile-housekeeping' 2020-09-23 11:24:51 -07:00
Ross Patterson
2645675649 build(make): Exclude changelog entry from NEWS
This includes only developer-oriented changes.
2020-09-23 10:31:42 -07:00
Sajith Sasidharan
c2e9d6057f
Merge pull request #819 from sajith/3425.return-errorpage-from-root
Return ErrorPage from web.root

Fixes ticket:3425
2020-09-23 10:18:44 -04:00
Sajith Sasidharan
22a1721b62 Remove unused web.common.getxmlfile() 2020-09-22 21:05:17 -04:00
Sajith Sasidharan
9aee312d8c
Merge pull request #822 from sajith/3429.return-errorpage-from-check-results
Return ErrorPage from web.check_results

Fixes ticket:3429
2020-09-22 20:40:00 -04:00
Sajith Sasidharan
4e4c5f9b7f
Merge pull request #820 from sajith/3424.return-errorpage-from-operations
Return ErrorPage from web.operations

Fixes ticket:3424
2020-09-22 20:38:34 -04:00
Sajith Sasidharan
da78bc05d0
Merge pull request #818 from sajith/3423.return-errorpage-from-filenode
Return ErrorPage from filenode

Fixes ticket:3423
2020-09-22 20:37:55 -04:00
Sajith Sasidharan
0f118bdd67 Return error page from unlinked 2020-09-22 12:23:40 -04:00
Chad Whitacre
0b6b4b69e9 Port test_immutable to Python 3 2020-09-22 08:36:39 -04:00
Sajith Sasidharan
18e56e41fc Return error page when an exception is raised from web.check_results 2020-09-21 18:18:29 -04:00
Sajith Sasidharan
20101f8146 Return ErrorPage when an exception is raised in web.status 2020-09-21 16:51:27 -04:00
Sajith Sasidharan
c16cf00c6b Return an error page when an exception is raised from web.root 2020-09-21 16:37:36 -04:00
Sajith Sasidharan
e8f7643a8f Return ErrorPage when web.operations raises an exception 2020-09-21 16:26:51 -04:00
Sajith Sasidharan
c34dc78875 Merge 'origin/master' into 3423.return-errorpage-from-filenode 2020-09-21 16:22:57 -04:00
Jean-Paul Calderone
58c99d0c0c
Merge pull request #815 from tahoe-lafs/3422.directory-weberror
Handle exceptions raised by getChild and render_* in directory.py

Fixes: ticket:3422
2020-09-21 16:04:39 -04:00
Sajith Sasidharan
199fbfcc1c Return error pages when an exception is raised in filenode 2020-09-21 13:24:01 -04:00
Itamar Turner-Trauring
7c6e3104ac
Merge pull request #812 from tahoe-lafs/3416.test-encode-python-3
Port allmydata.test.no_network to Python 3

Fixes ticket:3416
2020-09-21 11:51:34 -04:00
Ross Patterson
52015df7e4 build(make): Add changelog entry for PR 2020-09-18 11:59:40 -07:00
Jean-Paul Calderone
8f3a32a22c news fragment 2020-09-18 14:49:39 -04:00
Itamar Turner-Trauring
e75beb6eae
Merge pull request #811 from tahoe-lafs/3415.storage-server-python-3
Port allmydata.storage.server to Python 3

Fixes ticket:3415
2020-09-18 13:32:36 -04:00
Jean-Paul Calderone
9682e68528
Merge pull request #805 from jaraco/3408.print-functions
Convert print statements to print functions, even when commented

Fixes: ticket:3408
2020-09-18 12:59:44 -04:00
Itamar Turner-Trauring
b784f9654c Merge branch '3415.storage-server-python-3' into 3416.test-encode-python-3 2020-09-17 13:12:46 -04:00
Itamar Turner-Trauring
833bc72ac3 Merge remote-tracking branch 'origin/master' into 3416.test-encode-python-3 2020-09-16 14:40:40 -04:00
Itamar Turner-Trauring
b4116239b5 Merge remote-tracking branch 'origin/master' into 3415.storage-server-python-3 2020-09-16 11:27:03 -04:00
Itamar Turner-Trauring
4bf79f777e
Merge pull request #806 from tahoe-lafs/3409.allmydata-storage-immutable-python-3
Port allmydata.storage.immutable to Python 3

Fixes ticket:3409
2020-09-16 11:26:07 -04:00
Sajith Sasidharan
0ca3192640 Merge 'origin/master' into 3382.remove-multi-format-page 2020-09-15 18:25:07 -04:00
Sajith Sasidharan
1b207d8f62
Merge pull request #789 from sajith/3391.codecov-yml
Change codecov defaults

Fixes ticket:3391
2020-09-15 17:33:55 -04:00
Itamar Turner-Trauring
596c4cec8a News file. 2020-09-15 14:14:41 -04:00
Itamar Turner-Trauring
a552bb53a7 Merge remote-tracking branch 'origin/master' into 3409.allmydata-storage-immutable-python-3 2020-09-15 09:05:55 -04:00
Itamar Turner-Trauring
73967aa5b0
Merge pull request #810 from tahoe-lafs/3411.storage-mutable-python-3
Port a variety of allmydata.storage modules to Python 3

Fixes ticket:3411
2020-09-15 09:02:44 -04:00
Itamar Turner-Trauring
72f72491d0 News fragment. 2020-09-14 14:48:39 -04:00
Chad Whitacre
91a5c8ce95 Satisfy towncrier 2020-09-14 08:26:47 -04:00
Itamar Turner-Trauring
6ffda25d6b News fragment. 2020-09-11 15:04:52 -04:00
Jason R. Coombs
69762df708 Merge branch 'master' into 3398.pre-commit 2020-09-11 14:57:23 -04:00
Itamar Turner-Trauring
6f5c32c461 News fragment. 2020-09-11 14:51:20 -04:00
Jason R. Coombs
a7034de852 Add empty newsfragment. 2020-09-11 14:51:02 -04:00
Sajith Sasidharan
ebd20b7f22 Merge 'origin/master' into 3382.remove-multi-format-page 2020-09-10 10:09:38 -04:00
Jason R. Coombs
d74d7e733c Merge branch 'master' into 3394.py38-tests 2020-09-09 21:42:32 -04:00
Sajith Sasidharan
3b2b6fe646 Merge 'origin/master' into 3391.codecov-yml 2020-09-08 18:05:20 -04:00
Sajith Sasidharan
8ce3b95894
Merge pull request #802 from sajith/3403.pin-pyrsistent
Pin Pyrsistent at a Python 2 compatible version

Fixes: ticket:3403
2020-09-08 18:03:57 -04:00
Sajith Sasidharan
810c7eefd8 Pin Pyrsistent at a Python 2.7 compatible version 2020-09-08 16:31:57 -04:00
Itamar Turner-Trauring
4c90247d99
Merge pull request #799 from tahoe-lafs/3397.test-storage-python-3
Port allmydata.test.test_storage to Python 3

Fixes ticket:3397
2020-09-08 15:32:06 -04:00
Sajith Sasidharan
e17e9fa7a9
Merge pull request #791 from sajith/3393.remove-nevow-106-workaround
Remove allmydata.web._nevow_106

Fixes: ticket:3393
2020-09-07 21:49:00 -04:00
Sajith Sasidharan
46b4c94e7c
Merge pull request #790 from sajith/3392.remove-web-rendering-mixin
Remove unused allmydata.test.common_web.WebRenderingMixin

Fixes: ticket:3392
2020-09-07 21:47:23 -04:00
Itamar Turner-Trauring
59f3a471cb Merge remote-tracking branch 'origin/master' into 3397.test-storage-python-3 2020-09-04 14:51:33 -04:00
Itamar Turner-Trauring
af4814ee7b Merge remote-tracking branch 'origin/master' into 3396.storage-tests-python-3 2020-09-04 13:27:35 -04:00
Itamar Turner-Trauring
38f5a9c5a3 Disable coverage on pypy, in the hopes of making it less flaky. 2020-09-04 12:05:31 -04:00
Jason R. Coombs
fd49047721 Add news fragment. 2020-09-03 18:48:16 -04:00
Itamar Turner-Trauring
063ee18da3 News fragment. 2020-09-01 12:45:32 -04:00
Itamar Turner-Trauring
3fa919834a Finish port to Python 3. 2020-08-31 13:20:57 -04:00
Jason R. Coombs
a3f5a0d7ac Merge branch 'master' into 3394.py38-tests 2020-08-30 12:06:56 -04:00
Itamar Turner-Trauring
6f2f460bf3 Merge remote-tracking branch 'origin/master' into 3374.codec-monitor-python-3-take-2 2020-08-27 14:53:45 -04:00
Itamar Turner-Trauring
7da73c1a03
Merge pull request #772 from tahoe-lafs/3377.configutil-connection_status-python-3
Port configutil and connection_status to Python 3

Fixes ticket:3377
2020-08-27 14:51:26 -04:00
Itamar Turner-Trauring
4f1dfec62f
Merge pull request #795 from tahoe-lafs/3395.more-storage-python-3
Port the rest of allmydata.test.test_storage_web to Python 3

Fixes ticket:3395
2020-08-27 14:48:55 -04:00
Jean-Paul Calderone
94c61c817c
Merge pull request #796 from tahoe-lafs/3355.python3-coverage-reports
Collect and report Python 3 test suite coverage

Fixes: ticket:3355
2020-08-27 14:36:56 -04:00
Jean-Paul Calderone
6422dba90d Say some words about this change 2020-08-27 10:39:49 -04:00
Sajith Sasidharan
d79880bf91 Merge 'origin/master' into 3382.remove-multi-format-page 2020-08-26 21:18:44 -04:00
Jean-Paul Calderone
7f3192e310 news fragment 2020-08-26 14:46:57 -04:00
Itamar Turner-Trauring
431e939bb8 Finish porting test_storage_web to Python 3. 2020-08-26 10:38:52 -04:00
Itamar Turner-Trauring
23671b02a4 Merge remote-tracking branch 'origin/master' into 3387.expirer-python-3 2020-08-25 13:57:32 -04:00
Sajith Sasidharan
82ee45c1ac Merge 'origin/master' into 3382.remove-multi-format-page 2020-08-25 13:54:05 -04:00
Sajith Sasidharan
f51c127d6d
Merge pull request #780 from sajith/3381.directory-deep-size-results-to-twisted-web
Port web.directory.DeepSizeResults to twisted web

Fixes: ticket:3381
2020-08-25 13:52:15 -04:00
Itamar Turner-Trauring
b3c1302643 Merge remote-tracking branch 'origin/master' into 3387.expirer-python-3 2020-08-25 12:31:12 -04:00
Itamar Turner-Trauring
6726c6ec5b Merge remote-tracking branch 'origin/master' into 3374.codec-monitor-python-3-take-2 2020-08-25 11:48:31 -04:00
Itamar Turner-Trauring
43f95238d8 Merge remote-tracking branch 'origin/master' into 3377.configutil-connection_status-python-3 2020-08-25 11:44:48 -04:00
Itamar Turner-Trauring
7ad8cb503e
Merge pull request #794 from tahoe-lafs/3367.port-uri-to-python-3-take-2
Port URI to Python 3

Fixes ticket:3367
2020-08-25 11:41:06 -04:00
Jean-Paul Calderone
bce701d5bc
Merge pull request #786 from tahoe-lafs/3388.ubuntu-2004-image-builder
Fix the Ubuntu 20.04 image builder

Fixes: ticket:3388
2020-08-24 18:13:16 -04:00
Itamar Turner-Trauring
2cc21e9893 Finish the port. 2020-08-24 13:57:46 -04:00
Jason R. Coombs
bc5a873456 Adding null newsfragment (changes are internal and subsumed by larger Python 3 effort). 2020-08-24 11:35:58 -04:00
Sajith Sasidharan
57fdead1c3 Remove allmydata.web._nevow_106 2020-08-22 17:21:24 -04:00
Sajith Sasidharan
fa36fb9ab9 Remove unused allmydata.test.common_web.WebRenderingMixin 2020-08-22 16:47:19 -04:00
Sajith Sasidharan
da57a7fc21 Add codecov settings 2020-08-22 08:14:08 -04:00
Sajith Sasidharan
a9fa70c3d5 Add upper bound for attrs library 2020-08-21 15:55:39 -04:00
Itamar Turner-Trauring
71cac5dd44 Merge remote-tracking branch 'origin/master' into 3387.expirer-python-3 2020-08-20 14:56:35 -04:00
Itamar Turner-Trauring
9089a1226a
Merge pull request #785 from tahoe-lafs/3386.storage-crawler-python-3
Port allmydata.storage.crawler to Python 3

Fixes ticket:3386
2020-08-20 14:52:30 -04:00
Itamar Turner-Trauring
f227b1b241
Merge pull request #779 from tahoe-lafs/3378.encodingutil-python-3-part-2
Fixes ticket:3378

Port encodingutil to Python 3, part 2
2020-08-20 13:24:33 -04:00
Itamar Turner-Trauring
46b498f99c Merge remote-tracking branch 'origin/master' into 3377.configutil-connection_status-python-3 2020-08-20 13:22:14 -04:00
Jean-Paul Calderone
9bdc085c26 news fragment 2020-08-20 13:20:56 -04:00
Itamar Turner-Trauring
e5b9852081 News file. 2020-08-20 13:05:25 -04:00
Itamar Turner-Trauring
71d33469da Merge remote-tracking branch 'origin/master' into 3378.encodingutil-python-3-part-2 2020-08-20 12:36:36 -04:00
Itamar Turner-Trauring
8279be38c1 Finish porting to Python 3. 2020-08-19 13:25:11 -04:00
Itamar Turner-Trauring
ed2f6bf3df News file. 2020-08-18 13:12:05 -04:00
Sajith Sasidharan
d5853ccb60 Remove web.common.MultiFormatPage 2020-08-18 08:48:02 -04:00
Sajith Sasidharan
0de92a2265 Add newsfragment 2020-08-18 08:38:55 -04:00
Itamar Turner-Trauring
01ba0d0316 News file. 2020-08-17 13:30:12 -04:00
Itamar Turner-Trauring
81ba354357 Merge remote-tracking branch 'origin/master' into 3373.happinessutil-python-3 2020-08-17 10:45:12 -04:00
Jean-Paul Calderone
bd06dac9d9
Merge pull request #778 from tahoe-lafs/3380.failure-ci-on-suite-failure
Make test failures fail CI

Fixes: ticket:3380
2020-08-14 14:47:09 -04:00
Itamar Turner-Trauring
4ddbd8dbbf Merge branch '3376.encodingutil-python-3' into 3377.configutil-connection_status-python-3 2020-08-14 13:13:23 -04:00