Commit Graph

6587 Commits

Author SHA1 Message Date
meejah
fd00f9b56c tox.ini missing from MANIFEST 2016-04-12 19:46:49 -06:00
meejah
6e17328eb5 teach abbreviate_time to understand timedelta
original review wanted to do this instead of depending on "humanize"
2016-04-12 18:42:53 -06:00
Brian Warner
c97e8520f4 tox.ini: use --editable to work around old-pip bug
One of the buildslaves (Ubuntu wily 15.10) has a very old pip-1.5.6,
which doesn't know how to "pip install" a filepath+extra (like
".[test]") unless --editable is also used.

It's convenient to have --editable set anyways (so you can do subsequent
narrow testing without re-running tox, by running ".tox/py27/bin/trial
TESTCASE" or use .tox/py27/bin/activate), so changing the dependency
from ".[test]" to "--editable=.[test]" is the easiest way to work around
that older buildslave. (I could also have upgraded the buildslave to use
a newer pip, but 15.10 is pretty recent and other people will probably
hit this too, so this way it's fixed for everybody).

refs ticket:2776
2016-04-12 14:28:02 -07:00
Brian Warner
23f871a409 add [test] "extra" to install testing-only dependencies
closes ticket:2776
2016-04-12 12:32:46 -07:00
Brian Warner
359c233d26 Merge PR #256 from meejah/2774.status-api-only.0-part2 2016-04-12 12:31:30 -07:00
meejah
308bb8c41f match get_or_create_private_config API (closes ticket:2775) 2016-04-12 12:58:42 -06:00
meejah
4a25573e2d Add simple auth-token to get JSON data 2016-04-12 12:58:27 -06:00
Brian Warner
47b921855a Merge PR #255 from meejah/2774.status-api-only.0-part1
(rebased to current master, added a few fixups)
2016-04-12 01:00:59 -07:00
Brian Warner
d385bb7a21 hush pyflakes 2016-04-12 00:39:03 -07:00
Brian Warner
04a9c51e3a download_to_data: fix comment 2016-04-12 00:38:08 -07:00
meejah
db517e8edd Progress API
- IProgress interface + PercentProgress implementation
 - progress= args to many upload/download APIs
 - ultimately for magic-folder
2016-04-12 00:30:50 -07:00
Brian Warner
bb7184163e test/common: add a slight stall in tearDown
With the new Foolscap-0.11.0 (which changed the way connections are
established), I'm seeing DirtyReactorErrors getting thrown by
allmydata.test.test_system.SystemTest.test_filesystem_with_cli_in_subprocess
, on a host that has three IP addresses (one is 127.0.0.1, two is wifi,
three is a VPN). The test itself is getting skipped because bin/tahoe
isn't in the expected place, but by that point, the nodes have already
been launched and have established connections over one of the three
hints (probably 127.0.0.1). The test terminates so quickly that the
connections to the other two addresses have not finished being
abandoned. The extra stall seems to give Foolscap enough time to reap
the cancelled connections and makes the DRT go away.

I think an offline test, or maybe one with a single external IP address,
wouldn't hit this case.

Arbitrary stalls are never very satisfactory, of course. Usually there
is some threshold delay value, below which it fails reliably, above
which it works on my own machine (for now). This one is weird: the
threshold seems to be below the resolution of the system clock. Stalling
for one nanosecond was enough to fix the problem, but using a simple
fireEventually() didn't work.
2016-04-07 20:59:42 -10:00
Brian Warner
8279d919f3 remove "manhole" (ssh-accessible REPL)
This little-used debugging feature allowed you to SSH or Telnet "into" a
Tahoe node, and get an interactive Read-Eval-Print-Loop (REPL) that
executed inside the context of the running process. The SSH
authentication code used a deprecated feature of Twisted, this code had
no unit-test coverage, and I haven't personally used it in at least 6
years (despite writing it in the first place). Time to go.

Also experiment with a Twisted-style "topfiles/" directory of NEWS
fragments. The idea is that we require all user-visible changes to
include a file or two (named as $TICKETNUM.$TYPE), and then run a script
to generate NEWS during the release process, instead of having a human
scan the commit logs and summarize the changes long after they landed.

Closes ticket:2367
2016-04-06 13:40:06 -10:00
Brian Warner
a8161028d6 tox upcoming-deprecations: emit foolscap/twisted versions
Note that Twisted doesn't do anything like Versioneer, so this will
generally show e.g. "Twisted-16.1.0" for the entire interval between
16.1.0 and 16.2.0.
2016-04-06 13:37:56 -10:00
Brian Warner
b81c6a7208 run-deprecations: supress duplicates
I thought 'warnings' or twisted.python.deprecate was supposed to do this
already, but it's clearly not working.
2016-04-06 13:37:52 -10:00
Brian Warner
9d20de3db9 improve run-deprecations script
Rewrote in Twisted, which lets us read/scan/print all log lines in
realtime. The output is now correctly interleaved (as well as
maintaining the stdout-vs-stderr of each message). The renamed
--warnings= logfile records all relevant lines from *both* stdout and
stderr (i.e. any that includes "DeprecationWarning"), which handles a
change (perhaps in recent Twisteds?) that emits these warnings on stdout
instead of stderr.
2016-04-06 11:07:06 -10:00
Brian Warner
d5e1b21a8a tox: add "upcoming-deprecations" environment
This runs trial against the latest (git) Twisted and Foolscap, to give
us an early warning about anything we're currently doing that will
become deprecated in their next releases.
2016-04-06 09:24:15 -10:00
Brian Warner
c781fc188b run-deprecations: flush stdout before starting trial
This should get the notes printed in the right order.
2016-04-06 09:23:48 -10:00
Brian Warner
14c513db8a tox -e deprecations: add helper script to make it work
Tox doesn't run shell pipelines, and is unhappy about running tools that
it didn't install itself (including non-python things like "make"). So
this adds misc/build_helpers/run-deprecations.py, a python script that
runs a given command (i.e. trial) and writes stdout into a separate file
where the buildbot can see it, and counts the "DeprecationWarning" lines
from the file to decide the returncode.

This ought to improve the status display on the buildbot "test
deprecations" step.
2016-04-06 08:29:48 -10:00
Brian Warner
ce548687f8 iputil.py: avoid DirtyReactorError when running tests offline
The udpprot.transport.connect() fails if we don't have a network
connection, but the port is still listening, so trial gives us a
DirtyReactorError. The fix is a "finally:" which does
port.stopListening() even in this case.

Closes ticket:2769
2016-04-03 19:26:57 -10:00
Brian Warner
431d762872 desert-island: new approach, works better 2016-03-31 17:12:08 -07:00
Brian Warner
dfc09745a0 add 'tox -e docs', to check+render .rst files 2016-03-31 15:59:49 -07:00
Brian Warner
2b5633eedb relnotes, docs: post-release fixups 2016-03-30 17:27:44 -07:00
Brian Warner
04a3e7993f NEWS: release 1.11.0 2016-03-30 16:09:28 -07:00
Brian Warner
14d1250bec CREDITS: update 2016-03-30 16:09:12 -07:00
Brian Warner
3b0789fb0c docs: update release checklist 2016-03-30 16:03:52 -07:00
Brian Warner
9be9c20c0e Makefile: upload wheel too 2016-03-30 15:58:01 -07:00
Brian Warner
c4b1d8c291 Makefile: create wheels too 2016-03-30 15:54:31 -07:00
Brian Warner
d57c8d5e39 bump Twisted dependency (>=15.1.0) to get the [tls] extra
We only really need "Twisted >= 13.0.0", but we must add "[tls]" because
otherwise pip won't install it when Foolscap asks for it later, and we
need ">= 15.1.0" because that's the first version that provided "[tls]".

Fixes ticket:2760.
2016-03-30 11:33:36 -07:00
Brian Warner
1199a1547f INSTALL: update downloads URL to expected location 2016-03-30 02:51:49 -07:00
Brian Warner
ab091e68de update relnotes and known_issues 2016-03-30 02:25:27 -07:00
Brian Warner
c674b55918 docs: switch to default readthedocs.org theme 2016-03-30 02:18:00 -07:00
Brian Warner
96118c2e23 README: fix links again 2016-03-30 01:37:48 -07:00
Brian Warner
954e021ca7 README: fix badges, make them less intrusive 2016-03-30 01:32:57 -07:00
Brian Warner
12e54e52f4 README: point to tahoe-lafs.readthedocs.org
Also add a comment to docs/index.rst, pointing folks who are browsing
the source tree (locally, with an editor) at the formatted version on
readthedocs.org .
2016-03-30 01:26:47 -07:00
Brian Warner
248a6ceade docs: add .empty to preserve empty _static and _templates 2016-03-30 01:26:47 -07:00
Brian Warner
f81900ee35 format docs for Sphinx
Added indexes, fixed cross-references.

Also a few pip-related cleanups I noticed along the way.
2016-03-30 01:26:47 -07:00
Brian Warner
142185bb86 docs: add sphinx index.rst, improve headers 2016-03-29 21:46:11 -07:00
Brian Warner
0acc1dc079 docs: run sphinx-quickstart, move old Makefile
* .gitignore: add docs/_build (sphinx output directory)
2016-03-29 21:02:14 -07:00
Brian Warner
2cfe2eb566 INSTALL.rst: more tweaks 2016-03-29 21:01:22 -07:00
Brian Warner
1f1e10d59b docs/OS-X: the $PATH *does* get added correctly 2016-03-28 01:37:35 -07:00
Brian Warner
35ef8b4c71 tox.ini: fix spelling of DeprecationWarning 2016-03-27 14:59:20 -07:00
Brian Warner
0cc48878e0 tox: use python2.7 for deprecations 2016-03-27 12:05:18 -07:00
Brian Warner
8970c640df NEWS: more tickets closed 2016-03-27 12:05:04 -07:00
Brian Warner
362a35228f NEWS: add 31 closed packaging tickets!. Also some formatting. 2016-03-26 17:04:43 -07:00
Brian Warner
20787853dd docs: stop suggesting 'activate', too much to explain
Also it avoids the failure mode where a user forgets to activate the
virtualenv, types the recommended "pip install" command, and installs
stuff directly to their system instead of safely confined inside the
virtualenv.
2016-03-26 14:13:23 -07:00
Brian Warner
1fca198ee4 setup.cfg: remove --find-links
This is only useful when running "setup.py install" directly, and is not
consulted when following our recommended "pip install .".
Platform-specific directories of wheels (that we, Tahoe, host ourselves)
are available for some platforms: these are described in
docs/INSTALL.rst and must be provided as a pip argument, not a
setup.cfg/easy_install configuration:

  pip install --find-links=https://tahoe-lafs.org/deps/

This also removes our involvement with eggs (which, I believe, are
usually downloaded insecurely by easy_install).
2016-03-26 12:23:01 -07:00
Brian Warner
3dcb3c8ed5 setup: remove zip_safe, no one uses eggs anymore
Modern wheels are installed unpacked.
2016-03-26 12:21:57 -07:00
Brian Warner
365977bf51 minor docs tweaks
* use correct fixed-width-font markup
* fix hyperlinks to neighboring (github-side) .rst files
* refer to python-2.7.11 consistently (thanks to PRab for the catch)
2016-03-26 11:50:44 -07:00
Brian Warner
a63263dc55 minor docs tweaks 2016-03-25 19:25:55 -07:00