Commit Graph

372 Commits

Author SHA1 Message Date
meejah
7ad6c9269c Merge branch 'master' into 2916.grid-manager-proposal.5 2021-08-25 14:04:53 -06:00
Itamar Turner-Trauring
6475b44336 Get rid of unnecessary version constraints. 2021-07-05 16:17:26 -07:00
Itamar Turner-Trauring
72d5bedf14 Depend on newer foolscap. 2021-07-02 10:10:26 -07:00
Sajith Sasidharan
ae6e1e9e2f Use io.open() instead of builtin open()
Windows does not like when we open README.rst using builtin open():

  Traceback (most recent call last):
    File "setup.py", line 360, in <module>
      long_description=open('README.rst', 'rU').read(),
    File "c:\hostedtoolcache\windows\python\3.6.8\x64\lib\encodings\cp1252.py", line 23, in decode
      return codecs.charmap_decode(input,self.errors,decoding_table)[0]
  UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 1720: character maps to <undefined>
2021-04-05 19:11:58 -04:00
Sajith Sasidharan
d9446f9f06 Remove deprecated U mode from open() call
Under the right conditions (with newer Python 3.x versions), we will
see this warning:

    setup.py:360: DeprecationWarning: 'U' mode is deprecated

`U` is for `universal newline mode`.  Docs for open() says this:

    'U' mode is deprecated and will raise an exception in future versions
    of Python.  It has no effect in Python 3.  Use newline to control
    universal newlines mode.

Off it goes.
2021-04-05 18:57:47 -04:00
Sajith Sasidharan
add2be1b44 Pin decorator
CI broke when decorator 5.0.1 (a dependency via pytest-twisted) with
dropped Python 2.7 compatibility was released.
2021-04-02 10:24:43 -04:00
meejah
4a5bb5e8ff Merge branch 'master' into 2916.grid-manager-proposal.5 2021-03-23 16:04:50 -06:00
Sajith Sasidharan
d24d0519b1 Continue using known working txi2p for Python 2
Proceeding with caution here, because the txi2p-tahoe fork is rather
hurriedly done, and we are unsure about Tahoe-LAFS' i2p testing story.
None of the currently active Tahoe-LAFS contributors use i2p, so we
won't know if we are breaking things.
2021-03-12 15:21:32 -05:00
Sajith Sasidharan
7c03bb6184 Give CI a kick 2021-03-10 14:48:08 -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
Jean-Paul Calderone
7b82a1230f Drop txi2p for Python 3 entirely
PEP-508 "URL lookups" are unsupported in packages released on PyPI
2021-03-01 13:47:39 -05:00
Jean-Paul Calderone
7c9e757f70 go back to a released txi2p for python 2 2021-03-01 13:44:27 -05:00
meejah
49838afa4d Merge branch 'master' into 2916.grid-manager-proposal.5 2021-02-02 10:03:04 -07:00
meejah
307a53dd71 Merge branch 'master' into 2916.grid-manager-proposal.5 2021-01-20 23:42:35 -07:00
Itamar Turner-Trauring
9ca17d780e Add some overall timeout, and timeout on specific test that seems to be the
issue somehow.
2021-01-13 10:21:06 -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
c1bc69e1f7 Remove two more references to FTP. 2021-01-08 13:47:32 -05:00
Itamar Turner-Trauring
a536a1a970 First passing end-to-end test of SFTP 2021-01-07 12:50:31 -05:00
meejah
613a6f80aa Merge branch 'master' into 2916.grid-manager-proposal.5 2021-01-04 15:12:17 -07:00
Jean-Paul Calderone
ae87d53e49 Let us have a ~5ish coverage 2020-12-29 13:35:33 -05:00
Itamar Turner-Trauring
052b3d9fb1 Re-enable logging validation on Python 3. 2020-12-16 10:06:59 -05:00
meejah
a0a39d3561 Merge remote-tracking branch 'origin/master' into 2916.grid-manager-proposal.5 2020-11-25 19:27:49 -07:00
Jean-Paul Calderone
b1244543f2 Bump to a Twisted that has Site.getContentFile support 2020-11-18 15:42:10 -05:00
meejah
25ff7c6f55 Merge branch 'master' into 2916.grid-manager-proposal.5 2020-11-13 16:48:14 -07:00
meejah
2118a2446e grid-manager stand-alone, via Click 2020-11-06 22:23:53 -07:00
Itamar Turner-Trauring
dce8d3598a Be even more lenient, in the hopes of working on Nix. 2020-10-27 08:54:16 -04:00
Itamar Turner-Trauring
4b7ab2bfd8 Version that works with Python 2. 2020-10-26 16:54:19 -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
f50fd8e474 Switch to new configparser backport. 2020-10-26 12:12:46 -04:00
Jean-Paul Calderone
931bdef2a2 Get rid of the old implementation and related unused code
Also put in the new implementation, though now it needs tests because *there
were no direct tests for the old one*.
2020-10-23 09:23:16 -04:00
Jean-Paul Calderone
4305777f88 Nevow is no longer a dependency 2020-10-21 10:03:06 -04:00
Jason R. Coombs
d74d7e733c Merge branch 'master' into 3394.py38-tests 2020-09-09 21:42:32 -04:00
Sajith Sasidharan
e893254855 Use Pyrsistent < 0.17.0 2020-09-08 17:23:08 -04:00
Sajith Sasidharan
810c7eefd8 Pin Pyrsistent at a Python 2.7 compatible version 2020-09-08 16:31:57 -04:00
Jason R. Coombs
c48548a7ca Allow installation on later versions of Python. 2020-08-21 19:55:34 -04:00
Sajith Sasidharan
a9fa70c3d5 Add upper bound for attrs library 2020-08-21 15:55:39 -04:00
Itamar Turner-Trauring
4dae5d867c Add retry logic, listenOnUnused is potentially flaky. 2020-07-28 11:09:02 -04:00
Itamar Turner-Trauring
04db52b9e4 Some manual tweaks to be more likely to work with Python 3.
The Linux distribution porting code was obsolete (using Python APIs not present
in Python 3, /etc/lsb-release isn't a thing on Fedora 31, for example), so
replaced it with maintained third-party library.
2020-07-24 14:06:12 -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
Chad Whitacre
d25c8b1a25 Start ratcheting up passing tests under Python 3 2020-07-13 22:42:48 -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
2eab253b0f Change python_requires in setup.py 2020-07-13 22:27:59 -04:00
Itamar Turner-Trauring
0bc8a441a9 Add pyutil as direct dependency; it was previously indirect dependency via zfec. 2020-07-08 11:56:53 -04:00
Itamar Turner-Trauring
e06d41442a Merge remote-tracking branch 'origin/master' into 3324-humanreadable-python-3 2020-07-07 11:03:33 -04:00
Itamar Turner-Trauring
906d6ac291 Switch to flake8 as a better way of running pyflakes. 2020-07-06 13:50:06 -04:00
Itamar Turner-Trauring
83182e1d38 Remove extraneous semicolon. 2020-07-03 13:15:13 -04:00
Itamar Turner-Trauring
70a029fb81 Tests pass on both Python 2 and Python 3. 2020-07-02 14:26:35 -04:00
Itamar Turner-Trauring
c207a0c932 Port test_humanreadable.py to Python 3. 2020-07-02 14:10:38 -04:00
Jean-Paul Calderone
76d667865e
Remove some top-level packaging related to magic-folders 2020-02-13 10:21:45 -05:00
Jean-Paul Calderone
5bd84895fd
Merge pull request #685 from tahoe-lafs/2392.pywin32
Replace pypiwin32 with pywin32

Fixes: ticket:2392
2020-01-20 14:09:32 -05:00
Jean-Paul Calderone
5dd355fbfa Stop accessing the maybe-deprecated Request.channel attribute 2020-01-17 11:45:08 -05:00
Jean-Paul Calderone
feb6c2f2fc depend on pywin32 instead 2020-01-17 10:59:23 -05:00
Jean-Paul Calderone
c8bd3e9a05 pin a known working foolscap 2020-01-13 10:52:09 -05:00
Jean-Paul Calderone
599419c820 comment about this requirement 2019-12-18 15:31:17 -05:00
Jean-Paul Calderone
8cb91f6f23 Try narrowing the coverage.py requirement
Perhaps the 5.0 release is causing problems
2019-12-18 13:11:59 -05:00
meejah
3b07a2873e
Merge pull request #659 from tahoe-lafs/3255.python3-porting-done-oracle
Add a Python 3 porting-done oracle to the test suite
2019-11-05 05:00:25 +00:00
Jean-Paul Calderone
d8eeaf6196 Declare a cryptography dependency. 2019-10-16 15:20:14 -04:00
Jean-Paul Calderone
971ead3148 Get the syntax right 2019-09-17 11:35:37 -04:00
Jean-Paul Calderone
98b3a644da add some tests 2019-09-17 11:35:37 -04:00
hab
985f659afe Merge remote-tracking branch 'upstream/master' into move-to-twt--introducer 2019-08-16 17:52:05 +01:00
Jean-Paul Calderone
739df66c80 can't have nice things 2019-08-14 14:48:12 -04:00
hab
e2aba7f4bb Use beautifulsoup4+html5lib for web tests.
Assertions about the rendered template will be easier to write and
don't rely on perfect substring matches.
2019-08-14 19:45:16 +01:00
Jean-Paul Calderone
faed622ee9 Add an "sftp" extra and put the Conch dependency there 2019-08-14 09:04:20 -04:00
Jean-Paul Calderone
e977395808 We can use the "compatibility" comparison now. 2019-08-13 19:11:44 -04:00
Jean-Paul Calderone
f1bc71811e Update this dated comment 2019-08-13 19:11:35 -04:00
Jean-Paul Calderone
e2ec4d3fa4 Get rid of _auto_deps.{install_requires,setup_requires} 2019-08-13 18:54:16 -04:00
heartsucker
67abb02a83 include package data for crypto tests 2019-06-13 22:19:28 -06:00
Jean-Paul Calderone
b477a4656d Also install the test plugins. 2019-05-08 18:42:17 -06:00
Chris Wood
76bb84a77f Express "watchdog" dependency via a setup.py extra
For consistency with PR #388 (a06cf2ea4c)
2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
f20184ce95 Declare our new dependencies 2019-02-25 11:55:47 -05:00
Jean-Paul Calderone
f6e00248bb Explicitly select a pyflakes version 2019-01-24 10:23:26 -05:00
Jean-Paul Calderone
b13f1cc531 try with only one extra 2018-08-06 12:13:33 -04:00
Jean-Paul Calderone
f71bbff877 Basic towncrier skeleton 2018-08-06 10:13:16 -04:00
Brian Warner
05edde9a64 setup.py: unpin pypiwin32, should be fixed by now
At the time we pinned this to v219, I think the v220 on PyPI was broken for
py2.7, or they'd stopped producing newer wheels for py2 but the most recent
py2-capable one was broken. The upstream bug is fixed, so I'll unpin this and
see if it works.
2018-03-30 11:46:15 -07:00
meejah
5f8105ffdd pin pypiwin32 version until upstream bug fixed 2018-01-30 12:51:56 -07: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
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
dc6398d265 setup.py: depend on 'treq' for [test] 2017-07-12 17:07:27 -07:00
David Stainton
e68b331bb1 Add servers of happiness hypothesis testing
Fix happiness test var names

Remove unused imports

Get rid of trailing whitespace
2017-06-05 16:26:46 -06:00
meejah
b0e291b431 remove comment to kick builders 2017-04-26 15:27:06 -06:00
tpltnt
c0888de394 raise RuntimeError if not Python 2 2017-04-21 00:36:16 +02:00
str4d
f139f46803 Use txi2p 0.3.2 to work around SSL issue
See https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2861#comment:14
2017-04-10 12:15:00 -07:00
str4d
9b53cc7676 Specify foolscap[i2p] >= 0.12.6 in setup.py
Missing from be6e0a9c29
2017-04-10 12:15:00 -07:00
Brian Warner
9da041cf0e setup.py/MANIFEST.in: include missing files
Oops, we didn't include test.web in the previous release tarball, or the
tests under integration/ .
2017-01-18 16:28:23 -08:00
David Stainton
223b694313 Remove shutilwhich from setup.py extras 2017-01-09 19:51:38 +00:00
Brian Warner
79ff7ae5cb move 'shutilwhich' dependency out to the [test] extra
This is only used by integration/conftest.py, so we don't need an
unconditional dependency on it.

closes ticket:2856
2016-12-25 14:15:52 -05:00
Brian Warner
a06cf2ea4c express pypiwin32 dep via a setup.py extra
Previously this looked at sys.platform to decide what dependencies to
include. The problem with that approach is that wheels built on a unix box
won't work on windows (and vice versa), when the (pure-python) Tahoe wheels
aren't supposed to be platform-dependent.

setup.py provides a syntax to express this properly, so wheels created on
either platform will include the pypiwin32 dependency in the metadata, but
marked as only being relevant when installing on a win32 platform.

closes ticket:2763
2016-12-24 18:00:13 -05:00
Brian Warner
de4295ae60 require foolscap >= 0.12.5, for ReconnectionInfo 2016-12-08 15:41:37 -08:00
str4d
6071c2b6f8
Implement i2p_provider and --listen=i2p
Closes ticket:2838
2016-10-23 20:30:01 -05:00
Brian Warner
272cb78af1 bump txtorcon dep to 0.17.0
This is the first version that allows us to use unix-domain control
ports for the launched tor.
2016-10-09 01:25:51 -04:00
Brian Warner
2a44a8e8cc setup.py: use python3-safe print() call 2016-09-09 17:09:42 -07:00
Brian Warner
3aac5aa577 'setup.py test' prints message about tox
closes ticket:2799
2016-09-09 16:43:58 -07:00
Brian Warner
7f9b715b3e bump foolscap dep to 0.12.3, for the new tor API
The current version of Foolscap is compatible with the current version
of txtorcon, but not with tahoe. This fixes that.
2016-09-01 20:26:08 -07:00
meejah
72f17afa76 Move check_magicfolder_smoke.py to proper integration tests
This introduces a py.test-based integration suite (currently just
containing magic-folder end-to-end tests). Also adds a tox environment
("integration") to run them.

The test setup is:

 - a "flogtool gather" instance
 - an Introducer
 - five Storage nodes
 - Alice and Bob client nodes
 - Alice and Bob have paired magic-folders
2016-08-30 20:47:47 -06:00
Brian Warner
eb230d1e5f setup.py: add 'tox' and 'i2p' extras
Now you can do `pip install tahoe-lafs[tor]` to get tor support.

The necessary support libraries are also installed with `[test]`, so
unit tests can rely upon importing txtorcon and friends.
2016-08-28 02:42:51 -07:00
Brian Warner
b637636ef9 remove _appname.py file
We no longer need the complexity of choosing the application name at
runtime. This removes the setup.py code which populates the _appname.py
file, and the code in __init__.py which reads it. It does not yet remove
the tests which compare the output of e.g. `tahoe --version` against
`allmydata.__appname__`, which I think could be removed, but that's more
invasive than I want to do right now.

closes ticket:2754
2016-08-11 23:24:11 -07:00
meejah
fd978bfed6 whitespace, and add 'tox' to 'test' extra 2016-08-08 12:35:54 -06:00
Brian Warner
e431faf58c test_cli_*: move files into test/cli/* 2016-08-03 19:10:53 -04:00
Brian Warner
4f56c4b053 split test_mutable.py into smaller files 2016-08-03 14:54:32 -04:00
Zooko
f300801226 remove configuration which causes "python setup.py test" to run all the files in src/allmydata/test 2016-07-12 13:57:30 +00:00