Commit Graph

5905 Commits

Author SHA1 Message Date
Zooko
c84ebd3259 reflow to fill-column 77
and add comment informing your text editor that fill-column=77
2014-09-25 16:47:19 +00:00
amontero
b58c354f36 Add pkg-config directory to .gitignore 2014-09-13 21:00:02 -07:00
Daira Hopwood
d91170a7ac Merge pull request #109 from warner/2023-caution
Avoid Popen() of executables that don't exist
2014-09-13 10:58:55 +01:00
Brian Warner
d27a57cb49 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 8e31d66cd0). 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.
2014-09-12 13:01:56 -07:00
Brian Warner
38668c9e35 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
2014-09-12 12:55:52 -07:00
Brian Warner
3a75a75f95 travis: show os.statvfs before build, to investigate #2290 2014-09-12 12:14:29 -07:00
Brian Warner
528364a421 welcome.xhtml: explain MDMF too 2014-09-11 21:32:27 -07:00
Scott Arciszewski
62a4b2721c 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.
2014-09-11 21:29:13 -07: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
2584169f7f Makefile: remove 'twisted' from SOURCES 2014-09-09 10:31:05 -07:00
Brian Warner
5ddbf288b8 coverage2el.py: update to current coverage-3.7.1 API 2014-09-09 09:47:13 -07:00
Daira Hopwood
f0fc048d53 Merge pull request #107 from warner/2281-trialcoverage
Remove 'trialcoverage' plugin and support code
2014-09-09 13:31:19 +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
53dc723184 Update .PHONY declarations in Makefile.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-08 22:49:54 +01:00
Daira Hopwood
4f51040313 Update coverage-related targets in Makefile. refs #1698
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-08 22:49:23 +01:00
Daira Hopwood
7046636c74 Delete useless stuff from Makefile.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-08 22:47:31 +01: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
Brian Warner
3cfbe1cfc0 Merge branch markberger/ticket-2008
This changes test_upload.py to delete-all-shares more gently, leaving
the 'incoming' directory in place, which should help the rest of the
test pass.

Closes tahoe-lafs/tahoe-lafs#50 (github PR)
Closes ticket:2008 (trac)
2014-09-02 18:50:48 -07:00
Mark Berger
954229231d Removes unnecessary import 2014-09-02 18:48:39 -07:00
Mark Berger
e594f2b1ab Fixes tests which were improperly deleting shares 2014-09-02 18:48:39 -07:00
Mark Berger
2ab6172302 Adds delete_all_shares 2014-09-02 18:48:39 -07:00
Mark Berger
1467eb53b9 Deletes shares from server 0 correctly
Deletes the shares from server 0 without setting the remaining
size to 0
2014-09-02 18:48:39 -07:00
Brian Warner
83068a90c8 Makefile: fix test-clean by using 'distclean' 2014-09-02 18:32:27 -07:00
Brian Warner
58b66b4018 check_memory: stop using long-deprecated twisted internals 2014-09-02 18:22:59 -07:00
Brian Warner
c4da6c91a7 Merge branch tarcieri/redesigned-directory-page
Closes ticket:1966 (trac)
Closes tahoe-lafs/tahoe-lafs#32 (github PR)
2014-09-02 14:01:24 -07:00
Leif Ryge
d7aef0cffb add a <br> 2014-09-02 13:55:13 -07:00
Mark J. Berger
52859423ba Updates webui directory forms 2014-09-02 13:55:13 -07:00
Leif Ryge
61395328c3 make tests pass with redesigned directory pages 2014-09-02 13:55:13 -07:00
Tony Arcieri
c1f3008d03 Redesigned directory pages (WIP)
This is an initial conversion of the directory pages from the old style
to the new style which is based on Twitter Bootstrap.

Still some remaining work to be done. You can see a screenshot here:

http://i.imgur.com/MPEngGx.png
2014-09-02 13:55:12 -07:00
Brian Warner
7015f21e5a welcome page: improve CSS slightly for narrow windows
Thanks to tarcieri for the patch.

refs ticket:1931
2014-09-02 13:44:53 -07:00
Brian Warner
45adde7180 publish.py: log roothash in base32, not binary
Closes ticket:1800
2014-09-02 13:32:59 -07:00
Brian Warner
b88d8b0b3e Merge branch markberger/712-tahoe-cp-doesnt-copy-dir
Closes ticket:712 (trac).
Closes tahoe-lafs/tahoe-lafs#56 (github PR).
2014-09-02 12:59:32 -07:00
Brian Warner
2018ff435a CLI.rst: expand the 'cp -r' subdirectory example 2014-09-02 12:51:13 -07:00
Mark J. Berger
58106e1c0f Documentation updates 2014-09-02 12:51:13 -07:00
Mark Berger
47c8616dd5 Fix tests which relied on the old behavior of tahoe cp -r 2014-09-02 12:51:13 -07:00
Mark Berger
1c96039270 tahoe cp -r now copies the top level directory with its children 2014-09-02 12:51:13 -07:00
Mark Berger
2d8ffdc0ee Adds test_cli.Cp.test_cp_copies_dir 2014-09-02 12:51:13 -07:00
Daira Hopwood
d81c5e4944 Update copyright year.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-02 19:40:21 +01:00
Daira Hopwood
1e3a2994e2 Reference README.txt from License section of docs/about.rst, rather than duplicating the license info. fixes #2067
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-02 19:37:06 +01:00
Daira Hopwood
d95b370e81 .travis.yml: okay, fetching just tags apparently isn't sufficient (and this use of 'git pull' won't actually pull any new commits, because we'll be on a detached head).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-02 15:08:58 +01:00
Daira Hopwood
735ec0c2ee .travis.yml: make sure that we only fetch tags and don't change the requested commit. 2014-09-02 14:51:01 +01:00
Daira Hopwood
b7e960a490 .travis.yml: really fix command used for testing.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-02 14:51:01 +01:00
Daira Hopwood
e613111c45 Suppress a DeprecationWarning from Twisted.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-01 21:12:53 +01:00
Daira Hopwood
37d348ab21 .travis.yml: fix command used for testing.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-01 20:57:22 +01:00
travis-tahoe
036c325d35 Suppress all UserWarnings, not just ones with known messages. refs #2248
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-01 19:39:57 +01:00
travis-tahoe
cc223d08fa Suppress warning about service_identity. fixes #2248
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-01 19:10:32 +01:00
travis-tahoe
7ecc27e2d9 Revert previous patch; service_identity has too many subdependencies.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-01 19:04:10 +01:00
travis-tahoe
f7b8fe02ba Add service_identity as a dependency. fixes #2248
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-01 18:46:58 +01:00
Daira Hopwood
9566b3d45c .travis.yml: correct the --source argument to coverage (it should be a directory, not a module name).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-01 18:08:36 +01:00