Commit Graph

7312 Commits

Author SHA1 Message Date
Jean-Paul Calderone
035dc6dc76 reduce fragility of tests .. maybe?
only trivially, at best, of course.
2018-04-23 11:41:36 -04:00
Jean-Paul Calderone
e1c469e3b6 make sure we pass the client node 2018-04-23 11:41:29 -04:00
Jean-Paul Calderone
cfa33332a5 Add missing information/import 2018-04-23 11:09:24 -04:00
Jean-Paul Calderone
8d104dab1c Move the complicated MagicFolder constructor
All that complexity can be part of MagicFolder itself.
2018-04-23 10:59:33 -04:00
Jean-Paul Calderone
ac6269dd2d Only read magic-folder config from config reader
Also, fix the umask feature which was completely broken previously due
to failure to parse the umask string into an integer.
2018-04-23 10:41:48 -04:00
Jean-Paul Calderone
0bdabacce3 document the node_directory parameter 2018-04-23 10:41:48 -04:00
Jean-Paul Calderone
933d74c1bb
Merge pull request #489 from exarkun/magic-folder-cleanups
Make some trivial magic-folder-related code/doc improvements.
2018-04-20 17:50:44 -04:00
Jean-Paul Calderone
06a1ada624 Remove double-encoding of magic-folder params 2018-04-20 14:43:34 -04:00
Jean-Paul Calderone
b9939f7d4d link to inotify wikipedia page 2018-04-20 14:42:33 -04:00
Jean-Paul Calderone
890360c8ea
Merge pull request #486 from exarkun/2915.disable-hypothesis-deadline
Disable hypothesis deadline and "too slow" health check on CI
2018-04-04 07:32:13 -04:00
Jean-Paul Calderone
2bd63ce27a Tell tox to pass the new env var through 2018-04-03 14:07:17 -04:00
Jean-Paul Calderone
dc4d30f7c2 Switch to TAHOE_LAFS prefix 2018-04-03 14:07:12 -04:00
Jean-Paul Calderone
6bca749592 this is still needed 2018-04-03 13:59:35 -04:00
Jean-Paul Calderone
a218b68d98 Configure CI to use the Hypothesis CI profile 2018-04-03 13:16:53 -04:00
Jean-Paul Calderone
f6f617c33c Teach it about a CI profile
This profile does not have time-based warnings.
2018-04-03 13:15:54 -04:00
Jean-Paul Calderone
da2e4a80cd Get rid of these individual suppressions 2018-04-03 13:15:54 -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
Brian Warner
0c01a5e920 NEWS: update (unedited) to include everything since last release 2018-03-30 11:44:49 -07:00
Brian Warner
920d494e36 appveyor: add _trial_temp/test.log as an "artifact"
Name it "trial_test_log.txt", so it can be read in a browser, not just
downloaded.

I'm hoping this will help track down why
test_magic_folder.RealTest.test_batched_process occasionally times out on
windows.
2018-03-29 19:25:50 -07:00
Brian Warner
a9d10a5a57 Merge branch 'tox-pyinstaller' 2018-03-29 12:19:01 -07:00
Brian Warner
91f639f0d2 travis: add pyinstaller job
We aren't yet using these artifacts (we plan to build the production ones on
our buildbot machines), but this will make sure we don't break the process.
2018-03-29 12:12:20 -07:00
Brian Warner
f1a853e115 travis: simplify commands
We do everything with tox, so the MODE environment variable is really just a
tox environment identifier
2018-03-29 12:11:35 -07:00
Brian Warner
ba835b1414 Merge PR482: fix PyInstaller generation 2018-03-29 11:44:24 -07:00
Chris Wood
8c81ca7958 Remove 'deps = .' from pyinstaller tox testenv 2018-03-29 14:29:42 -04:00
Chris Wood
c850638537 Fix PyInstaller builds
This commit contains a few small changes to fix PyInstaller frozen
builds (which were recently broken in a few ways by changes introduced
with `tahoe invite`, `tahoe daemonize`, and the addition of "setuptools
>= 28.8.0" to setup_requires) and removes a couple of hacks that are no
longer necessary to create working frozen tahoe executables with
PyInstaller.
2018-03-29 14:11:15 -04:00
Brian Warner
d395a11208 travis: clean up the config file, use "language: python" on linux
The OS-X builders don't offer a python environment, so we have to build
things ourselves (installing tox/etc with --user, instead of into the
virtualenv that "language: python" gives us).
2018-03-28 19:26:26 -07:00
Brian Warner
479588d427 Merge branch '2913-travis-osx'
closes ticket:2913
2018-03-28 18:39:41 -07:00
Brian Warner
acc2b5744c tox: use newer (tox-2.4) settings, pre-install 'incremental'
* use 'extras' for our `[test]` additions instead of abusing 'deps'
* use 'deps' to pre-install 'incremental', which we couldn't do when we
  filled it with --editable to get `[test]`
* pre-install 'incremental' to work around a bug that strikes on Travis under
  OS-X-10.12 as PyPI gradually disables TLS<1.2. See ticket 2913 for details
* remove redundant configuration lines
* require tox-2.4 or newer, to get 'extras'

refs ticket:2913
https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2913
2018-03-28 17:42:01 -07:00
Brian Warner
de41ecee46 Merge branch '2912-unicode-error'
closes ticket:2912

Also adds a new travis builder (with LANG=C) to exercise the same unicode
problems that several of our buildbot workers see.
2018-03-28 17:40:29 -07:00
Brian Warner
8ae1b52070 travis: explicitly set LANG on all builds (to C or en_US.UTF-8) 2018-03-28 17:09:51 -07:00
Brian Warner
4cd8c699e2 travis: use LANG=C instead of unsetting it entirely
Thanks to exarkun for the suggestion. The failing buildbots have LANG unset,
but I'm pretty sure that defaults to LANG=C, and LANG=C triggers the failures
just as well as LANG= did.
2018-03-28 16:16:52 -07:00
Brian Warner
ce473bd5f4 cli.test_alias: move skip-unless utility to common_util.py
next to the other skip-unless function
2018-03-28 15:30:24 -07:00
Brian Warner
0616aa7de7 test_absolute_storage_dir: don't use uSNOWMAN on non-unicode platforms
Exercising the unicode possibilities are nice, but not critical to this test,
so let's just avoid the non-ascii characters when the filesystem encoding
can't handle them
2018-03-28 15:17:23 -07:00
Brian Warner
3bc099108a travis: add a LANG= linux build
to catch things like ticket:2912
(https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2912)

Also clean up other "list"-ish keys to avoid causing too many builds:

* "os": move this into "matrix"
* "python": 2.7 is the default, and we weren't running the pypy build
  anyways (not sure why, something else in this config must have disabled it,
  maybe when we moved away from language: python)
* "allow_failures" was causing a pypy build to happen even without listing it
  in "python"

We now have exactly three builds:

* linux
* linux with LANG=
* OS-X
2018-03-28 14:32:46 -07:00
Brian Warner
f155ade4ad misc/simulators/ringsim.py: fix LGTM nit
We haven't used this tool for a decade, but LGTM flagged a static-analysis
warning. Fixing it to see if the LGTM dashboard is looking at new builds.
2018-03-27 23:51:02 -07:00
Brian Warner
0964bc0d05 test_alias: skip unicode tests on non-unicode platform
This was flunking the OS-X buildbot, which runs in an environment without
$LANG being set, and thus encodingutil deduces (correctly but unhelpfully)
that we're limited to ASCII. Other tests detect this situation and raise
SkipTest, so let's do that here too.
2018-03-27 15:56:10 -07:00
Brian Warner
906c4f4f32 move tarball generation to tox.ini
and change the Makefile to delegate the "tarballs" target to tox

This should fix the ticket:2910 problem of the "tarballs" buildbot failing.
2018-03-27 14:34:32 -07:00
Brian Warner
526b97c753 tox: add 'skipsdist=True', hoping this will fix buildbot
There appears to be a bug in setuptools, triggered by running "python
setup.py sdist" with setuptools==11.3 in that python's environment, on a
project whose setup.py has a setup_requires= that requests setuptools >=
28.8.0. When setuptools is upgraded from inside setup.py, it gets into a
weird hybrid state where it's using setup() keyword-argument plugins from the
newer setuptools, but those plugins reference functions that aren't present
in the older setuptools, and the sdist command fails with an import
error (module object has no attribute 'check_specifier').

We don't actually need the sdist: all our tox test environments use
"skip_install = true", because we install tahoe via the "deps" line (so we
can get the `[test]` extra, and get a faster symlink-ish "editable" install).
That install uses "pip", which uses the pip inside the new virtualenv, which
either uses a newer version of setuptools (dependent upon what version of
"virtualenv" was installed in the parent environment, next to tox) or somehow
allows setuptools to be upgraded without exposing this weird broken hybrid
state.

Either way, skipping the sdist seems to fix this problem.

refs ticket:2910
https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2910
2018-03-27 14:08:17 -07:00
Jean-Paul Calderone
6ec5005ccd
Merge pull request #474 from exarkun/1587.basic-progress-report
Basic progress reporting for `tahoe backup`

Fixes ticket:1587
2018-03-27 07:47:01 -04:00
Jean-Paul Calderone
fa567958c3 2 blank between top-level; 1 blank between methods
Just like PEP8 says
2018-03-26 20:15:45 -04:00
Jean-Paul Calderone
bafe043b73 Explicit new-style class 2018-03-26 20:12:47 -04:00
Jean-Paul Calderone
b78c6cc5ed Implement the progress reporting 2018-03-26 11:34:31 -04:00
Jean-Paul Calderone
6690aa7337 restore, with tests, checked counters 2018-03-26 10:27:19 -04:00
Jean-Paul Calderone
c55d2823ae first pass refactoring
now collect backup work up-front instead of mixed with processing
2018-03-26 10:02:42 -04:00
Brian Warner
38da8f471c test_web: appease pyflakes 2018-03-21 00:22:31 -07:00
Brian Warner
e6ddd03338 test_web: remove noisy print statement 2018-03-21 00:13:52 -07:00
Brian Warner
57066b035b Merge branch '470-tox': upgrade setuptools to fix travis
This should also (hopefully) fix the LGTM baseline build, because they appear
to downgrade all dependencies to the lowest declared-acceptable version
before performing their static analysis, and the previous setuptools-11.3 was
too old to support some of the syntax used in zfec's setup.py (specifically
the python clause in `"argparse > 0.8 ; python <= '2.7'"`).

PR 470 updated the declared setuptools requirement, but it broke Travis on
OS-X because that platform had a really old setuptools-18.5, and apparently
upgrading from 18.5 to the current 39.0.1 during the tox process caused
internal consistency problems (probably mixing pieces of the two different
setuptools modules). This branch fixes it by telling travis to upgrade
setuptools before we run tox.

closes tahoe-lafs/tahoe-lafs#470
2018-03-20 23:14:16 -07:00
Brian Warner
40d8ad68c1 travis: add --upgrade, so we actually get a newer setuptools 2018-03-20 17:50:26 -07:00
meejah
544f87a318 need setuptools for PEP440 identifiers
(needs fixup, probably, just depending on latest setuptools)
2018-03-20 17:45:08 -07:00
Brian Warner
6f20dbc9a3 travis: install latest setuptools before running tox
The Travis OS-X worker has a very old setuptools-18.5 in /System. This is too
old to understand several important setup.py keys like `python_requires`, and
crashes when tryung to run the first invocation of tox (`tox -e codechecks`).
I think tox is using the system python (with which `tox` was invoked) to run
`setup.py egg_info` (to learn the dependencies), which gets the old
system-installed setuptools. Ideally it'd use the python from the
newly-created virtualenv, which would use whatever version of setuptools was
bundled with the `virtualenv` package (probably newer, given that
`virtualenv` itself should have been installed a moment earlier as a
dependency of `tox`.

I consider this a bug in Tox (https://github.com/tox-dev/tox/issues/507), but
the workaround is to configure Travis to install the most recent `setuptools`
along with `tox`.

refs tahoe-lafs/tahoe-lafs#470
2018-03-20 17:31:21 -07:00