david-sarah
787d12165a
Add unit tests for cross_check_pkg_resources_versus_import, and a regression test for ref #1355 . This requires a little refactoring to make it testable.
2011-02-20 17:58:17 -08:00
david-sarah
71c301ca34
allmydata/__init__.py: .name was used in place of the correct .__name__ when printing an exception. Also, robustify string formatting by using %r instead of %s in some places. fixes #1355 .
2011-02-20 18:01:25 -08:00
Brian Warner
ffd296fc5a
Refactor StorageFarmBroker handling of servers
...
Pass around IServer instance instead of (peerid, rref) tuple. Replace
"descriptor" with "server". Other replacements:
get_all_servers -> get_connected_servers/get_known_servers
get_servers_for_index -> get_servers_for_psi (now returns IServers)
This change still needs to be pushed further down: lots of code is now
getting the IServer and then distributing (peerid, rref) internally.
Instead, it ought to distribute the IServer internally and delay
extracting a serverid or rref until the last moment.
no_network.py was updated to retain parallelism.
2011-02-20 17:58:04 -08:00
david-sarah
ed67df866c
SFTP: report unknown sizes as "0" instead of "?", to satisfy some clients. fixes #1337
2011-01-27 22:22:49 -08:00
david-sarah
d318122cd2
Change tests for check_requirement to ensure that it accepts None in the comment field of a (version, location, comment) triple, and add a test that it raises ImportError when a module couldn't be imported. Also fix typo in a comment. refs #1339
2011-01-28 11:24:52 -08:00
Zooko O'Whielacronx
6f84f1b869
setup: adjust tests to use the new interface of check_requirement which has a 3-tuples instead of a 2-tuple
...
fixes #1339
2011-01-28 06:15:46 -08:00
david-sarah
c71a19b9ed
src/allmydata/__init__.py: fix #1339 , give an indication in the --version[-and-path] output of when the imported setuptools is distribute, and use a separate element in _vers_and_locs_list tuples for information other than the package name and location. This also changes slightly how the sqlite version is reported.
2011-01-27 21:41:50 -08:00
david-sarah
74b6ea36c4
CLI: improve help synopsis for 'tahoe create-key-generator'.
2011-01-22 17:50:04 -08:00
david-sarah
cb02adb110
Don't put debugging information in 'My versions' section of the Welcome page. Also remove the extra blank line between version and command output when --version[-and-path] is used. refs #1306
2011-01-21 20:02:20 -08:00
david-sarah
f84f2aa987
tests: use verlib to compare versions, and get the versions of Twisted and Nevow from get_package_versions() instead of pkg_resources. refs #1287
2011-01-21 17:42:56 -08:00
david-sarah
39eede4217
src/allmydata/web/common.py: ensure that filenames in 'humanized failures' are quoted.
2011-01-21 17:40:06 -08:00
david-sarah
0c51ce3d89
CLI: improve help synopses for some commands.
2011-01-21 17:27:00 -08:00
david-sarah
c8ccb297fa
src/allmydata/_auto_deps.py: setuptools is still an install requirement even in frozen builds, because .tac files import pkg_resources. refs #585
2011-01-21 17:24:42 -08:00
david-sarah
8587c63bdc
Make bb-freeze (and probably other static packaging tools) work. This updates various places where we assumed that the tahoe process was executed via the Python interpreter. It also allows tests to recursively invoke the same tahoe.exe, rather than bin/tahoe. refs #585
2011-01-21 00:04:29 -08:00
david-sarah
28bd80812f
Change --version and --version-and-path to not exit immediately, if a command is given.
2011-01-20 23:59:13 -08:00
david-sarah
f3b4f4181c
src/allmydata/_auto_deps.py: 'pysqlite.dbapi2' module should have been 'pysqlite2.dbapi2'. refs #1306
2011-01-20 23:32:34 -08:00
david-sarah
b6c2c9591d
src/allmydata/util/iputil.py: correct an error in the address-matching regexps introduced by the previous patch to iputil. refs #1274
2011-01-20 23:21:36 -08:00
david-sarah
b1f15a630a
Add src/allmydata/util/verlib.py, which is a copy of verlib from https://bitbucket.org/tarek/distutilsversion/src/17df9a7d96ef . It is used to normalize and compare versions of dependencies. refs #1258
2011-01-20 22:04:49 -08:00
david-sarah
29336a0916
Refactor _auto_deps.py and __init__.py, adding more robust checking of dependency versions, and not trusting pkg_resources to get the versions right. refs #1258 , #1287
2011-01-20 21:36:10 -08:00
david-sarah
d5138b3237
src/allmydata/util/iputil.py: loosen regexps and ensure that 'LANG=en_US.UTF-8' is set in the environment, to minimize problems with localized output of IP-address-finding tools. refs #1274
2011-01-20 00:48:27 -08:00
david-sarah
6dd8b6f471
Eliminate dependencies on pywin32, even via Twisted. refs #1274
2011-01-19 20:32:38 -08:00
david-sarah
fd6cdc48ae
src/allmydata/test/test_runner.py: add test_import_from_repl, which checks that we are running the right code in a bin/tahoe subprocess. refs #1258
2011-01-19 00:21:45 -08:00
david-sarah
a9fc4668c0
docs/frontends/CLI.rst, src/allmydata/test/trialtest.py: add trailing newlines. refs #1296
2011-01-19 00:19:55 -08:00
david-sarah
d21f4071c3
Eliminate direct dependencies of Tahoe-LAFS on pywin32 (rebased to trunk). refs #1274
2011-01-18 23:59:11 -08:00
david-sarah
3798d9946e
Add support to bin/tahoe for invoking a runner command prefixed with @, with the Tahoe libraries on the PYTHONPATH. This is documented in 'tahoe debug --help'.
2011-01-18 21:11:37 -08:00
david-sarah
74b1eec1d6
trivial: add comment in scripts/debug.py about trial option parsing. refs #1296
2011-01-18 22:08:08 -08:00
david-sarah
8d2983c493
Update foolscap requirement to >= 0.6.1. fixes #1329
2011-01-18 22:06:39 -08:00
david-sarah
93c1909847
bin/tahoe-script.template, src/windows/fixups.py: simplify the method of stripping initial arguments in sys.argv on Windows. This helps with bb-freeze and running tahoe via 'coverage'. Also includes some wording changes and minor refactoring of bin/tahoe-script.template. refs #585 , #1303
2011-01-18 20:53:24 -08:00
david-sarah
8f0af33ba6
src/allmydata/test/test_cli.py: add test for 'tahoe debug trial' options help. refs #1296
2011-01-18 18:42:24 -08:00
david-sarah
1819c25c88
Add src/allmydata/test/trialtest.py needed by tests for 'tahoe debug trial'. refs #1296
2011-01-18 18:02:39 -08:00
david-sarah
0d6df9c9fc
Tests for 'tahoe debug trial' (rebased and fixed to work with Twisted 10.2). refs #1296
2011-01-18 17:38:59 -08:00
david-sarah
420aadd95e
Make 'mock' a run-time rather than setup-time dependency. This is necessary in order for 'tahoe debug trial' to work. refs #1296
2011-01-18 12:51:14 -08:00
david-sarah
7a887871b0
src/allmydata/scripts/debug.py: add 'tahoe debug trial' command (rebased for trunk). refs #1296
2011-01-18 12:46:59 -08:00
david-sarah
fc98aded8a
src/allmydata/webish.py: clean-ups and correction to a comment. Also change an open and write to use fileutil.write. See ref #1286 comment 13.
2011-01-17 15:31:52 -08:00
Brian Warner
980fb0b2bb
'tahoe debug catalog-shares': sort SIs and shnums
...
Without this, SIs or shnums could be emitted in random order, depending upon
what the filesystem happens to return.
2011-01-17 01:59:32 -08:00
david-sarah
5a3acc05b7
CLI: tests for ref #1305 (v2, remove spurious extra arg to create-alias in test)
2011-01-13 20:03:27 -08:00
david-sarah
f10a2c0902
CLI: make 'tahoe create-alias' and 'tahoe add-alias' accept a trailing colon on the new alias name (v2, minor change not to rely on implicit Unicode conversion). Includes doc changes and news; tests in a separate patch. fixes #1305
2011-01-13 19:44:14 -08:00
Brian Warner
b9fb74d2a0
Improve 'tahoe ln' help text. Patch by David-Sarah. Closes #1230 .
2011-01-17 00:14:21 -08:00
Brian Warner
09a2241471
Tolerate Twisted-10.2's endpoints, patch by David-Sarah. Closes #1286 .
...
The service generated by strports.service() changed in 10.2, and the ugly
private-attribute-reading hack we used to glean a kernel-allocated port
number (e.g. when using "tcp:0", especially during unit tests) broke, causing
Tahoe to be completely unusable with Twisted-10.2 . The new ugly
private-attribute-reading hack starts by figuring out what sort of service
was generated, then reads different attributes accordingly.
This also hushes a warning when using schemeless strports strings like "0" or
"3456", by quietly prepending a "tcp:" scheme, since 10.2 complains about
those. It also adds getURL() and getPortnum() accessors to the "webish"
service, rather than having unit tests dig through _url and _portnum and such
to find out what they are.
2011-01-16 23:47:51 -08:00
david-sarah
8a3cb60bf7
Test changes to take account of ref #1311 .
2011-01-16 22:05:40 -08:00
david-sarah
d3f24736ca
create_node.py: add comments to default tahoe.cfg to clarify the meaning of each section. fixes #1311
2011-01-16 21:24:19 -08:00
david-sarah
e52d97a917
Undo the temporary hack to check the foolscap version. refs #1246
2011-01-16 21:20:42 -08:00
Brian Warner
45212d8000
Set "reserved_space=1G" in newly-created storage nodes. Closes #1208 .
2011-01-16 12:58:22 -08:00
david-sarah
727b25f622
Temporary hack to investigate whether we are getting the right version of foolscap on trunk. refs #1258
2011-01-15 20:49:59 -08:00
david-sarah
e62a69e7ff
test_runner: avoid unnecessary use of non-ASCII.
2011-01-01 02:01:01 -08:00
david-sarah
2c099ffa0d
Move dependency imports from windows/depends.py (which has gone away) into src/allmydata/windows/tahoesvc.py. Also fix a pyflakes warning, and change the service display name from 'Allmydata Tahoe Node' to 'Tahoe-LAFS node'. refs #1282
2010-12-25 20:21:00 -08:00
david-sarah
3132c9b593
Remove unmaintained Windows GUI app, except for windows/tahoesvc.py which is moved to src/allmydata/windows. refs #1282
2010-12-25 20:02:37 -08:00
david-sarah
195ddbcf7c
Remove unmaintained Mac GUI app. fixes #1282
2010-12-25 18:05:08 -08:00
david-sarah
399ee5aea0
Remove src/allmydata/util/find_exe.py which is no longer used. fixes #1150
2010-12-25 18:32:06 -08:00
freestorm77
4027a136f3
status_web_pages_review.darcs.patch
...
I make some changes on status web pages
status.xhtml:
- Delete unused webform_css link
- Align tables on the left
tahoe-css:
- Do some minor changes on code synthax
- changes table.status-download-events style to look like other tables
status.py:
- Align table on the left
- Changes table header
- Add heading tags
- Modify google api graph: add image border, calculate height to feet data
signed-off-by: zooko@zooko.com
fixes #1219
2011-01-01 19:42:14 -08:00
david-sarah
5027753e23
test_storage.py: fix a pyflakes unused import warning.
2010-12-31 14:07:56 -08:00
david-sarah
0da10d4c37
test_storage.py: leave at least 512 MiB free when running test_large_share. refs #1195
2010-12-31 12:32:15 -08:00
Zooko O'Whielacronx
123a1a3f04
storage: use fileutil's version of get_disk_stats() and get_available_space(), use mockery/fakery in tests, enable large share test on platforms with sparse files and if > 4 GiB of disk space is currently available
2010-09-10 08:36:29 -08:00
Zooko O'Whielacronx
d5e71c2940
fileutil: copy in the get_disk_stats() and get_available_space() functions from storage/server.py
2010-09-10 08:35:20 -08:00
david-sarah
c82b48f3d6
Update foolscap version requirement to 0.6.0, to address http://foolscap.lothar.com/trac/ticket/167
2010-12-30 22:00:39 -08:00
david-sarah
2d5f3f694f
scripts/backupdb.py: more accurate comment about path field.
2010-12-12 09:03:20 -08:00
david-sarah
bb7c04ff9f
scripts/cli.py: fix missing 'put' in usage example for 'tahoe put'.
2010-12-12 09:02:07 -08:00
david-sarah
ee4e0d8106
scripts/cli.py: remove the disclaimer in the help for 'tahoe cp' that it does not handle non-ASCII filenames well. (At least, we intend to handle them.)
2010-11-29 16:21:45 -08:00
david-sarah
9ceb527787
Change another doc reference from .txt to .rst in a text string.
2010-11-28 09:45:07 -08:00
david-sarah
d7bdf476b9
Change a doc reference from .txt to .rst in a text string.
2010-11-28 09:34:44 -08:00
Brian Warner
69b42c6cb7
remove --multiple/-m option from all CLI commands: closes #1262
...
I personally used "tahoe start/restart -m ../MY-TESTNET/node*" all the time,
to spin up or update a local testgrid while iterating over new code. However,
with the recent switch from "subprocess.Popen(/bin/twistd)" to "import and
call twistd.run()" in scripts/startstop_node.py (yay fewer processes!),
"start -m" broke, and fixing it requires os.fork, which is unavailable on
windows (boo windows!). And I was probably the only one using -m. So in the
interests of uniformity among platforms and simpler code (yay negative code
days!), we're just removing -m from everything. I will start using a little
shell script or something to simulate the removed functionality.
This patch also cleans up CLI-function calling a bit: get the basedir from
the config dict (instead of sometimes from a separate argument), and always
return a numeric exit code.
2010-11-27 00:38:09 -08:00
Brian Warner
f36bda2780
Revert previous commit: there's an ugly corner-case on windows that fails tests.
...
Specifically, test_runner.CreateNode.test_client failed, because the
os.fork-is-present test decided that --multiple should not be allowed on
windows, even though --multiple works just fine for 'tahoe create-client'.
The only restriction on --multiple is for 'tahoe start' and 'tahoe restart'.
This needs a different approach, probably by cleaning up BasedirMixin. We
should only be withholding --multiple on windows for "start" and
"restart". (we should continue withholding --multiple on all platforms for
"run").
This reverts (git) commit f3adb037ae
:
"startstop_node.py: fix "tahoe start -m" by forking before non-final targets"
2010-11-26 16:44:11 -08:00
Brian Warner
f3adb037ae
startstop_node.py: fix "tahoe start -m" by forking before non-final targets
...
* don't advertise -m flag on tahoe start/restart/run unless os.fork is
available (i.e. windows)
* test_runner.py: add test to exercise "start/stop/restart -m"
2010-11-26 14:45:38 -08:00
david-sarah
38a0d3f5fa
tahoe_mv.py: when checking success of the DELETE operation, look at the status code from DELETE rather than from the previous PUT. fixes #1255
2010-11-09 17:09:16 -08:00
david-sarah
fdf6946669
test_cli.py: test that 'tahoe mv' reports errors from the DELETE operation. refs #1255
2010-11-11 17:46:53 -08:00
Zooko O'Whielacronx
93dc740f01
tests: bump up the timeout on test_dirnode.Dirnode from 240s to 480s since it apparently took longer than 240s just now on François's ARM buildslave
2010-11-15 01:21:19 -08:00
david-sarah
76371ae5a9
test_cli.py: fix a stale comment that incorrectly implied that test_cli runs CLI commands in subprocesses (it actually runs them using deferToThread).
2010-11-09 18:28:19 -08:00
david-sarah
cb777ad14f
tahoe_mv.py: use do_http, not urllib.openurl, in order to avoid connecting to the webapi server via a proxy. refs #1253
2010-11-09 16:53:36 -08:00
david-sarah
01a5365051
test_system.py: test for 'tahoe mv' with the http_proxy and HTTP_PROXY variables set. refs #1253
2010-11-09 19:36:49 -08:00
david-sarah
edec9c9869
test_client.py: change overzealous use of failUnlessReallyEqual on integers back to failUnlessEqual.
2010-11-09 15:08:16 -08:00
david-sarah
56f4c1218b
test_runner.py: fix test failure in test_the_right_code after applying zooko's change to test-with-fake-pkg.py
2010-11-01 20:59:05 -07:00
Zooko O'Whielacronx
a92912f513
setup: FreeStorm's WinXP-x86-py2.6 buildslave has informed us that there is yet a fourth way to spell "i386" in Python
2010-10-31 22:21:42 -07:00
david-sarah
b8905fc766
allmydata/__init__.py: move the call to require_auto_deps() to the top again, since the [4784] patch turned out not to be the cause of the failure on the 'mm netbsd5' buildslave.
2010-10-31 17:33:16 -07:00
david-sarah
63c010a9ca
allmydata/__init__.py: put the _auto_deps.require_auto_deps() call back in exactly the same place it was prior to [4784].
2010-10-31 10:46:49 -07:00
david-sarah
7e2ed2054c
allmydata/__init__.py: suppress a DeprecationWarning for the sha module on importing pycrypto.
2010-10-31 09:06:36 -07:00
david-sarah
6e76653913
allmydata/__init__.py: call require_auto_deps() after importing nevow and twisted, reverting change in [4784]. Also fix a missing 'warnings.filters.pop()'.
2010-10-31 08:38:28 -07:00
david-sarah
2ab0b1aa2c
allmydata.__init__.py: temporary hack to debug failure on midnightmagic's buildslave
2010-10-30 22:50:03 -07:00
david-sarah
6eaa7f2356
tahoe backup: perform tilde expansion in exclude-from filename (version 2). fixes #1241
2010-10-30 20:52:31 -07:00
Zooko O'Whielacronx
3b2d0d9609
setup: run require_auto_deps() before attempting to import any deps in __init__.py
...
For one thing, this makes missing-dependency failures into DistributionNotFound errors instead of ImportErrors, which might be more useful to the user. For another thing, if someone is using distributions that were installed with --multi-version, then they might be not importable until after require_auto_deps() has been run. (The docs claim that this would be the case, but we don't have an example of this happening at this time.)
2010-10-30 01:10:35 -07:00
david-sarah
1950d5a719
scripts/runner.py: fix unused import of allmydata. refs #1190
2010-10-29 17:31:49 -07:00
david-sarah
2a8f700026
scripts/runner.py: remove pkg_resources.require() calls. These are at best redundant because we have already called _auto_deps.require_auto_deps() (from allmydata.__init__) at that point, and they are causing failure of the test-from-prefixdir step on some buildslaves. refs #1190
2010-10-29 16:53:28 -07:00
david-sarah
10a5f23df9
test_runner.py: fix error in BinTahoe.test_version_no_noise introduced by last patch. refs #1235
2010-10-29 15:11:23 -07:00
david-sarah
d249589667
test_runner.py: also allow 'from pkg_resources import load_entry_point' as noise. refs #1235 .
2010-10-29 13:42:46 -07:00
david-sarah
8c95f88b4f
test_runner.py: if the only noise is 'UserWarning: Unbuilt egg for setuptools', skip instead of failing the no_noise tests. This version avoids 'any' to be compatible with Python < 2.5. refs #1235 .
2010-10-29 12:18:04 -07:00
david-sarah
4061258c85
make ResponseCache smarter to avoid memory leaks: don't record timestamps, use DataSpans to merge entries, and clear the cache when we see a new seqnum. refs #1045 , #1229
2010-10-26 21:33:02 -07:00
david-sarah
25d8103dde
windows/fixups.py: limit length of string passed in a single call to WriteConsoleW. fixes #1232 .
2010-10-26 19:16:36 -07:00
Brian Warner
c88eb097d9
scripts/tahoe_backup.py: oops, fix missing import, thanks pyflakes
...
test_cli.py: hush minor pyflakes complaint
2010-10-29 02:42:23 -07:00
Brian Warner
d61d41147c
mutable/servermap.py: update comment. Closes #1231 .
2010-10-29 02:14:24 -07:00
Francois Deppierraz
14ee763c54
tahoe_cp.py: Don't call urllib.quote with an Unicode argument, fix #1224
...
tahoe_backup.py: Fix another (potential) occurrence of calling urllib.quote()
with an Unicode parameter
2010-10-29 01:45:20 -07:00
Brian Warner
c18953c169
fix #1223 , crash+inefficiency during repair due to read overrun
...
* repairer (really the uploader) reads beyond end of input file (Uploadable)
* new-downloader does not tolerate overreads
* uploader does lots of tiny reads (inefficient)
This fixes the last two. The uploader still does a single overread at the end
of the input file, but now that's ok so we can leave it in place. The
uploader now expects the Uploadable to behave like a normal disk
file (reading beyond EOF will return less data than was asked for), and now
the new-downloadable behaves that way.
2010-10-29 01:20:36 -07:00
david-sarah
270322ad47
startstop_node.py: pyflakes import fix. refs #1190
2010-10-27 18:48:05 -07:00
Brian Warner
ac3b26ecf2
'tahoe start': use import+call rather than find+spawn
...
This removes the need to use a locally-built (dependency) bin/twistd, and
removes a big chunk of behavior differences between unix and windows. It
also happens to resolve the "client node probably started" uncertainty.
Might help with #1190 , #602 , and #71 .
2010-10-26 23:13:42 -07:00
david-sarah
59e80b2ec9
test_mutable.py: add test for ResponseCache memory leak. refs #1045 , #1129
2010-10-24 12:34:09 -07:00
david-sarah
daf2b8314a
test_encodingutil.py: test_argv_to_unicode modified the wrong encoding variable. fixes #1214
2010-10-22 20:58:10 -07:00
Zooko O'Whielacronx
0c2397523b
doc: add explanation of the motivation for the surprising and awkward API to erasure coding
2010-10-14 23:02:02 -07:00
Zooko O'Whielacronx
98ffbfb31f
setup: add --multi-version to the "setup.py develop" command-line
...
fixes #530 . I earlier tried this twice (see #530 for history) and then twice rolled it back due to some problems that arose. However, I didn't write down what the problems were in enough detail on the ticket that I can tell today whether those problems are still issues, so here goes the third attempt. (I did write down on the ticket that it would not create site.py or .pth files in the target directory with --multi-version mode, but I didn't explain why *that* was a problem.)
2010-10-05 11:23:50 -07:00
Zooko O'Whielacronx
0c6bb0178b
setup: use execfile to access _auto_deps.py in its proper location of src/allmydata/ instead of copying it into place when setup.py is executed
2010-09-05 22:57:14 -07:00
Zooko O'Whielacronx
e6a380241a
trivial: M-x whitespace-cleanup
2010-09-03 07:47:12 -07:00
Zooko O'Whielacronx
cb83f2e41c
minor: remove unused interface declaration, change allmydata.org to tahoe-lafs.org in email address, fix wording in relnotes.txt
2010-09-30 08:37:08 -07:00
Kevan Carstensen
ec4f87a98c
immutable/repairer.py: don't use the default happiness setting when repairing
2010-09-27 13:01:02 -07:00