Brian Warner
e0eaeff7f5
test_mutable: merge davidsarah's patch with my Version refactorings
2011-08-27 16:57:07 -07:00
david-sarah
3c92b832f2
Make the immutable/read-only constraint checking for MDMF URIs identical to that for SSK URIs. refs #393
2011-08-22 18:27:20 -07:00
david-sarah
88989a4ea2
Additional tests for MDMF URIs and for zero-length files. refs #393
2011-08-22 18:15:32 -07:00
david-sarah
ac7b8400d4
Additional tests for zero-length partial reads and updates to mutable versions. refs #393
2011-08-21 18:41:11 -07:00
Brian Warner
03ba8065ce
test_mutable.Version: factor out some expensive uploads, save 25% runtime
2011-08-27 16:27:37 -07:00
Brian Warner
370e6f271e
SDMF: update filenode with correct k/N after Retrieve. Fixes #1510 .
...
Without this, we get a regression when modifying a mutable file that was
created with more shares (larger N) than our current tahoe.cfg . The
modification attempt creates new versions of the (0,1,..,newN-1) shares, but
leaves the old versions of the (newN,..,oldN-1) shares alone (and throws a
assertion error in SDMFSlotWriteProxy.finish_publishing in the process).
The mixed versions that result (some shares with e.g. N=10, some with N=20,
such that both versions are recoverable) cause problems for the Publish code,
even before MDMF landed. Might be related to refs #1390 and refs #1042 .
2011-08-27 15:50:31 -07:00
Brian Warner
b8c90d24fc
layout.py: annotate assertion to figure out 'tahoe backup' failure
2011-08-27 12:52:53 -07:00
Brian Warner
482a7dd3f1
Add 'tahoe debug dump-cap' support for MDMF, DIR2-CHK, DIR2-MDMF. refs #1507 .
...
This also adds tests for all those cases, and fixes an omission in uri.py
that broke parsing of DIR2-MDMF-Verifier and DIR2-CHK-Verifier.
2011-08-27 12:50:48 -07:00
Brian Warner
522868d5e9
MDMF: more writable/writeable consistentifications
2011-08-27 12:06:02 -07:00
Brian Warner
48544a251d
MDMF: s/Writable/Writeable/g, for consistency with existing SDMF code
2011-08-27 11:33:57 -07:00
Brian Warner
349093fa2e
test_mutable.Update: increase timeout from 120s to 400s, slaves are failing
2011-08-25 16:01:40 -07:00
Zooko O'Whielacronx
5bf5404ba1
tests: fix check_memory test
...
fixes #1503
2011-08-25 13:11:16 -07:00
Brian Warner
9e613ee9b3
test_mutable.Update: remove .timeout overrides, otherwise tests ERROR
2011-08-24 19:24:55 -07:00
Brian Warner
445e9eaf37
blacklist.py: add read() method too, for completeness
2011-08-24 19:19:02 -07:00
david-sarah
3d7a32647c
Implementation, tests and docs for blacklists. This version allows listing directories containing a blacklisted child. Inclusion of blacklist.py fixed. fixes #1425
2011-08-24 08:59:28 -07:00
david-sarah
505ebeb353
mutable/layout.py: fix unused import. refs #393
2011-08-16 15:50:43 -07:00
david-sarah
4b62b53cd6
mutable/retrieve.py: cosmetics and remove a stale comment. refs #393
2011-08-16 14:46:12 -07:00
Kevan Carstensen
62c72881bb
mutable/filenode.py: don't fetch more segments than necesasry to update the file
2011-08-13 14:00:05 -07:00
Kevan Carstensen
b49986f801
test/test_mutable: test for incorrect div_ceil equations
2011-08-13 11:39:36 -07:00
Kevan Carstensen
3423b7d6f7
mutable/retrieve.py: use floor division to calculate segment boundaries, don't fetch more segments than necessary
2011-08-13 11:38:33 -07:00
Kevan Carstensen
a1a334e1a0
mdmf: clean up boolean expressions, correct typos, remove self._paused, and don't unconditionally initialize block hash trees, asll as suggested by davidsarahs' review comments
2011-08-13 11:37:10 -07:00
Brian Warner
fa6a768bc1
now that tests pass with full-size keys, return test-keys to normal (522bit)
2011-08-11 10:54:18 -07:00
Brian Warner
eec428ba5f
fix SHARE_HASH_CHAIN_SIZE computation
2011-08-11 10:53:50 -07:00
david-sarah
dd23f265bf
More idiomatic resolution of the conflict between ticket393-MDMF-2 and trunk. refs #393
2011-08-10 13:29:42 -07:00
david-sarah
c55c44e70a
Replace the hard-coded 522-bit RSA key size used for tests with a TEST_RSA_KEY_SIZE constant defined in test/common.py (part 2). refs #393
2011-08-10 13:23:10 -07:00
david-sarah
fbe0e42bbf
Replace the hard-coded 522-bit RSA key size used for tests with a TEST_RSA_KEY_SIZE constant defined in test/common.py (part 1). refs #393
2011-08-10 13:22:43 -07:00
Zooko O'Whielacronx
95a7551586
merge some minor conflicts in test code from the 393-2 branch and trunk
2011-08-10 10:21:39 -07:00
david-sarah
b60506b0ba
test_web.py: fix a test failure dependent on whether simplejson.loads returns a unicode or str object.
2011-08-08 14:39:25 -07:00
Kevan Carstensen
c413a8fae1
immutable/filenode: fix pyflakes warnings
2011-08-06 17:45:14 -07:00
Kevan Carstensen
47eab03c6c
test: fix assorted tests broken by MDMF changes
2011-08-06 17:44:59 -07:00
Kevan Carstensen
a7fb55f986
uri: add MDMF and MDMF directory caps, add extension hint support
2011-08-06 17:44:36 -07:00
Kevan Carstensen
52e9512b49
test/test_mutable: tests for MDMF
...
These are their own patch because they cut across a lot of the changes
I've made in implementing MDMF in such a way as to make it difficult to
split them up into the other patches.
2011-08-06 17:44:14 -07:00
Kevan Carstensen
a9cada2e03
webapi changes for MDMF
...
- Learn how to create MDMF files and directories through the
mutable-type argument.
- Operate with the interface changes associated with MDMF and #993 .
- Learn how to do partial updates of mutable files.
2011-08-06 17:43:48 -07:00
Kevan Carstensen
bb10d685ed
mutable/servermap: Rework the servermap to work with MDMF mutable files
2011-08-06 17:42:59 -07:00
Kevan Carstensen
cde17ec041
dirnode: teach dirnode to make MDMF directories
2011-08-06 17:42:24 -07:00
david-sarah
50c692d1c5
Fix some test failures caused by #393 patch.
2011-08-01 20:28:10 -07:00
Kevan Carstensen
4d09ef3d83
cli: teach CLI how to create MDMF mutable files
...
Specifically, 'tahoe mkdir' and 'tahoe put' now take a --mutable-type
argument.
2011-08-01 19:16:13 -07:00
Kevan Carstensen
a87fc8ffab
frontends/sftpd: Resolve incompatibilities between SFTP frontend and MDMF changes
2011-08-01 19:12:07 -07:00
Kevan Carstensen
b1b77d3b89
mutable/layout: Define MDMF share format, write tools for working with MDMF share format
...
The changes in layout.py are mostly concerned with the MDMF share
format. In particular, we define read and write proxy objects used by
retrieval, publishing, and other code to write and read the MDMF share
format. We create equivalent proxies for SDMF objects so that these
objects can be suitably general.
2011-08-01 19:11:20 -07:00
Kevan Carstensen
edf9858fb8
immutable/filenode: implement unified filenode interface
2011-08-01 19:09:05 -07:00
Kevan Carstensen
3e996e0c94
immutable/literal.py: Implement interface changes in literal nodes.
2011-08-01 19:08:14 -07:00
Kevan Carstensen
8ae564d8ad
test/common: Alter common test code to work with MDMF.
...
This mostly has to do with making the test code implement the new
unified filenode interfaces.
2011-08-01 18:56:43 -07:00
Kevan Carstensen
f80a7fdf18
mutable: train checker and repairer to work with MDMF mutable files
2011-08-01 18:51:40 -07:00
Kevan Carstensen
893a9028f0
nodemaker: teach nodemaker about MDMF caps
2011-08-01 18:49:26 -07:00
Kevan Carstensen
d3f98498c0
client: teach client how to create and work with MDMF files
2011-08-01 18:48:11 -07:00
Kevan Carstensen
e4f2b27305
mutable/filenode: Modify mutable filenodes for use with MDMF
...
In particular:
- Break MutableFileNode and MutableFileVersion into distinct classes.
- Implement the interface modifications made for MDMF.
- Be aware of MDMF caps.
- Learn how to create and work with MDMF files.
2011-08-01 18:45:01 -07:00
Kevan Carstensen
4c48e2e1b6
nodemaker: teach nodemaker how to create MDMF mutable files
2011-08-01 18:42:58 -07:00
Kevan Carstensen
126d1ad010
interfaces: change interfaces to work with MDMF
...
A lot of this work concerns #993 , in that it unifies (to an extent) the
interfaces of mutable and immutable files.
2011-08-01 18:41:19 -07:00
Kevan Carstensen
1576c35d38
mutable/publish: teach the publisher how to publish MDMF mutable files
...
Like the downloader, the publisher needs some substantial changes to handle multiple segment mutable files.
2011-08-01 18:39:31 -07:00
Kevan Carstensen
ac3b2647dd
mutable/retrieve: rework the mutable downloader to handle multiple-segment files
...
The downloader needs substantial reworking to handle multiple segment
mutable files, which it needs to handle for MDMF.
2011-08-01 18:35:24 -07:00
david-sarah
c41bf14029
Cleanups for suppression of UserWarnings. refs #1435
2011-08-17 21:07:49 -07:00
Zooko O'Whielacronx
f627af3b9f
suppress warning emitted by newer zope.interface with Nevow 0.10
...
refs #1435
2011-08-17 13:31:34 -07:00
david-sarah
a98a4ec13f
_auto_deps.py: change the requirement for zope.interface to <= 3.6.2, >= 3.6.6. fixes #1435
2011-08-14 19:53:47 -07:00
david-sarah
a48aee11b3
allmydata/__init__.py, test_version.py: make version parsing understand '<=', with test. refs #1435
2011-08-14 20:51:53 -07:00
Brian Warner
5aad81f84d
replace tabs with spaces in the #1441 'tahoe debug' synopsis
2011-08-11 10:37:04 -07:00
david-sarah
0dc917af08
Correct the information printed by '/usr/bin/tahoe debug --help' on Debian/Ubuntu. fixes #1441
2011-07-24 09:25:30 -07:00
david-sarah
6c2670641e
Add test for webopen. fixes #1149
2011-07-24 14:16:59 -07:00
david-sarah
ab9eb12f70
test_client.py: relax a check in test_create_drop_uploader so that it should pass on Python 2.4.x. refs #1429
2011-08-09 22:25:04 -07:00
david-sarah
0dc56daaf9
test/common_util.py: correct fix to mkdir_nonascii. refs #1472
2011-08-09 22:19:06 -07:00
david-sarah
2deba3319c
test/common_util.py: fix a typo. refs #1472
2011-08-09 21:42:35 -07:00
david-sarah
0104dbab92
test_client.py, test_drop_upload.py: fix pyflakes warnings.
2011-08-09 20:45:05 -07:00
david-sarah
db22fdc20d
Factor out methods dealing with non-ASCII directories and filenames from test_drop_upload.py into common_util.py. refs #1429 , #1472
2011-08-09 20:15:58 -07:00
david-sarah
c102056ac1
test_client.py: add a test that the drop-uploader is initialized correctly by client.py. Also give the DropUploader service a name, which is necessary for the test. refs #1429
2011-08-09 20:05:38 -07:00
david-sarah
10ee22f50e
drop-upload: rename 'start' method to 'startService', which is what you're supposed to use to start a Service. refs #1429
2011-08-09 20:03:45 -07:00
david-sarah
f157b73367
test_drop_upload.py: add comment explaining why we don't use FilePath.setContent. refs #1429
2011-08-09 19:59:42 -07:00
david-sarah
369e30b1df
test_drop_upload.py: fix some grammatical and spelling nits. refs #1429
2011-08-09 15:12:31 -07:00
Zooko O'Whielacronx
612abca271
drop-upload: report the configured local directory being absent differently from it being a file
...
refs #1429
2011-08-09 15:09:30 -07:00
Zooko O'Whielacronx
b7683d9b83
drop-upload: rename the 'upload.uri' parameter to 'upload.dircap', and a couple of cleanups to error messages. refs #1429
...
I rerecorded this patch, originally by David-Sarah, to use "darcs replace" instead of editing to do the renames. This uncovered one missed rename in Client.init_drop_uploader. (Which also means that code isn't exercised by the current unit tests.)
refs #1429
2011-08-09 15:05:08 -07:00
Zooko O'Whielacronx
5633375d26
drop-upload test for non-existent local dir separately from test for non-directory local dir
...
A candidate patch for #1429 has a bug when it is using FilePath.is_dir() to detect whether the configured local dir exists and is a directory. FilePath.is_dir() raises exception, instead of returning False, if the thing doesn't exist. This test is to make sure that DropUploader.__init__ raise different exceptions for those two cases.
refs #1429
2011-08-09 15:01:15 -07:00
Zooko O'Whielacronx
720bc2433b
drop-upload: unit tests for the configuration options being named "cap" instead of "uri"
...
This is a subset of a patch that David-Sarah attached to #1429 . This is just the unit-tests part of that patch, and uses darcs record instead of hunks to change the names.
refs #1429
2011-08-09 14:59:13 -07:00
david-sarah
c2972e22cb
src/allmydata/storage/server.py: use the filesystem of storage/shares/, rather than storage/, to calculate remaining space. fixes #1384
2011-07-18 19:27:52 -07:00
david-sarah
4c592f1505
test_storage.py: test that we are using the filesystem of storage/shares/, rather than storage/, to calculate remaining space, and that the HTML status output reflects the values returned by fileutil.get_disk_stats. This version works with older versions of the mock library. refs #1384
2011-08-09 12:07:22 -07:00
david-sarah
70f03bd615
Work around ref #1472 by having test_drop_upload delete the non-ASCII directories it creates.
2011-08-08 18:23:34 -07:00
david-sarah
bbed522033
Remove all trailing whitespace from .py files.
2011-08-08 17:11:17 -07:00
david-sarah
08af9cea50
test_drop_upload.py: fix unused imports. refs #1429
2011-08-08 16:54:22 -07:00
david-sarah
32a7717205
Drop-upload frontend, rerecorded for 1.9 beta (and correcting a minor mistake). Includes some fixes for Windows but not the Windows inotify implementation. fixes #1429
2011-08-08 16:40:49 -07:00
david-sarah
05684b9251
node.py: ensure that client and introducer nodes record their port number and use that port on the next restart, fixing a regression caused by #1385 . fixes #1469 .
2011-08-06 15:19:34 -07:00
david-sarah
b9121e045f
test_runner.py: fix a race condition in the test when NODE_URL_FILE is written before PORTNUM_FILE. refs #1469
2011-08-06 16:18:42 -07:00
david-sarah
743cb898e7
test_runner.py: cleanups of HOTLINE_FILE writing and removal.
2011-08-06 16:16:52 -07:00
david-sarah
e3c600d047
test_runner.py: remove an unused constant.
2011-08-06 15:14:16 -07:00
david-sarah
1967233f49
node.py: fix the error path for a missing config option so that it works for a Unicode base directory.
2011-08-06 15:10:07 -07:00
david-sarah
531758df19
test_runner.py: test that client and introducer nodes record their port number and use that port on the next restart. This tests for a regression caused by ref #1385 .
2011-08-06 15:06:35 -07:00
david-sarah
b9eb0235ea
test_runner.py: fix a bug in CreateNode.do_create introduced in changeset [5114] when the tahoe.cfg file has been written with CRLF line endings. refs #1385
2011-08-03 17:30:32 -07:00
david-sarah
b6cfbbeb23
test_client.py: repair Basic.test_error_on_old_config_files. refs #1385
2011-08-03 16:50:36 -07:00
david-sarah
1c77c5f5dc
test_checker.py: increase timeout for TooParallel.test_immutable again. The ARM buildslave took 38 seconds, so 40 seconds is too close to the edge; make it 80.
2011-08-03 14:40:42 -07:00
david-sarah
521754b506
test_runner.py: fix RunNode.test_introducer to not rely on the mtime of introducer.furl to detect when the node has restarted. Instead we detect when node.url has been written. refs #1385
2011-08-03 11:09:17 -07:00
david-sarah
80300ea7a3
Further improve error message about old config files. refs #1385
2011-08-03 10:45:46 -07:00
david-sarah
f45bfeb3df
Slightly improve error message about old config files (avoid unnecessary Unicode escaping). refs #1385
2011-08-03 09:38:48 -07:00
david-sarah
ed3dbe4985
test_checker.py: increase timeout for TooParallel.test_immutable (was consistently failing on ARM buildslave).
2011-08-03 09:32:13 -07:00
david-sarah
2d16a16ee3
Fix the bug that prevents an introducer from starting when introducer.furl already exists. Also remove some dead code that used to read old config files, and rename 'warn_about_old_config_files' to reflect that it's not a warning. refs #1385
2011-08-02 18:32:12 -07:00
david-sarah
e74387f4f1
test_runner.py: modify RunNode.test_introducer to test that starting an introducer works when the introducer.furl file already exists. refs #1385
2011-08-02 18:27:04 -07:00
david-sarah
c7f65ee8ad
verifier: correct a bug introduced in changeset [5106] that caused us to only verify the first block of a file. refs #1395
2011-08-02 10:24:37 -07:00
david-sarah
9f8d34e63a
test_repairer: add a deterministic test of share data corruption that always flips the bits of the last byte of the share data. refs #1395
2011-08-02 10:58:41 -07:00
Zooko O'Whielacronx
f426e82287
verifier: serialize the fetching of blocks within a share so that we don't use too much RAM
...
Shares are still verified in parallel, but within a share, don't request a
block until the previous block has been verified and the memory we used to hold
it has been freed up.
Patch originally due to Brian. This version has a mockery-patchery-style test
which is "low tech" (it implements the patching inline in the test code instead
of using an extension of the mock.patch() function from the mock library) and
which unpatches in case of exception.
fixes #1395
2011-08-01 23:37:03 -07:00
Brian Warner
3668cb3d06
remove nodeid from WriteBucketProxy classes and customers
...
refs #1363
2011-08-01 15:43:17 -07:00
Brian Warner
550d67f51f
remove get_serverid() from ReadBucketProxy and customers, including Checker
...
and debug.py dump-share commands
refs #1363
2011-08-01 15:43:07 -07:00
Zooko O'Whielacronx
e5c4e83f4c
reject old-style (pre-Tahoe-LAFS-v1.3) configuration files
...
Check for the existence of any of them and if any are found raise exception which will abort the startup of the node.
This is a backwards-incompatible change for anyone who is still using old-style configuration files.
fixes #1385
2011-08-01 16:24:23 -07:00
Zooko O'Whielacronx
420e3aa293
whitespace-cleanup
2011-07-24 18:55:46 -07:00
Zooko O'Whielacronx
3505a8a31c
tests: use fileutil.write() instead of open() to ensure timely close even without CPython-style reference counting
...
Some of these already had an explicit close() but I went ahead and replaced them with fileutil.write() as well for the sake of uniformity.
2011-03-31 07:54:27 -07:00
david-sarah
2da3f69f25
Address Kevan's comment in #776 about Options classes missed when adding 'self.command_name'. refs #776 , #1359
2011-08-01 15:13:17 -07:00
david-sarah
06a5d0c1a3
cleanup: implement rm as a synonym for unlink rather than vice-versa. refs #776
2011-08-01 15:01:08 -07:00
david-sarah
07ecac1d83
WUI: change the label of the button to unlink a file from 'del' to 'unlink'. Also change some internal names to 'unlink', and allow 't=unlink' as a synonym for 't=delete' in the web-API interface. Incidentally, improve a test to check for the rename button as well as the unlink button. fixes #1104
2011-07-12 17:12:18 -07:00
david-sarah
23b3a2f45a
src/allmydata/web/filenode.py: delete a stale comment that was made incorrect by changeset [3133].
2011-08-01 13:30:09 -07:00
Brian Warner
294dc5d0c7
fix typo introduced during rebasing of 'remove get_serverid from
...
DownloadStatus.add_dyhb_request and customers' patch, to fix test failure.
2011-08-01 13:03:41 -07:00
Zooko O'Whielacronx
6b2e798595
remove get_serverid from DownloadStatus.add_dyhb_request and customers
...
This patch is a rebase of a patch originally written by Brian. I didn't change any of the intent of Brian's patch, just ported it to current trunk.
refs #1363
2011-08-01 11:54:01 -07:00
Zooko O'Whielacronx
dc66875479
remove get_serverid from DownloadStatus.add_block_request and customers
...
This is a rebase of a patch Brian originally wrote. I haven't changed the intent of that patch, just ported it to trunk.
refs #1363
2011-08-01 11:53:44 -07:00
Brian Warner
feca907499
apply zooko's advice: storage_client get_known_servers() returns a frozenset, caller sorts
...
refs #1363
2011-08-01 10:44:52 -07:00
Brian Warner
0605c77f08
test_immutable.Test: rewrite to use NoNetworkGrid, now takes 2.7s not 97s
...
remove now-unused ShareManglingMixin
refs #1363
2011-08-01 10:44:44 -07:00
Brian Warner
b07af5e1a2
DownloadStatus.add_known_share wants to be used by Finder, web.status
...
refs #1363
2011-08-01 10:44:36 -07:00
Brian Warner
0f11d35f85
replace IServer.name() with get_name(), and get_longname()
...
This patch was originally written by Brian, but was re-recorded by Zooko to use
darcs replace instead of hunks for any file in which it would result in fewer
total hunks.
refs #1363
2011-08-01 10:44:28 -07:00
Zooko O'Whielacronx
880758340f
upload.py: apply David-Sarah's advice rename (un)contacted(2) trackers to first_pass/second_pass/next_pass
...
This patch was written by Brian but was re-recorded by Zooko (with David-Sarah looking on) to use darcs replace instead of editing to rename the three variables to their new names.
refs #1363
2011-08-01 10:41:43 -07:00
Brian Warner
c9def76977
Coalesce multiple Share.loop() calls, make downloads faster. Closes #1268 .
2011-08-01 08:18:34 -07:00
david-sarah
095efbf7a5
src/allmydata/_auto_deps.py: 'i686' is another way of spelling x86.
2011-07-31 20:40:35 -07:00
david-sarah
52963f4a76
tahoe_rm.py: better error message when there is no path. refs #1292
2011-01-22 00:42:12 -07:00
david-sarah
00fefeba49
test_cli.py: Test for error message when 'tahoe rm' is invoked without a path. refs #1292
2011-01-04 04:51:08 -07:00
david-sarah
a85a462a7a
src/allmydata/__init__.py: suppress a spurious warning from 'bin/tahoe --version[-and-path]' about twisted-web and twisted-core packages.
2011-07-31 17:52:09 -07:00
david-sarah
16fd14a78a
test_cli.py: use to_str on fields loaded using simplejson.loads in new tests. refs #1304
2011-07-29 20:25:21 -07:00
Kevan Carstensen
448278e807
cli: make 'tahoe cp' overwrite mutable files in-place
2011-07-29 13:20:39 -07:00
david-sarah
a2699ea6f6
SFTP: write an error message to standard error for unrecognized shell commands. Change the existing message for shell sessions to be written to standard error, and refactor some duplicated code. Also change the lines of the error messages to end in CRLF, and take into account Kevan's review comments. fixes #1442 , #1446
2011-07-29 16:31:02 -07:00
david-sarah
b21a4f6b3f
src/allmydata/scripts/cli.py: fix pyflakes warning.
2011-07-27 19:14:02 -07:00
david-sarah
b978378392
Fix the help synopses of CLI commands to include [options] in the right place. fixes #1359 , fixes #636
2011-07-24 15:54:40 -07:00
david-sarah
f9d218c673
encodingutil: argv and output encodings are always the same on all platforms. Lose the unnecessary generality of them being different. fixes #1120
2011-06-29 11:53:56 -07:00
david-sarah
2ebaa916df
Update the dependency on zope.interface to fix an incompatiblity between Nevow and zope.interface 3.6.4. fixes #1435
2011-07-21 16:49:41 -07:00
david-sarah
0f83b76190
frontends/ftpd.py: remove the check for IWriteFile.close since we're now guaranteed to be using Twisted >= 10.1 which has it.
2011-07-21 17:03:20 -07:00
david-sarah
8b40826774
Update the dependency on Twisted to >= 10.1. This allows us to simplify some documentation: it's no longer necessary to install pywin32 on Windows, or apply a patch to Twisted in order to use the FTP frontend. fixes #1274 , #1438 . refs #1429
2011-07-21 16:36:58 -07:00
Zooko O'Whielacronx
89c11d63f1
setup: remove the dependency on foolscap's "secure_connections" extra, add a dependency on pyOpenSSL
...
fixes #1383
2011-07-17 04:42:26 -07:00
david-sarah
5fcd3f8803
test_sftp.py cleanup: remove a redundant definition of failUnlessReallyEqual.
2011-07-16 11:18:13 -07:00
Zooko O'Whielacronx
4f8e3e5ae8
contrib: remove the contributed fuse modules and the entire contrib/ directory, which is now empty
...
Also remove a couple of vestigial references to figleaf, which is long gone.
fixes #1409 (remove contrib/fuse)
2011-07-12 08:32:29 -07:00
Brian Warner
0f79973401
add Protovis.js-based download-status timeline visualization
...
provide status overlap info on the webapi t=json output, add decode/decrypt
rate tooltips, add zoomin/zoomout buttons
2011-06-29 15:26:06 -07:00
Brian Warner
d8358f2863
add more download-status data, fix tests
2011-06-29 15:25:55 -07:00
Brian Warner
fc5c2208fb
prepare for viz: improve DownloadStatus events
...
consolidate IDownloadStatusHandlingConsumer stuff into DownloadNode
2011-06-29 15:25:42 -07:00
Brian Warner
fb4dd43310
Rename test_package_initialization.py to (much shorter) test_import.py .
...
The former name was making my 'ls' listings hard to read, by forcing them
down to just two columns.
2011-06-11 12:02:34 -07:00
Zooko O'Whielacronx
be1ebde6e5
tests: fix tests to accomodate [20110611153758-92b7f-0ba5e4726fb6318dac28fb762a6512a003f4c430]
...
Apparently none of the two authors (stercor, terrell), three reviewers (warner, davidsarah, terrell), or one committer (me) actually ran the tests. This is presumably due to #20 .
fixes #1412
2011-06-11 09:37:41 -07:00
Zooko O'Whielacronx
06bf0360d6
wui: right-align the size column in the WUI
...
Thanks to Ted "stercor" Rolle Jr. and Terrell Russell.
fixes #1412
2011-06-11 08:37:58 -07:00
Zooko O'Whielacronx
155d048d17
docs: three minor fixes
...
CREDITS for arc for stats tweak
fix link to .zip file in quickstart.rst (thanks to ChosenOne for noticing)
English usage tweak
2011-06-10 05:16:56 -07:00
wilcoxjg
67ad0175cd
server.py: get_latencies now reports percentiles _only_ if there are sufficient observations for the interpretation of the percentile to be unambiguous.
...
interfaces.py: modified the return type of RIStatsProvider.get_stats to allow for None as a return value
NEWS.rst, stats.py: documentation of change to get_latencies
stats.rst: now documents percentile modification in get_latencies
test_storage.py: test_latencies now expects None in output categories that contain too few samples for the associated percentile to be unambiguously reported.
fixes #1392
2011-05-27 05:01:35 -07:00
david-sarah
a817163cc6
docs: convert NEWS to NEWS.rst and change all references to it.
2011-05-16 18:02:55 -07:00
david-sarah
49fd2e6e56
scripts/common.py: don't assume that the default alias is always 'tahoe' (it is, but the API of get_alias doesn't say so). refs #1342
2011-01-30 10:49:23 -07:00
Zooko O'Whielacronx
b30a269ec2
setup: don't catch all Exception from check_requirement(), but only PackagingError and ImportError
...
I noticed this because I had accidentally inserted a bug which caused AssertionError to be raised from check_requirement().
2011-01-28 08:20:06 -07:00
Zooko O'Whielacronx
299e8ad579
replace remaining .html docs with .rst docs
...
Remove install.html (long since deprecated).
Also replace some obsolete references to install.html with references to quickstart.rst.
Fix some broken internal references within docs/historical/historical_known_issues.txt.
Thanks to Ravi Pinjala and Patrick McDonald.
refs #1227
2011-05-10 12:16:50 -07:00
david-sarah
fffb3ae75b
Fix a test failure in test_package_initialization on Python 2.4.x due to exceptions being stringified differently than in later versions of Python. refs #1389
2011-04-11 12:07:38 -07:00
david-sarah
a09d7300e0
tests: add test for including the ImportError message and traceback entry in the summary of errors from importing dependencies. refs #1389
2011-04-10 08:58:44 -07:00
david-sarah
449b7ad8c7
allmydata/__init__.py: preserve the message and last traceback entry (file, line number, function, and source line) of ImportErrors in the package versions string. fixes #1389
2011-04-10 08:57:05 -07:00
Zooko O'Whielacronx
4911510e0d
remove unused variable detected by pyflakes
2011-04-07 10:22:31 -07:00
david-sarah
f3246a9ca0
allmydata/__init__.py: Nicer reporting of unparseable version numbers in dependencies. fixes #1388
2011-04-01 13:27:50 -07:00
Brian Warner
70f9f89c66
control.py: remove all uses of s.get_serverid()
2011-02-26 19:12:03 -07:00
Brian Warner
73a54f83d1
web: remove some uses of s.get_serverid(), not all
2011-02-26 19:11:59 -07:00
Brian Warner
3834192455
immutable/downloader/fetcher.py: remove all get_serverid() calls
2011-02-26 19:11:56 -07:00
Brian Warner
a4068dd1e0
immutable/downloader/fetcher.py: fix diversity bug in server-response handling
...
When blocks terminate (either COMPLETE or CORRUPT/DEAD/BADSEGNUM), the
_shares_from_server dict was being popped incorrectly (using shnum as the
index instead of serverid). I'm still thinking through the consequences of
this bug. It was probably benign and really hard to detect. I think it would
cause us to incorrectly believe that we're pulling too many shares from a
server, and thus prefer a different server rather than asking for a second
share from the first server. The diversity code is intended to spread out the
number of shares simultaneously being requested from each server, but with
this bug, it might be spreading out the total number of shares requested at
all, not just simultaneously. (note that SegmentFetcher is scoped to a single
segment, so the effect doesn't last very long).
2011-02-26 19:11:53 -07:00
Brian Warner
9ae026d9f4
immutable/downloader/share.py: reduce get_serverid(), one left, update ext deps
...
test_download.py: create+check MyShare instances better, make sure they share
Server objects, now that finder.py cares
2011-02-26 19:11:50 -07:00
Brian Warner
baf1506b9b
immutable/downloader/finder.py: reduce use of get_serverid(), one left
2011-02-26 19:11:46 -07:00
Brian Warner
d9d55ad006
immutable/offloaded.py: reduce use of get_serverid() a bit more
2011-02-26 19:11:42 -07:00
Brian Warner
2f63d9b522
immutable/upload.py: reduce use of get_serverid()
2011-02-26 19:11:38 -07:00
Brian Warner
bdc5cfbdad
immutable/checker.py: remove some uses of s.get_serverid(), not all
2011-02-26 19:11:34 -07:00
Brian Warner
9672b34880
add remaining get_* methods to storage_client.Server, NoNetworkServer, and
...
MockIServer stubs
2011-02-26 19:11:32 -07:00
Brian Warner
36fabb4f4a
upload.py: rearrange _make_trackers a bit, no behavior changes
2011-02-26 19:11:28 -07:00
Brian Warner
ee14f2ad67
happinessutil.py: finally rename merge_peers to merge_servers
2011-02-26 19:11:24 -07:00
Brian Warner
13d284b087
test_upload.py: factor out FakeServerTracker
2011-02-26 19:11:20 -07:00
Brian Warner
9fc55bad25
test_upload.py: server-vs-tracker cleanup
2011-02-26 19:11:15 -07:00
Brian Warner
459b9d9e7c
happinessutil.py: server-vs-tracker cleanup
2011-02-26 19:11:11 -07:00
Brian Warner
43488b025c
upload.py: more tracker-vs-server cleanup
2011-02-26 19:11:07 -07:00
Brian Warner
0cf9e3b150
upload.py: fix var names to avoid confusion between 'trackers' and 'servers'
2011-02-26 19:11:03 -07:00
Brian Warner
ebfcb649f9
refactor: s/peer/server/ in immutable/upload, happinessutil.py, test_upload
...
No behavioral changes, just updating variable/method names and log messages.
The effects outside these three files should be minimal: some exception
messages changed (to say "server" instead of "peer"), and some internal class
names were changed. A few things still use "peer" to minimize external
changes, like UploadResults.timings["peer_selection"] and
happinessutil.merge_peers, which can be changed later.
2011-02-26 19:11:00 -07:00
Brian Warner
9b9ea3f739
storage_client.py: clean up test_add_server/test_add_descriptor, remove .test_servers
2011-02-26 19:10:56 -07:00
Brian Warner
cba3de04a4
test_client.py, upload.py:: remove KiB/MiB/etc constants, and other dead code
2011-02-26 19:10:51 -07:00
Zooko O'Whielacronx
578a117c5b
test: increase timeout on a network test because Francois's ARM machine hit that timeout
...
I'm skeptical that the test was proceeding correctly but ran out of time. It seems more likely that it had gotten hung. But if we raise the timeout to an even more extravagant number then we can be even more certain that the test was never going to finish.
2011-03-17 09:59:09 -07:00
Brian Warner
44466fbb1b
web/filenode.py: avoid calling req.finish() on closed HTTP connections. Closes #1366
2011-02-20 22:15:44 -08:00
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