9818 Commits

Author SHA1 Message Date
Sajith Sasidharan
0f835e94f5 Merge 'origin/master' into 3254.status-status-nevow-to-twisted-web 2020-07-18 07:53:36 -04:00
Sajith Sasidharan
6dec821271
Merge pull request #720 from sajith/3288.status-download-nevow-to-twisted-web
Replace nevow with twisted.web.template in status.DownloadStatusPage

Fixes: ticket:3288
2020-07-18 07:22:37 -04:00
Sajith Sasidharan
879a8012a0 Remove unused import 2020-07-18 06:48:36 -04:00
Sajith Sasidharan
c198c006e3 Avoid over-long lines 2020-07-17 21:02:24 -04:00
Sajith Sasidharan
fe07ab39da Use docstrings 2020-07-17 16:22:23 -04:00
Sajith Sasidharan
c14197e1bc Make FakeDownloadStatus an instance of DownloadStatus
The real DownloadStatus is easy enough to instantiate.  Might as well
use that, cutting some crufty code here.
2020-07-17 16:13:07 -04:00
Sajith Sasidharan
aab598c2f5 Update integration test for status page
As a fallout of transition from nevow to twisted web, list of hrefs in
the parsed status page will be [u'/status/down-0', u'/status/up-0',
u'/'] (with an added '/status/' prefix) so we need to update our
assumptions.

See 5c886b1b2 for the change that necessitated this.
2020-07-17 15:19:06 -04:00
Sajith Sasidharan
293efd7c9f Use actual status counter number when testing 2020-07-17 13:50:06 -04:00
Sajith Sasidharan
8fd0cf7eb6 Add a test for checking status page links 2020-07-17 13:21:53 -04:00
Sajith Sasidharan
828ec53e24 Update status page test case
Link to upload status 0 should contain `/status/` prefix, or it will
navigate to `/up-0` instead of `/status/up-0`, resulting in a 404 not
found message.  Same with other statuses too.
2020-07-17 13:21:53 -04:00
Sajith Sasidharan
5c886b1b2d Format link to status page child node correctly
Some Nevow-ism accidentally escaped earlier: link to `/status/up-0`
and so on were actually rendered as `/up-0` and so on.
2020-07-17 13:21:53 -04:00
Sajith Sasidharan
2d19c383ca Rename a variable for clarity 2020-07-17 13:21:53 -04:00
Sajith Sasidharan
02d8bd061a Test for trailing slashes after /status/
Both `/status` and `/status/` are treated alike; any additional
trailing slashes will be rejected.
2020-07-17 13:21:53 -04:00
Sajith Sasidharan
372cc00a25 Reject non-existent child nodes of /status
Requests on both `/status` and `/status/` will be served with the same
status page, but `/status//`, `/status///` and so on will be processed
further down, resulting in a 40x response.
2020-07-17 09:46:21 -04:00
Sajith Sasidharan
fe165cc99d Do the right thing, not the simple thing
Seems that NixOS CI is saying that the simple thing is not the right
thing: "GET /status/down-0" etc all resulted in 404 responses on
NixOS.  So we perhaps should use the actual counter value.
2020-07-16 19:07:51 -04:00
Sajith Sasidharan
06c8bbfb19 Use clearer names for tests 2020-07-16 17:25:25 -04:00
Sajith Sasidharan
66dd2d3658 Use docstrings 2020-07-16 17:19:50 -04:00
Sajith Sasidharan
8db60e3486 Do the simple thing when testing status subpaths 2020-07-16 17:16:18 -04:00
Sajith Sasidharan
95642ae02c Use a helper to check status subpath results 2020-07-16 17:13:36 -04:00
Sajith Sasidharan
e48d930621 Clarify intention of a test case 2020-07-16 16:56:41 -04:00
Sajith Sasidharan
6a2ce9efc6 Use docstrings 2020-07-16 16:55:12 -04:00
Jean-Paul Calderone
0ce6e562cb
Merge pull request #742 from chadwhitacre/3325.add-py36-to-ci
Add py36 to CI

Fixes: ticket:3325
2020-07-15 20:11:39 -04:00
Jean-Paul Calderone
c493396148
Merge pull request #740 from tahoe-lafs/3340-unused-code-in-util
Delete some dead code.

Fixes: ticket:3340
2020-07-15 20:08:41 -04:00
Chad Whitacre
3f887f9279 Respond to review
- Use the subunitv2-file reporter to allow for nicer error handling
- Undo the depgraph.sh change, see if it really matters
- Rename passing -> ratchet-passing to distinguish from ported modules
  tracker
- Misc. documentation and ratchet.sh improvements
2020-07-14 20:11:58 -04:00
Itamar Turner-Trauring
db41d5af6f
Merge pull request #743 from tahoe-lafs/3342-more-tests-for-base32-base62
Fixes https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3343
2020-07-14 13:41:20 -04:00
Itamar Turner-Trauring
fc73b7c793 News fragment. 2020-07-14 10:51:46 -04:00
Itamar Turner-Trauring
f378edd9d8 Fix missing import. 2020-07-14 10:20:51 -04:00
Sajith Sasidharan
54e952ceda Test for 404 responses from status page subpaths 2020-07-14 09:01:31 -04:00
Chad Whitacre
e2d6b353e8 Tighten up condition in depgraph.sh
I ran into a circumstance where it appears that there were changes other
than to the two files we care about, leading to an empty commit and a CI
failure:

https://app.circleci.com/pipelines/github/tahoe-lafs/tahoe-lafs/320/workflows/7d045f5f-1536-4cfa-b232-42837d4c9334/jobs/22127/steps
2020-07-14 06:42:45 -04:00
Chad Whitacre
8e8a215b83 Is this it? towncrier just wants empty files? 2020-07-13 22:42:51 -04:00
Chad Whitacre
d25c8b1a25 Start ratcheting up passing tests under Python 3 2020-07-13 22:42:48 -04:00
Chad Whitacre
b47b4a468b Prevent Nevow from blocking us
Per https://github.com/tahoe-lafs/tahoe-lafs/pull/732#issuecomment-653059972
2020-07-13 22:28:00 -04:00
Chad Whitacre
076c73d22f Turn on py36 at Travis
Drops the old py35 job, per @exarkun:

https://github.com/tahoe-lafs/tahoe-lafs/pull/732#discussion_r449615599

Also bumps Ubuntu at Travis so we can get 3.8 eventually. I first went
to 3.8 before dropping back to 3.6 as our initial target. Trusty on
Travis does include 3.6, but since we want 3.8 "pretty soon," and the OS
bump ended up being tricky (see below), let's go ahead and keep the OS
bump. Xenial (16.04) is the current default at Travis, and it does have
3.8 available:

https://docs.travis-ci.com/user/languages/python/#python-versions

The tricky bug is that different versions of virtualenv have different
seeding algorithms: https://discuss.python.org/t/-/4146). CI puts us
several layers deep in virtualenv-ception and I didn't fully unravel the
whole thing, but starting with a modern virtualenv seems to work around
the issue.
2020-07-13 22:27:59 -04:00
Chad Whitacre
5a2ee5387a Bump txi2p to unreleased version that supports Py3
The plan is to keep i2p support around, in the hopes that upstream libs
(txi2p, foolscap) are ported to Python 3 by the time we _really_ need
them.
2020-07-13 22:27:59 -04:00
Chad Whitacre
329bfe05f9 Make a crucial relative import explicit 2020-07-13 22:27:59 -04:00
Chad Whitacre
fec1f73bfa Ignore eliot.log, some testing artifact 2020-07-13 22:27:59 -04:00
Chad Whitacre
2eab253b0f Change python_requires in setup.py 2020-07-13 22:27:59 -04:00
Chad Whitacre
73c40e8d2a Minimally add py36 to CI 2020-07-13 22:27:59 -04:00
Sajith Sasidharan
abd539588f Rename nested functions for clarity
... and also to remove embarrassing copy-pasta mistakes.
2020-07-13 20:52:12 -04:00
Sajith Sasidharan
b48556c2cb Add tests for status subpages
Coverage tests for the coverage gods
2020-07-13 20:44:30 -04:00
Itamar Turner-Trauring
6115d96ab5
Merge pull request #741 from tahoe-lafs/3341-more-python-3-utils
Port deferredutil to Python 3
2020-07-13 16:25:18 -04:00
Itamar Turner-Trauring
ead2a79cf7 Everything should be bytes. 2020-07-13 16:21:15 -04:00
Itamar Turner-Trauring
6464e226c6 Hypothesis-based roundtrip test. 2020-07-13 16:19:48 -04:00
Itamar Turner-Trauring
828e6bc28a Minimal tests for could_be_base32_encoded(). 2020-07-13 16:18:13 -04:00
Itamar Turner-Trauring
77ae087c77 Remove a2b_l and b2a_l from public API, to ease likely future switch to stdlib
base64's implementation.
2020-07-13 16:12:53 -04:00
Itamar Turner-Trauring
e23dbcdf56 Document current public API. 2020-07-13 15:41:01 -04:00
Itamar Turner-Trauring
bbfd39e6c0 Test larger variety of inputs using hypothesis. 2020-07-13 15:30:11 -04:00
Itamar Turner-Trauring
a8a7d48c12 Everything must be bytes. 2020-07-13 15:25:07 -04:00
Itamar Turner-Trauring
f27cba181e Move existing base32 tests out of test_util.py. 2020-07-13 15:22:03 -04:00
Itamar Turner-Trauring
1a3a1ffcaa Restore eliot code. 2020-07-13 14:33:13 -04:00