Commit Graph

7155 Commits

Author SHA1 Message Date
Lukas Pirl
dd9b951c4b fix crash when stopping/restarting with an invalid pidfile
in node directory
2017-08-23 20:23:15 +02:00
Brian Warner
04fc0e43f7 setup.py: use python_requires= to complain about py3, not an exception
This allows a python3-based tox (as is common on modern debian/ubuntu
systems) to test our py2-only package. The first thing Tox does is to build a
wheel to install into the target virtualenv (which is a py2-based venv, for
tahoe). But Tox bug (https://github.com/tox-dev/tox/issues/507) in which this
wheel is built with the same python that Tox is using, instead of the python
from the target environment. Our setup.py would see sys.version_info with py3
and launch a crowbar into the works.

With python_requires=, pip is smart enough to know that it's ok to build
wheels with the wrong python, but "pip install" still throws a sensible error
message:

```
(ve36) ~/stuff/tahoe/tahoe$ pip install .
Processing /home/warner/stuff/tahoe/tahoe
tahoe-lafs requires Python '<3.0' but the running Python is 3.6.1
```

Closes ticket:2876
2017-08-15 18:37:39 -07:00
Brian Warner
27348be795 Merge PR438 from branch '2891-remove-numdict'
This removes some code in dictutil.py that we weren't using, or which could
be replaced by something simpler. This code is troublesome, because our unit
tests only achieve intermittent coverage, so other (unrelated) PRs are
failing CI when the coverage appears to go down.

I tried to improve the tests to reliably cover everything in dictutil.py, and
discovered code that couldn't possibly have worked in the first place. So the
easiest approach was just to delete it all.

refs ticket:2891
2017-08-15 14:09:00 -07:00
Brian Warner
8dd0a5f772 dictutil: remove unused move, subtract, del_if_present 2017-08-12 21:48:05 -07:00
Brian Warner
61b85dbf78 dictutil: remove unused ValueOrderedDict 2017-08-12 21:34:24 -07:00
Brian Warner
4f493b1a03 remove unused UtilDict 2017-08-12 21:31:47 -07:00
Brian Warner
a76d9e084f dictutil: remove unused NumDict 2017-08-12 21:21:04 -07:00
Brian Warner
3afa38adb4 NummedObj: stop using dictutil.NumDict 2017-08-12 21:02:32 -07:00
Brian Warner
d91516a5c5 Merge PR421
closes tahoe-lafs/tahoe-lafs#421
refs ticket:2729
2017-08-10 12:51:12 -07:00
Chris Wood
aaf167b877 Add support for binary builds with PyInstaller
See https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2729
2017-08-10 12:43:34 -07:00
Brian Warner
3f2f7dfb05 dictutil: fix bug in str(ValueOrderedDict), and improve test coverage
It looks like str() was meant to truncate the dict, but a missing i+=1 meant
that it never actually did. I also changed the format to include a clear
"..." in case we truncate it, to avoid confusion with a non-truncated dict of
the same size.

This also improves test coverage in subtract() and
NumDict.item_with_largest_value().

refs ticket:2891
2017-08-10 10:27:02 -07:00
Brian Warner
95ac5494ff test_backupdb: tolerate newer sqlite-3.20.0 error messages 2017-08-10 10:21:39 -07:00
Brian Warner
6be3f0594a travis: only run integration test if the tor install succeeded
travis apparently behaves like buildbot's ERROR_UPON_ERROR, rather that
HALT_UPON_ERROR, and if the tor install fails, then the integration test's
last step is certain to fail.
2017-08-10 10:00:14 -07:00
Brian Warner
3eaf18eba4 Merge PR418: add 'tahoe invite' and 'tahoe create-client --join='
refs ticket:126 , although this is just the first step
2017-08-08 23:12:29 -07:00
meejah
798bf57e28 Add 'tahoe invite' and 'tahoe create-node --join' commands
This opens a wormhole and sends appropriate JSON down
it to a tahoe-gui using a wormhole server running on
tahoe-lafs.org

The other end uses the 'tahoe create-node' command (with
new --join option) to read the configuration JSON from
a 'tahoe invite' command
2017-08-08 18:27:06 -06:00
Brian Warner
b2f7d8d9f9 Merge PR433: setup.py should use find_packages
closes ticket:2897
2017-08-08 13:33:16 -07:00
meejah
e2a5751d02 at least use random port 2017-08-08 10:42:11 -06:00
Jean-Paul Calderone
31f4272919 Use find_packages
It is a shorter and more reliably way to provide a value for the packages parameter.
2017-08-08 12:06:30 -04:00
Brian Warner
e8699cd60d Merge PR434: fix pyflakes issues in misc
closes ticket:2898
2017-08-08 08:59:15 -07:00
Jean-Paul Calderone
695f40fb52 Get rid of unused names 2017-08-08 08:30:32 -04:00
Jean-Paul Calderone
95df32f9ed remove unused import 2017-08-08 08:29:57 -04:00
Jean-Paul Calderone
9429fb8fad Allow some control over trial command run by tox
The TAHOE_LAFS_TRIAL_ARGS environment variable can now be used to pass
arguments to tox.  If it is unset, some sensible defaults will be used.
2017-07-28 11:05:40 -04:00
Brian Warner
a4be2dce71 avoid variable coverage by using a defaultdict
refs ticket:2891
2017-07-27 18:19:57 -07:00
Brian Warner
0386e0d5bf merge PR428: fix client.getPage deprecation warnings
closes ticket:2857
2017-07-27 17:40:20 -07:00
Brian Warner
05317d4d12 test_web: replace all shouldHTTPError with assertHTTPError
and update to inlineCallbacks while we're in there
2017-07-27 16:31:44 -07:00
Brian Warner
2687ee90c5 test_web: remove last traces of deprecated client.getPage 2017-07-27 16:31:44 -07:00
Brian Warner
965e974ce8 test_web: fix POST(url,body) calls that should have been POST2()
and remove the followRedirect= argument from POST
2017-07-27 16:31:44 -07:00
Brian Warner
0deb903888 test_web: rewrite all POST(followRedirect=True) calls with do_http
Since POST() is about to lose followRedirect=True
2017-07-27 16:31:44 -07:00
Brian Warner
3f03367d2f test_web: remove all other uses of shouldRedirect 2017-07-27 16:31:44 -07:00
Brian Warner
76063b1c12 test_web: replace some instances of shouldRedirect with shouldRedirectTo 2017-07-27 16:31:44 -07:00
Brian Warner
6be91e369c test_web: replace shouldReplace2 with shouldReplaceTo
This removes many uses of self.POST (since shouldReplaceTo does its own
HTTP), which will make it easier to remove client.getPage from POST.
2017-07-27 16:31:44 -07:00
Brian Warner
4745239c2c test_web: use inlineCallbacks in many functions
specifically everywhere we use self.shouldRedirect2
2017-07-27 16:31:44 -07:00
Brian Warner
73d09082d7 test_web.web.Web.POST: split out build_form() helper function 2017-07-27 16:31:44 -07:00
Brian Warner
202a9714c4 test_web test_bad_method: remove a client.getPage
Add WebErrorMixin.assertHTTPError, to replace (getPage + shouldHTTPError)
2017-07-27 16:31:44 -07:00
Brian Warner
bee05e883c test_web: remove HTTPClientGETFactory
This also changes the tests to handle the new API: URL can be unicode, and
the returned Headers object is not a dictionary.
2017-07-27 16:31:44 -07:00
Brian Warner
5a895b5fb6 GridTestMixin.GET: use treq instead of HTTPClientGETFactory 2017-07-27 16:31:44 -07:00
Brian Warner
3311f9520d test.cli.test_status: replace getPage with treq 2017-07-27 16:31:44 -07:00
Brian Warner
bd1e4507ee remove unused HTTPClientHEADFactory 2017-07-27 16:31:44 -07:00
Brian Warner
d018a07bf0 Merge PR430: add JSON welcome page
closes ticket:2476
2017-07-27 15:59:03 -07:00
Jean-Paul Calderone
e32f581d07 Get rid of the reliance on rref
It provides information more correctly obtained from
get_connection_status().
2017-07-27 16:31:41 -04:00
Jean-Paul Calderone
1f16a173f0 flatten the result structure
flat is better than nested
2017-07-27 15:32:47 -04:00
Jean-Paul Calderone
e0ee726d22 Update to the format the code now actually produces 2017-07-27 15:28:29 -04:00
Jean-Paul Calderone
7027547ecc fix buggy test; restructure data
scared about duplicate nodeids in the data getting lost, switch to a list
2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
754304e4d5 Switch Root over to MultiFormatPage 2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
f518c2a521 Switch over to stdlib json 2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
e339130e63 Just make an assertion against the full value 2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
e3e49632a5 use preferred spelling for new assertions 2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
780a932122 consistent markup 2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
7b88cf376b remove duplicate "above" 2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
cc0e6ea6f9 typo fix 2017-07-27 15:26:30 -04:00