Daira Hopwood [Tue, 3 Feb 2015 23:47:31 +0000 (23:47 +0000)]
More robust error handling in windows_getenv. refs #1674
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Brian Warner [Tue, 3 Feb 2015 19:10:36 +0000 (11:10 -0800)]
tahoe_cp.py: clean up unicode handling
Daira Hopwood [Sat, 11 Oct 2014 22:45:13 +0000 (23:45 +0100)]
Changes filename to unicode before placing the file. refs #2027
Author: Mark Berger <mark.berger.j@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Sat, 11 Oct 2014 22:43:23 +0000 (23:43 +0100)]
Adds test_ticket_2027 to test_cli.Cp. refs #2027
Author: Mark Berger <mark.berger.j@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 29 Jan 2015 18:32:05 +0000 (18:32 +0000)]
Fix user-path-expansion on Windows for non-ASCII home directories. refs #1674
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 30 Jan 2015 00:50:18 +0000 (00:50 +0000)]
Change uses of os.path.expanduser and os.path.abspath. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Mon, 25 Aug 2014 18:09:40 +0000 (19:09 +0100)]
Use absolute paths in tahoe cp and tahoe backup. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 30 Jan 2015 00:47:09 +0000 (00:47 +0000)]
Add support in abspath_expanduser_unicode for expanding relative to a base path. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 30 Jan 2015 00:04:11 +0000 (00:04 +0000)]
Quote local paths correctly. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 30 Jan 2015 00:05:14 +0000 (00:05 +0000)]
Use "long" paths prefixed with \\?\ on Windows. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Mon, 25 Aug 2014 17:24:59 +0000 (18:24 +0100)]
fileutil cleanup: delete the unused open_or_create function.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Mark Berger [Tue, 23 Jul 2013 16:53:22 +0000 (12:53 -0400)]
Adds _servers_with_shares to ServermapUpdater
When calculating the query boundary for updates to mutable files,
instead of using servers that used to have shares, use servers we
have added to the servermap. This way the querying process won't finish
until we have finished interacting with the servers that have shares.
This fixes the race condition which sometimes caused the querying process
to finish before the updater was done talking to servers with shares.
Brian Warner [Tue, 27 Jan 2015 06:05:38 +0000 (22:05 -0800)]
Revert "Enable DeprecationWarnings for Travis-CI even on Python 2.7. refs #2366"
This reverts commit
cec7727bf980f62ba5e98d11776edb658860e350.
It caused travis (for py2.7) to fail on these tests:
* allmydata.test.test_runner.BinTahoe.test_version_no_noise
* allmydata.test.test_runner.RunNode.test_client_no_noise
* allmydata.test.test_system.SystemTest.test_filesystem_with_cli_in_subprocess
Daira Hopwood [Thu, 22 Jan 2015 02:49:16 +0000 (02:49 +0000)]
Enable DeprecationWarnings for Travis-CI even on Python 2.7. refs #2366
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 22 Jan 2015 02:29:50 +0000 (02:29 +0000)]
Merge pull request #137 from warner/2312-deprecation
Appease req.setHeader by passing bytes, not ints.
Brian Warner [Wed, 21 Jan 2015 18:31:31 +0000 (10:31 -0800)]
Appease req.setHeader by passing bytes, not ints.
twisted.web.http.Request.setHeader() really wants a "bytes" object, but
we've been passing integers like len(body). Twisted-12.3 started to
complain about this (with a DeprecationWarning), but the warning is
usually silenced because py2.7 disables deprecations by default.
This fixes Tahoe's misbehavior, but others remain (in Nevow, at least).
I plan to set up some tooling to run tests with
PYTHONWARNINGS=default::DeprecationWarning and collect others. We won't
be able to fix the ones that occur outside of Tahoe, but at least we
should be able to fix our own.
refs ticket:2312
Brian Warner [Wed, 21 Jan 2015 01:25:02 +0000 (17:25 -0800)]
Merge branch 'pr136' (WUI accessibility fix #1961)
This closes ticket:1961 .
Brian Warner [Wed, 21 Jan 2015 01:24:27 +0000 (17:24 -0800)]
welcome.xhtml: improve layout by floating the icons to the left.
This uses less vertical space.
Nathan Wilcox [Wed, 21 Jan 2015 00:31:56 +0000 (16:31 -0800)]
Introduce icons with distinct shape for connection status display on the front wui page...
This replaces the status display which was only distinct by color which is a usability issue for color-blind users. This commit includes test coverage by way of pattern matching on rendered templates. The PNG icons are conversions of original SVG source which I've included and placed in the public domain.
Daira Hopwood [Fri, 26 Dec 2014 22:29:42 +0000 (22:29 +0000)]
Latest cryptography depends on enum34.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 20 Jan 2015 18:52:02 +0000 (10:52 -0800)]
dependecy specs: tolerate new PEP440 semantics too
The latest setuptools (version 8) changed the way dependency
specifications ("I can handle libfoo version 2 or 3, but not 4") are
interpreted. The new version follows PEP440, which is simpler but
somewhat less expressive. Tahoe's _auto_deps.py now uses dep-specs which
are correctly parsed by both old and new setuptools.
Fixes ticket:2354.
* Restrict the requirements in _auto_deps.py to work with either the old
or PEP 440 semantics.
* Update check_requirement and tests to take account of changes for PEP
440 compatibility.
* Fix an error message.
* Remove a superfluous TODO.
Daira Hopwood [Thu, 15 Jan 2015 02:44:34 +0000 (02:44 +0000)]
Merge pull request #135 from vu3rdd/182-osx-packaging-7
Makefile: make "build-osx-pkg" build target depend on the "build" target
Ramakrishnan Muthukrishnan [Tue, 13 Jan 2015 09:31:46 +0000 (15:01 +0530)]
Makefile: make "build-osx-pkg" build target depend on the "build" target
Daira Hopwood [Tue, 6 Jan 2015 19:14:47 +0000 (19:14 +0000)]
Update docs for SFTP public key auth. refs #1411
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 6 Jan 2015 19:09:04 +0000 (19:09 +0000)]
Reserve all keytypes starting with "ssh-" in an accounts file, rather than only "ssh-rsa" and "ssh-dsa".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 6 Jan 2015 18:36:50 +0000 (18:36 +0000)]
Add Jean-Paul Calderone to CREDITS. refs #1411
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 6 Jan 2015 18:10:41 +0000 (18:10 +0000)]
Simplify key checking code by inlining _allowedKey and _correctSignature. refs #1141
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Jean-Paul Calderone [Sun, 4 Jan 2015 14:48:38 +0000 (09:48 -0500)]
Give out FTPAvatarID objects instead.
Jean-Paul Calderone [Sun, 4 Jan 2015 14:44:56 +0000 (09:44 -0500)]
Add the rest of the failure-case tests and a success-case test. Update the implementation to make them pass.
Jean-Paul Calderone [Sun, 4 Jan 2015 13:02:49 +0000 (08:02 -0500)]
Add a test for the bad key case of unauthorized ssh key checking.
Jean-Paul Calderone [Sun, 4 Jan 2015 13:02:23 +0000 (08:02 -0500)]
Add a test for one unauthorized case of ssh key checking.
Daira Hopwood [Tue, 30 Dec 2014 19:56:29 +0000 (19:56 +0000)]
Merge pull request #133 from matthazinski/master
Move UDP listen inside try block
Matt Hazinski [Tue, 30 Dec 2014 01:21:24 +0000 (20:21 -0500)]
Move UDP listen inside try block
Daira Hopwood [Fri, 5 Dec 2014 23:29:07 +0000 (23:29 +0000)]
Fix minor dependencies on "allmydata-tahoe" as appname.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 5 Dec 2014 17:53:13 +0000 (17:53 +0000)]
Makefile: make APPNAME a variable.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 5 Dec 2014 17:52:13 +0000 (17:52 +0000)]
Update obsolete paths in munin plugin comments.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 5 Dec 2014 17:50:59 +0000 (17:50 +0000)]
misc/build_helpers/run_trial.py is no longer used.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 27 Nov 2014 16:37:25 +0000 (16:37 +0000)]
Work around a Travis-CI configuration change.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Sun, 23 Nov 2014 05:46:33 +0000 (05:46 +0000)]
test_storage_client.py: add test_get_available_space_{old,new}.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Leif Ryge [Sat, 22 Nov 2014 04:30:02 +0000 (04:30 +0000)]
add available-space to VERSION_DEFAULTS
as per warner's suggestion in https://github.com/warner/tahoe-lafs/pull/4
Leif Ryge [Sat, 22 Nov 2014 02:12:36 +0000 (02:12 +0000)]
tests for "Available" column (#648)
thanks to the anonymous author who posted this on trac
Leif Ryge [Thu, 20 Nov 2014 22:46:20 +0000 (22:46 +0000)]
add "Available" column to welcome page (#648)
add get_available_space() to NativeStorageServer
It uses a new 'available-space' key in the server's v1 version dict, or falls
back to 'maximum-immutable-share-size' (which presently always has the same
value but could have a different meaning in the future).
This is a squash merge of
9773555bb87fab71145ad7a0e84785a4e92d11f7
Daira Hopwood [Sun, 23 Nov 2014 03:52:49 +0000 (03:52 +0000)]
Merge pull request #126 from leif/remove-cruft
remove NativeStorageServer's unused min_shares argument
Leif Ryge [Sat, 22 Nov 2014 04:08:45 +0000 (04:08 +0000)]
rm NativeStorageServer's unused min_shares argument
zooko [Fri, 21 Nov 2014 17:46:05 +0000 (17:46 +0000)]
Merge pull request #125 from tahoe-lafs/2340-version-error-reporting-3
2340 version error reporting 3
Daira Hopwood [Fri, 21 Nov 2014 05:00:05 +0000 (05:00 +0000)]
setup.py: look for a tag named after APPNAME, not necessarily "allmydata-tahoe". refs #1146
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 21 Nov 2014 08:38:37 +0000 (08:38 +0000)]
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>
Daira Hopwood [Fri, 21 Nov 2014 07:56:21 +0000 (07:56 +0000)]
setup.py: use constant for _version.py filename.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 21 Nov 2014 05:14:18 +0000 (05:14 +0000)]
setup.py: improve error reporting when git commands fail. refs #2340
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Brian Warner [Sun, 26 Oct 2014 18:56:57 +0000 (11:56 -0700)]
test-osx-pkg.py: remove unused import
Brian Warner [Sun, 26 Oct 2014 18:56:05 +0000 (11:56 -0700)]
Merge branch '1159-notac-4'
Daira Hopwood [Tue, 21 Oct 2014 18:15:32 +0000 (19:15 +0100)]
Improve error reporting and help for start/stop/etc. commands.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 21 Oct 2014 18:04:14 +0000 (19:04 +0100)]
startstop_node.py: rename internal command and twistd plugin class used to start tahoe nodes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Brian Warner [Wed, 23 May 2012 07:19:27 +0000 (00:19 -0700)]
'tahoe start': stop using the contents of .tac files
Instead of constructing a sys.argv for 'twistd' that reads the node's
.tac file, we construct arguments that tell twistd to use a special
in-memory-only plugin that creates the desired node instance directly.
We still use the name of the .tac file to decide which kind of instance
to make (Client, IntroducerNode, KeyGenerator, StatsGatherer), but never
actually read the contents of the .tac file. Later improvements could
change this to look inside the tahoe.cfg for a nodetype= directive, etc.
This also makes it easy to have "tahoe start BASEDIR" pass the rest of
its arguments on to twistd, so e.g. "tahoe start BASEDIR --nodaemon
--profile=prof.out" does what you'd expect "twistd --nodaemon
--profile=prof.out" to do. "tahoe run BASEDIR" is thus simply aliased to
"tahoe start BASEDIR --nodaemon". This removes the need to special-case
--profile and --syslog.
I also removed some of the default logging behavior:
before:
'tahoe start' = 'twistd --logfile BASEDIR logs/twistd.log'
'tahoe start --profile' adds '--profile=profiling_results.prof --savestats'
'tahoe run' = 'twistd --nodaemon --logfile BASEDIR/logs/tahoesvc.log'
after:
'tahoe start' = 'twistd --logfile BASEDIR logs/twistd.log'
unless --logfile, --nodaemon, or --syslog are passed
'tahoe start --profile' invalid, use 'tahoe start --profile=OUTPUT'
'tahoe run' = 'twistd --nodaemon'
so log messages go to stdout
This finally enables 'tahoe run' to work with all node types, including
the key-generator and stats-gatherer.
It gets 'tahoe start' one step closer to accepting --reactor= . To
actually accomplish this will require this file, the enclosing
__init_.py files, and everything they import to avoid importing the
reactor. (if anything imports twisted.internet.reactor before
startstop_node.start() gets to run, then --reactor= comes too late).
That will take a lot of work, and requires lazy-loading of many core
libraries (foolscap.logging in particular), and removing a lot of code
from src/allmydata/__init__.py .
Daira Hopwood [Tue, 21 Oct 2014 15:11:05 +0000 (16:11 +0100)]
Merge pull request #122 from tahoe-lafs/182-osx-packaging-6
182 osx packaging 6
Daira Hopwood [Tue, 7 Oct 2014 00:40:19 +0000 (01:40 +0100)]
misc/build_helpers/test-osx-pkg.py: script to test the OS X pkg.
After extracting the contents of the package, this script looks at the
output of 'tahoe --version-and-path' to see if the modules are installed
and invoked from the right path.
Author: Ramakrishnan Muthukrishnan <ram@leastauthority.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Ramakrishnan Muthukrishnan [Mon, 13 Oct 2014 16:01:16 +0000 (21:31 +0530)]
Distribution.xml file and scripts for building the OSX package.
Ramakrishnan Muthukrishnan [Fri, 3 Oct 2014 15:37:14 +0000 (21:07 +0530)]
clean target should remove the pkg file.
Daira Hopwood [Mon, 6 Oct 2014 22:46:29 +0000 (23:46 +0100)]
New make target for OS X package creation.
Author: Ramakrishnan Muthukrishnan <ram@leastauthority.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 7 Oct 2014 00:40:58 +0000 (01:40 +0100)]
Delete the obsolete misc/build_helpers/test_mac_diskimage.py script.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 7 Oct 2014 18:00:53 +0000 (19:00 +0100)]
Update CREDITS.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Mon, 13 Oct 2014 17:47:23 +0000 (18:47 +0100)]
bin/tahoe @python should always invoke the same Python that ran bin/tahoe.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 10 Oct 2014 19:39:18 +0000 (20:39 +0100)]
Remove an unused import.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 10 Oct 2014 19:36:08 +0000 (20:36 +0100)]
Don't call filenode.get_size() twice. refs #1634
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
zooko [Fri, 10 Oct 2014 19:16:12 +0000 (19:16 +0000)]
Merge pull request #120 from zancas/1634-dont-return-none_5
1634 dont return none 5
zancas [Fri, 10 Oct 2014 02:37:32 +0000 (20:37 -0600)]
Do not report 'size' metadata if get_size returns None
zancas [Tue, 7 Oct 2014 23:36:03 +0000 (17:36 -0600)]
exercise all branches of new helper "get_filenode_metadata"
Note fix following issues from origial commit:
refactor unittests, fix style, add test
(0) use CommonFixture as mixin to increase DRYness
(1) self.failUnlessIn('size', metadata.keys()) --> self.failUnlessIn('size', metdata)
(2) test_size_is_not_None --> test_size_is_0 AND test_size_is_1000
zancas [Tue, 7 Oct 2014 19:11:31 +0000 (13:11 -0600)]
refactor get_filenode_metadata(...) into common.py
Daira Hopwood [Wed, 8 Oct 2014 11:57:31 +0000 (12:57 +0100)]
Correct a comment about which version of Twisted introduces a pywin32 dependency (12.3.0, not 13.0).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 7 Oct 2014 20:04:40 +0000 (21:04 +0100)]
Improve comments in _auto_deps.py. refs #2249, #2028, #2193, #2005, #1258
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 7 Oct 2014 18:28:53 +0000 (19:28 +0100)]
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>
Daira Hopwood [Mon, 29 Sep 2014 17:50:54 +0000 (18:50 +0100)]
.travis.yml: remove workaround to install Twisted 13.0 which should no longer be needed.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 30 Sep 2014 18:03:25 +0000 (19:03 +0100)]
_auto_deps.py cosmetics and cleanup.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 7 Oct 2014 18:11:13 +0000 (19:11 +0100)]
Only allow pyOpenSSL >= 0.14 if it is already installed. fixes #2193
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 7 Oct 2014 18:11:00 +0000 (19:11 +0100)]
Make dependencies different for Windows and non-Windows. fixes #2249
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 7 Oct 2014 18:06:14 +0000 (19:06 +0100)]
Move require_more() to top-level.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 25 Sep 2014 17:54:14 +0000 (18:54 +0100)]
Refactoring to move the not_import_versionable and ignorable package lists to _auto_deps.py.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 26 Sep 2014 00:51:09 +0000 (01:51 +0100)]
Rename zetuptoolz egg to reflect new version number.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 26 Sep 2014 00:04:32 +0000 (01:04 +0100)]
Bump zetuptoolz version number.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 2 Oct 2014 00:33:49 +0000 (01:33 +0100)]
Improve zetuptoolz' logging of what it is doing.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 2 Oct 2014 15:26:47 +0000 (16:26 +0100)]
Delete obsolete Trove classifiers.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 2 Oct 2014 15:01:03 +0000 (16:01 +0100)]
Merge pull request #114 from zooko/2305-remove-obsolete-tools-from-misc
remove all the unused scripts from build_helpers
Zooko [Tue, 30 Sep 2014 03:54:55 +0000 (03:54 +0000)]
remove all the unused scripts from build_helpers
Fixes #2305.
Brian Warner [Mon, 29 Sep 2014 15:43:20 +0000 (08:43 -0700)]
travis: remove the os.statvfs debug command
According to https://github.com/travis-ci/travis-ci/issues/2788 (which
was WONTFIXED), roughly half the travis-ci buildserver fleet runs off
tmpfs volumes, which have different notions of space-free and space-used
than real filesystems. We've adapted our tests to avoid relying upon
space-used>0, and no longer need this call to investigate the problem.
refs ticket:2290
Daira Hopwood [Fri, 26 Sep 2014 22:16:49 +0000 (23:16 +0100)]
Merge pull request #112 from Lcstyle/master
Fix 1901 - the "Download!" button on the Welcome page leads to the file displayed in-browser instead of downloaded/saved.
Loose Cannon [Fri, 26 Sep 2014 21:02:14 +0000 (17:02 -0400)]
1901 - Fix Welcome Page
Solution was very simple to implement, no content disposition header was
necessary.
Tested with both Firefox and Chrome, using binary image file stored in
folder, as well as with text data using LIT cap.
Daira Hopwood [Thu, 25 Sep 2014 17:16:23 +0000 (18:16 +0100)]
Change python.org link (https, main download page); editing.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Zooko [Thu, 25 Sep 2014 16:47:19 +0000 (16:47 +0000)]
reflow to fill-column 77
and add comment informing your text editor that fill-column=77
amontero [Mon, 9 Dec 2013 11:27:04 +0000 (12:27 +0100)]
Add pkg-config directory to .gitignore
Daira Hopwood [Sat, 13 Sep 2014 09:58:55 +0000 (10:58 +0100)]
Merge pull request #109 from warner/2023-caution
Avoid Popen() of executables that don't exist
Brian Warner [Thu, 11 Sep 2014 20:13:42 +0000 (13:13 -0700)]
Avoid Popen() of executables that don't exist
The stdlib 'subprocess' module in python-2.7.4 through 2.7.7 suffers
from http://bugs.python.org/issue18851 which causes unrelated file
descriptors to be closed when `subprocess.call()` fails the `exec()`,
such as when the executable being invoked does not actually exist. There
appears to be some randomness involved. This was fixed in python-2.7.8.
Tahoe's iputil.py uses subprocess.call on many different "ifconfig"-type
executables, most of which don't exist on any given platform (added in
git commit
8e31d66cd0b). This results in a lot of file-descriptor
closing, which (at least during unit tests) tends to clobber important
things like Tub TCP sockets. This seems to be the root cause behind
ticket:2121, in which normal code tries to close already-closed sockets,
crashing the unit tests. Since different platforms have different
ifconfigs, some platforms will experience more failed execs than others,
so this bug could easily behave differently on linux vs freebsd, as well
as working normally on python-2.7.8 or 2.7.4.
This patch inserts a guard to make sure that os.path.isfile() is true
before allowing Popen.call() to try executing the target. This ought to
be enough to avoid the bug. It changes both iputil.py and
allmydata.__init__ (which uses Popen for calling "lsb_release"), which
are all the places where 'subprocess' is used outside of unit tests.
Other potential fixes: use the 'subprocess32' module from PyPI (which is
a bug-free backport of the Python3 stdlib subprocess module, but would
introduce a new dependency), or require python >= 2.7.8 (but this would
rule out development/deployment on the current OS-X 10.9 release, which
ships with 2.7.5, as well as other distributions like Ubuntu 14.04 LTS).
I believe this closes ticket:2121, and given the apparent relationship
between 2121 and 2023, I think it also closes ticket:2023 (although
since 2023 doesn't have copies of the failing log files, it's hard to
tell). I'm hoping that this will tide us over until 1.11 is released, at
which point we can execute on the plan to remove iputil.py entirely by
changing the way that nodes learn their externally-facing IP address.
Brian Warner [Fri, 12 Sep 2014 19:55:52 +0000 (12:55 -0700)]
test_disk_stats: tolerate used==0 for a Travis worker bug
Some Travis-CI workers report persistently empty disks, causing spurious
test failures. It's not really that important to assert used>0, so this
relaxes the test.
Closes ticket:2290
Brian Warner [Fri, 12 Sep 2014 19:14:29 +0000 (12:14 -0700)]
travis: show os.statvfs before build, to investigate #2290
Brian Warner [Fri, 12 Sep 2014 04:32:27 +0000 (21:32 -0700)]
welcome.xhtml: explain MDMF too
Scott Arciszewski [Fri, 15 Aug 2014 22:35:33 +0000 (18:35 -0400)]
Update welcome.xhtml
Add a tooltip to explain what SDMF means. Cannot find a definition for MDMF; I presume "Medium" but at the risk of being wrong, I don't want to just blindly make that suggested change.
Daira Hopwood [Tue, 9 Sep 2014 17:51:44 +0000 (18:51 +0100)]
Rename README.txt to README.rst, and add Travis-CI and Coveralls badges to it.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Brian Warner [Tue, 9 Sep 2014 17:31:05 +0000 (10:31 -0700)]
Makefile: remove 'twisted' from SOURCES
Brian Warner [Tue, 9 Sep 2014 00:27:20 +0000 (17:27 -0700)]
coverage2el.py: update to current coverage-3.7.1 API
Daira Hopwood [Tue, 9 Sep 2014 12:31:19 +0000 (13:31 +0100)]
Merge pull request #107 from warner/2281-trialcoverage
Remove 'trialcoverage' plugin and support code
Brian Warner [Tue, 9 Sep 2014 00:28:26 +0000 (17:28 -0700)]
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.