Commit Graph

312 Commits

Author SHA1 Message Date
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
Brian Warner
84a1064b87 setup.py: depend on 'mock' when using [test] extra
I think this is useful enough that we should have it available when
running tests.

refs ticket:2777
2016-04-26 11:21:59 -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
3dcb3c8ed5 setup: remove zip_safe, no one uses eggs anymore
Modern wheels are installed unpacked.
2016-03-26 12:21:57 -07:00
Daira Hopwood
0598c830ed Rename distribution from allmydata-tahoe to tahoe-lafs. fixes ticket:2011
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-25 19:16:01 +00:00
Brian Warner
831b39d8fb remove src/buildtest/ and related build_helper/ test files
This was used to exercise our old virtualenv-like scheme. Now that we
use virtualenv, they're unnecessary. Plus, removing it lets us stop
polluting end-user installs with the extra package (that might
conceivably conflict with some other project that names itself
"buildtest").
2016-03-22 22:56:03 -07:00
Brian Warner
dd84abd9f2 setup.py: work with tox under py3
This allows a python3-based "tox" (as shipped with modern debian and
ubuntu systems) to run setup.py egg_info, update_version, and sdist
commands. It moves the main "tahoe requires py2" check out of setup.py
and into allmydata.scripts.runner.run, where it gets applied at runtime
rather than build time.

It also changes the execfile(_auto_deps.py) and Versioneer-like "ask git
what our version string should be" code to work under both py2 and py3.

fixes ticket:2747
2016-03-22 22:34:42 -07:00
Brian Warner
ce088ad27c setup: remove 'trial' command. Tox is the way.
This removes the "setup.py trial" and "setup.py test" aliases from
setup.cfg, and the custom Trial class from setup.py .

Note that once you have tahoe installed into a virtualenv, "trial
allmydata" is how tests are actually run (that's what tox does).

Having a command for it in setup.py offered two things: a common
setup.py-based target to start tests (like "make check" in a
GNU/automake -style project), and a convenient way to get the
PATH/PYTHONPATH right. "tox" is now the standard way to invoke tests in
python projects, and tox sets up $PATH for us.
2016-03-22 14:00:31 -07:00
Brian Warner
ae1b1e02fc setup.py: remove MySdist and SUMO tarball support. 2016-03-22 13:57:30 -07:00
Brian Warner
5acd63dda3 setup.py: remove dead code 2016-03-22 13:56:57 -07:00
Brian Warner
0f3ce7a17f setup.py: remove 'make_executable' command 2016-03-15 18:19:54 -07:00
Brian Warner
dbe314e8df setup.py: remove __requires__
This is more cleanup from the 1582 zetuptoolzs-ectomy. __requires__ was
used to make sure that 'setup.py test' would have all our dependencies
on sys.path, but has the severe drawback of requiring all deps to be
available before any setup.py command can work, including the 'setup.py
sdist' that tox uses (to populate the new virtualenvs it creates). Now
that we use tox for tests, we don't need 'setup.py test' any more, but
I'll remove that later (after this release). Right now we just need to
get rid of this __requires__ line, as it was causing 'tox' sdist
failures.
2016-03-15 12:33:38 -07:00
Daira Hopwood
19a4bc90e5 Tolerate arguments for 'install' passed to 'update_version' and 'make_executable'.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:31:32 +00:00
Brian Warner
0651991474 copy bin/tahoe from $PATH for the sake of test_runner
This is needed to allow virtualenv-based builds to exercise
test_runner.BinTahoe (and a few others), which expect to run an
executable program in "bin/tahoe". This also helps users who aren't yet
accustomed to the new virtualenv world where they can just run "tahoe"
instead of "bin/tahoe".

This changes the "setup.py make_executable" command to copy the first
"tahoe" executable found on $PATH into bin/tahoe . Previously bin/tahoe
was created by modifying the shbang line of a template stored in
bin/tahoe-script.template (which has been deleted).

It also changes setup.cfg to run "make_executable" before tests,
and *after* an install. Note that you must use "setup.py install" before
"setup.py test", since make_executable requires the installed "tahoe" on
$PATH.

In the future, we hope to get rid of bin/tahoe altogether, and have
these tests run the "tahoe" from $PATH directly.
2016-03-15 17:31:32 +00:00
Daira Hopwood
d8549a2c7f setuptools delenda est. fixes ticket:1582 :-D
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:19:10 +00:00
Leif Ryge
000c148ad8 drop Python 2.6 (.travis.yml, doc, setup.py)
Twisted 15 dropped support for it, which causes Travis CI tests to fail on 2.6.
We still theoretically support older versions of Twisted, so perhaps we should
configure Travis to test with those? I think we should drop Python 2.6 in any
case since distros are all on 2.7 now.

I'm leaving Travis running (and ignoring) the failing PyPy tests because I
don't know why that is there.
2015-12-02 20:18:33 +00:00
Daira Hopwood
7309aed524 Change some instances of "filesystem" that were missed to "file store".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-31 18:21:47 +01:00
Daira Hopwood
07aa5e76b5 Retire the setup_requires hack in cases where it isn't needed (and can cause build problems). refs #2286
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-13 12:49:18 +01:00
Daira Hopwood
409cf22ee9 Bump zetuptoolz version (file changes).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-28 18:52:59 +01:00
Daira Hopwood
19fffc059f Explicitly using "git.cmd" on Windows doesn't always work; use shell=True on Windows instead.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-17 19:10:54 +00:00
Daira Hopwood
e1a3a2001f setup.py: look for a tag named after APPNAME, not necessarily "allmydata-tahoe". refs #1146
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 08:41:45 +00:00
Daira Hopwood
2eeb8ee6f5 setup.py: set distribution.metadata.version from _version.py if we couldn't find it from git.
This simplifies reporting when we don't have the version. Also print the normalized version. refs #2340

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 08:38:37 +00:00
Daira Hopwood
b43447003e setup.py: use constant for _version.py filename.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 07:56:21 +00:00
Daira Hopwood
8e0ec757e7 setup.py: improve error reporting when git commands fail. refs #2340
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 05:29:09 +00:00
Daira Hopwood
3ff7f9bea3 Specify the setuptools egg filename explicitly rather than globbing for it.
(Note that if the version changes in future, this will fail loudly so we'll know we have to change it.)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-10-07 19:28:53 +01:00
Daira Hopwood
d29e956a0f Delete obsolete Trove classifiers.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-10-02 16:26:47 +01:00
Daira Hopwood
6a38a3c54e Rename README.txt to README.rst, and add Travis-CI and Coveralls badges to it.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-09 18:51:44 +01:00
Brian Warner
6ffcb50173 Remove 'trialcoverage' plugin and support code
Closes ticket:2281 (trac).

This removes src/allmydata/test/trial_coverage.py, which was a
in-process way to run trial tests under the "coverage" code-coverage
tool. These days, the preferred way to do this is with "coverage run",
although the actual invocation is a bit messy because of the way
bin/trial uses subprocess.call() to invoke the real entrypoint script
with the right PYTHONPATH (see #1698 for details). Hopefully this will
be improved to use a simpler "coverage run .." command in the future.

This patch also removes twisted/plugins/allmydata_trial.py, which
enabled the "--reporter=bwverbose-coverage" option. Finally it modifies
setup.py to stop looking for that option and adding "trialcoverage" to
the dependencies list, which gets us closer to removing "setup_requires"
entirely.
2014-09-08 17:28:26 -07:00
Daira Hopwood
11809c3367 Add a --coverage option to 'python setup.py test' and 'python setup.py trial'. refs #1698
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-08 22:45:24 +01:00
Brian Warner
a1cc7df23d remove obsolete debian-package building tools
setup.py: stop sometimes-depending upon 'stdeb'
setup.cfg: don't try to alias 'sdist_dsc'
misc/build_helpers/build-deb.py: delete this, it was really old anyways

Closes ticket:2282 (trac).
2014-09-04 22:05:08 -07:00
Daira Hopwood
7db853a777 setup.py: include data files in package_data= with paths relative to src/allmydata/web.
Remove packages= entries and unneeded __init__.py files for those subdirectories.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-03-29 00:41:33 +00:00
Daira Hopwood
37c8b733a5 setup.py: add allmydata/web/static/img/*.png to package_data. refs #1969
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
2013-05-14 17:55:17 +01:00
Daira Hopwood
8a1b2c7aa6 Show git branch in version output. fixes #1953
Also make sure strings in _version.py are correctly escaped, and repair a test.

Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
2013-05-01 22:38:08 +01:00
David-Sarah Hopwood
ae754e9b15 Include allmydata/web/static/css/*.css files in install.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-28 05:21:55 +00:00
Brian Warner
19b2ef9764 Remove darcs from setup.py, remove darcsver egg. Closes #1908.
Also remove lingering traces of darcs from MANIFEST.in,
.darcs-boringfile, setup.cfg, and unit tests.
2013-03-19 16:07:22 -07:00
David-Sarah Hopwood
7130a247cf setup.py: add helpful comment on line that is a SyntaxError in Python < 2.6.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-17 18:27:58 +00:00
David-Sarah Hopwood
7008ffa55e Require at least Python 2.6. fixes #1658
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-15 05:13:30 +00:00
David-Sarah Hopwood
3bdd744b8e Make doubly sure that we fail quickly on future Python 3.x versions. refs #1775
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-15 04:41:53 +00:00
David-Sarah Hopwood
edfb40e57c Ensure that bin/tahoe and setup.py fail quickly on Python 3.3+. fixes #1775
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-15 04:28:35 +00:00
david-sarah
b82cddef7b setup.py and bin/tahoe-script.template: the error when we try to use Python 3 should give the correct minimum Python version (now 2.5). refs #1658 2012-06-11 03:52:16 +00:00
david-sarah
9a76d56fa3 Restore --rterrors option to 'setup.py test' and 'setup.py trial' to keep buildbots happy. refs #1699 2012-05-31 22:23:07 +00:00
david-sarah
972bcb1c42 Change 'setup.py test' and 'setup.py trial' to pass --rterrors to trial by default. Suppress using --no-rterrors. Also pass --until-failure/-u to trial. fixes #1699 2012-05-31 22:00:00 +00:00
david-sarah
e215af8646 Update copyright notices. refs #1686 2012-03-13 20:50:57 +00:00
david-sarah
70b08ddb42 Add a Python 3 blocker to setup.py, to display a better error message when it is run under Python 3. 2012-01-27 01:55:25 +00:00
Brian Warner
9175c2451a fix bundled data under git, remove setuptools_darcs
This uses explicitly enumerated packages= and package_data= arguments to
setup(), rather than relying upon the convenient (but darcs-specific)
functions which would determine these values by asking the revision-control
system.

Note that darcsver is still used, when building from a darcs tree.
2012-01-08 14:12:50 -08:00
Brian Warner
dd2e7a1127 setup.py: stop putting pyutil.version_class/etc in _version.py
allmydata.__version__ can just be a string, it doesn't need to be an instance
of some fancy NormalizedVersion class. Everything inside Tahoe uses
str(__version__) anyways.

Also add .dev0 when a git tree is dirty.

Closes #1466
2011-12-04 21:50:49 -08:00
Brian Warner
7d5ca407a1 setup.py: get version from git or darcs
This replaces the setup.cfg aliases that run "darcsver" before each major
command with the new "update_version". update_version is defined in setup.py,
and tries to get a version string from either darcs or git (or leaves the
existing _version.py alone if neither VC metadata is available).

Also clean up a tiny typo in verlib.py that messed up syntax hilighting.
2011-12-04 20:40:01 -08:00
Brian Warner
5fc9978826 setup.py: umask=022 for 'sdist', to avoid depending on environment
The new tarball-building buildslave had a bogus umask set, causing the 1.9.0
tarballs to be non-other-user-readable (go-rwx), which is a hassle for
packaging. (The umask was correct on the old buildslave, but it was moved to
a new host shortly before the release). This should make sure tarballs are
correct despite the host's setting.

Note to others: processes run under twistd get umask=077 unless you arrange
otherwise.
2011-11-09 10:36:32 -08:00
Brian Warner
a0432a4ec5 tahoe-lafs.org is now HTTPS-always. Update most URLs. 2011-10-29 18:39:46 +00:00
david-sarah
16e6bb2b73 Makefile and setup.py: remove setup.py commands that we no longer need, and their uses in the Makefile. Delete a stale and incorrect comment about updating _version.py. Also fix some coding style checks in the Makefile to operate on all source files. 2011-07-31 20:19:52 -07:00
david-sarah
2ebaa916df Update the dependency on zope.interface to fix an incompatiblity between Nevow and zope.interface 3.6.4. fixes #1435 2011-07-21 16:49:41 -07:00
david-sarah
8b40826774 Update the dependency on Twisted to >= 10.1. This allows us to simplify some documentation: it's no longer necessary to install pywin32 on Windows, or apply a patch to Twisted in order to use the FTP frontend. fixes #1274, #1438. refs #1429 2011-07-21 16:36:58 -07:00
david-sarah
89581eb475 setup.py: don't make bin/tahoe.pyscript executable. fixes #1347 2011-01-30 17:58:09 -07:00
Zooko O'Whielacronx
299e8ad579 replace remaining .html docs with .rst docs
Remove install.html (long since deprecated).
Also replace some obsolete references to install.html with references to quickstart.rst.
Fix some broken internal references within docs/historical/historical_known_issues.txt.
Thanks to Ravi Pinjala and Patrick McDonald.
refs #1227
2011-05-10 12:16:50 -07:00
Zooko O'Whielacronx
2ed6019f78 setup: comment out the setup_requires on setuptools_darcs in order to work-around distribute bug 55
Note that we still inject the setuptools_darcs egg at the beginning of setup.py, which makes the setuptools_darcs plugin work when building dists from tahoe-lafs source so those dists have all of the needed files.
http://bitbucket.org/tarek/distribute/issue/55/revision-control-plugin-automatically-installed-as-a-build-dependency-is-not-present-when-another-build-dependency-is-being
2011-01-30 16:04:20 -08:00
Zooko O'Whielacronx
c1ec785b48 docs: edit running.html, change "http://allmydata.org" to "http://tahoe-lafs.org" in NEWS and README.txt, add Josh Wilcox to CREDITS for his contribution of doc patches 2011-01-28 07:07:00 -08:00
david-sarah
3c161c9a96 Makefile, setup.py: add more source files to pyflakes target and fix their warnings. 2011-01-21 18:07:52 -08:00
david-sarah
6d6f0edc36 Remove obsolete and bit-rotted 'setup.py check-auto-deps' command. Building and running bin/tahoe is a more thorough check. 2011-01-21 18:00:51 -08:00
david-sarah
8b94125b00 Make 'setup.py trial' and 'setup.py test' pass --version-and-path to bin/tahoe by default. 2011-01-21 00:03:28 -08:00
Zooko O'Whielacronx
d34e838c0c setup: increase version number requirement on darcsver from >= 1.7.1 to >= 1.7.2 2011-01-20 21:30:38 -08:00
david-sarah
999339ed4e setup.py: add descriptions for some of the setup commands. ref #1306 2011-01-19 15:33:05 -08:00