Commit Graph

6257 Commits

Author SHA1 Message Date
Brian Warner
141ff17b91 auto_deps: bump to setuptools>=20.3
20.3 is the current version as of today. I'm not really sure what
version we need, but this is better than the previous zetuptoolz "0.6c6"
requirement. Closes ticket:2744.
2016-03-17 22:12:04 -07:00
Brian Warner
42ede22f1e tox: run tahoe --version for buildbot, remove update_version
Our setup.cfg ensures that 'setup.py update_version' happens early
enough. And doing it from tox's commands= is too late anyways (because
we aren't using Versioneer, so the _version.py file must be updated
before tox installs a static copy into the virtualenv).

The buildbot's main run-trial-with-tox command has been updated to scan
for the 'tahoe --version' output and include the version string in the
buildbot results.
2016-03-17 22:01:33 -07:00
Brian Warner
8835ba8dd3 README: add link to OS-X.rst 2016-03-16 12:50:48 -07:00
Brian Warner
d5c34d46bc Merge branch 'fix-osx-pkg' 2016-03-16 12:40:30 -07:00
Brian Warner
136c16e5ec docs: explain what the OS-X package does and does not provide. 2016-03-16 12:38:26 -07:00
Brian Warner
b5b2036d37 OS-X: fix package generation
The old scheme depended upon the bespoke pseudo-virtualenv scheme that
we cooked up long ago (it copied the entire source tree, bin/tahoe and
support/ and all, into the mac .pkg archive). When we moved to real
virtualenvs, that broke.

This new scheme only installs a populated virtualenv into the archive.
It replaces the entry-point bin/tahoe with a script that behaves a lot
like the old bespoke script: it inserts a relative site-packages/ into
sys.path before importing allmydata.scripts.runner and calling run().

This still depends upon the end-users $PATH having a python that is
compatible with the binary modules we've compiled here, and there are
three potentially-differing Pythons to worry about (homebrew, python.org
installers, and Apple's native /usr/bin/python). We'll have to see if
they tend to differ in ways that cause problems (I think the maintainers
generally try to avoid that). If that's an issue, the next level up is
to use bbfreeze or py2app or something in that category, to ship an
entire python, and not just a bundle of libraries.
2016-03-16 12:31:21 -07:00
Brian Warner
082bc3de6f OS-X installer license: wrap to fit, update CC 2016-03-16 12:23:44 -07:00
Brian Warner
be463cd36c OS-X: move Contents down into misc/ 2016-03-16 12:23:13 -07:00
Brian Warner
c8edddb31b travis: enable cache, should speed up builds a lot
This will allow travis builders to cache generated wheels between
builds, so all the dependencies don't have to get re-built every time.
2016-03-15 18:41:59 -07:00
Brian Warner
a2795ea5ff Merge PR #252 'no-executable' 2016-03-15 18:38:08 -07:00
Brian Warner
0f3ce7a17f setup.py: remove 'make_executable' command 2016-03-15 18:19:54 -07:00
Brian Warner
36865a329c fix test_runner.BinTahoe.test_the_right_code
With our new tox/pip/virtualenv -based environment, we no longer need
the bin/tahoe script, so the tests that examine it needed to change.
In particular, we no longer need to be running tests from the root of a
source tree. Instead, what we care about is that the subprocess 'tahoe'
is importing code from the same place that the unit test .py files live.
2016-03-15 18:15:29 -07:00
Brian Warner
b93056d34d turn on appveyor CI 2016-03-15 13:02:56 -07:00
Brian Warner
3a02170d06 README/NEWS: new pip/virtualenv -based docs 2016-03-15 12:33:50 -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
fa99b98706 Merge pull request #251 from tahoe-lafs/1582.setuptools-delenda-est.2
1582.setuptools-delenda-est.2
2016-03-15 17:54:17 +00:00
Daira Hopwood
23025ddc51 Travis build fixes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:31:32 +00:00
Daira Hopwood
554332dff9 Make 'pip install -e .' or 'setup.py develop' update the version.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:31:32 +00:00
Daira Hopwood
2e91068da1 Use version information from pkg_resources when we can't get it from import.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:31:32 +00:00
Daira Hopwood
8ddfc3def0 Tolerate IrrationalVersionError when parsing version numbers of dependencies,
without a warning. fixes ticket:2733

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:31:32 +00:00
Daira Hopwood
c77f251408 Remove make_executable from 'test' and 'install' aliases in setup.cfg.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:31:32 +00: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
fe360ee47b Fix tests that were incorrectly skipping due to not being able to find the 'tahoe' script.
TODO: this may have broken testing "frozen" builds.
refs ticket:1582

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:31:32 +00:00
Daira Hopwood
aa8a5be037 On Windows we need pypiwin32. refs ticket:1582
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:31:13 +00:00
Daira Hopwood
f1890c09f2 Delete some crufty workarounds.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:30:35 +00:00
Daira Hopwood
389efdf02a Delete "develop --prefix=supprt make_executable" from [aliases] in setup.cfg. refs ticket:1582
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:28:24 +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
Brian Warner
1fd2fc6808 Merge branch 'pr248': small README edits 2016-03-13 13:01:35 -07:00
Zooko
e3f47919d0 edit to explain to newbies what "the top-level directory" is
I think confusion about this may behind BG <n0trab@yahoo.com>'s recent report
of failure-to-install on tahoe-dev (2016-02-26).
2016-03-13 14:35:48 +00:00
Zooko
a7894a8507 edit for accuracy 2016-03-13 14:34:31 +00:00
Zooko
57cc4e919d edit for readability 2016-03-13 14:32:46 +00:00
Brian Warner
24ed8431b2 move 'check-memory' from Makefile into tox.ini
So use 'tox -e check-memory' instead of 'make check-memory'. The tox
version will create a virtualenv and install tahoe for you before
running the tests, removing one use of the 'tahoe @FILENAME' hack (which
was used to run a python file with a PYTHONPATH set to import tahoe's
dependencies).
2016-03-08 21:19:41 -08:00
Brian Warner
e052134309 add initial tox support
This adds support for two environments: 'py27' for basic tests, and
'deprecations' to run tests with deprecation warnings turned on (the
latter is meant to be run from a buildbot step that knows how to count
and format the warnings nicely).
2016-03-08 21:16:36 -08:00
Brian Warner
eb0e786344 show-tool-versions.py: add tox
As we fix ticket:#1582, we'll move to 'tox' for running tests (which
creates its own virtualenv), so I'd like to see which buildslaves
currently have it installed, and which need to be updated.
2016-03-08 09:33:01 -08:00
Brian Warner
28f2a0f12d test_util: tolerate unordered repr of NumDict
NumDict does not make any claims about the order of its repr(), so the
test needs to be prepared for it to be stringified in any order. On unix
the old test happened to pass, but on certain windows boxes (maybe
certain versions of python?), it failed. Fixes ticket:2736.
2016-02-23 10:51:25 -08:00
Brian Warner
428ca04e2c show-tool-versions: add 'virtualenv' 2016-02-22 12:41:35 -08:00
Brian Warner
186f6d4a59 Merge pull request #236 from daira/2725.timezone-test.0
Fix tests on platforms without time.tzset (e.g. Windows)
2016-02-08 14:39:28 -08:00
Brian Warner
f03abe66cd NEWS: add notes about all changes since 1.10.2
Needs expansion, pruning, editing, but this should include everything up
to this point.
2016-02-06 17:18:16 -08:00
Brian Warner
75135af65f Makefile: run pyflakes as 'pyflakes', not python which pyflakes
This funky invocation syntax was introduced in 2007 (commit 56ad518),
with a comment of "make pyflakes run faster". I no longer have any idea
why that might have been the case. It's time to simplify this, because
some of our buildslaves have pipsi-installed "pyflakes" on their $PATH,
which use a "python" that's different than the one on $PATH.
2016-02-05 12:32:02 -08:00
Daira Hopwood
e4d536e609 Avoid spurious SUCCESS!?? for test_format_time_y2038.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-02-05 20:04:43 +00:00
Daira Hopwood
c6449b687a Fix tests on platforms without time.tzset (e.g. Windows). fixes ticket:2725
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-02-05 19:14:09 +00:00
zooko
7a7faec76b Merge pull request #235 from leif/rm_intro_encoding_params
remove introducer's set_encoding_parameters
2016-02-05 17:57:53 +00:00
Leif Ryge
56a9f5adaf remove introducer's set_encoding_parameters
I'm not sure why this ever existed, but it doesn't appear to be used.

(If an introducer called a client's set_encoding_parameters method it would
keep the provided parameters in an instance attribute but would not actually
use them.)
2016-02-05 11:44:12 +00:00
Brian Warner
46fd26e7d2 bump foolscap dependency to 0.10.1
The tahoe-deps repo was also updated, and the tahoe-deps tarball was
regenerated.

Closes ticket:2722
2016-02-02 22:19:57 -08:00
Daira Hopwood
e1285d27b9 Fix an error-reporting problem in test_welcome (this does not fix the underlying failure). refs ticket:2725
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-02-02 19:34:01 +00:00
Daira Hopwood
278ee0db76 Fix an error handling path that would never have been reached. fixes ticket:2543
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-02-02 18:55:34 +00:00
Daira Hopwood
0d6fcf445e Remove -u shortcut for 'tahoe ls --uri' which clashes with --node-url. fixes ticket:1949, ticket:2137
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-02-02 18:45:52 +00:00
Daira Hopwood
498563da69 Simplify an existing test by using TimezoneMixin.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-02-02 18:11:24 +00:00
Daira Hopwood
0abbf474b0 Don't call time.tzset() if the platform doesn't have it. fixes ticket:2723
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-02-02 18:10:33 +00:00