Zooko O'Whielacronx
16b20794dd
mutable: merge renaming with test patches
2008-12-07 08:45:19 -07:00
Brian Warner
ffb5985146
mutable.modify(): after UCWE, publish even if the second invocation of the modifier didn't modify anything. For #551 .
2008-12-05 22:49:23 -07:00
Brian Warner
7a0afb59a4
dirnode.py: dirnode.delete which hits UCWE should not fail with NoSuchChildError. Fixes #550 .
2008-12-05 22:08:37 -07:00
Brian Warner
bc53c24003
dirnode manifest: add verifycaps, both to internal API and to webapi. This will give the manual-GC tools more to work with, so they can estimate how much space will be freed.
2008-11-24 14:40:46 -07:00
Brian Warner
4ada26101b
test_dirnode: add an explainError call
2008-11-19 16:02:12 -07:00
Brian Warner
b84c2c6541
manifest: add storage-index strings to the json results
2008-11-19 16:00:27 -07:00
Brian Warner
815e0673e6
manifest: include stats in results. webapi is unchanged.
2008-11-19 15:03:47 -07:00
Brian Warner
dfa2408157
checker: add is_recoverable() to checker results, make our stub immutable-verifier not throw an exception on unrecoverable files, add tests
2008-11-06 22:35:47 -07:00
Brian Warner
b1db6d9ff2
web: add 'Repair' button to checker results when they indicate unhealthyness. Also add the object's uri to the CheckerResults instance.
2008-10-29 18:09:17 -07:00
Brian Warner
b73c380cdb
move testutil into test/common_util.py, since it doesn't count as 'code under test' for our pyflakes numbers
2008-10-28 21:28:31 -07:00
Brian Warner
fca158e83a
dirnode lookup: use distinct NoSuchChildError instead of the generic KeyError when a child can't be found
2008-10-27 13:15:25 -07:00
Brian Warner
2ee6356c89
test_dirnode.py: oops, missed a Monitor(), unbreak tests
2008-10-22 01:50:54 -07:00
Brian Warner
977c6ac510
more #514 : pass a Monitor to all checker operations, make mutable-checker honor the cancel flag
2008-10-22 01:38:18 -07:00
Brian Warner
ad3d9207a9
Change deep-size/stats/check/manifest to a start+poll model instead of a single long-running synchronous operation. No cancel or handle-expiration yet. #514 .
2008-10-21 17:03:07 -07:00
Brian Warner
3ffaded809
web: change t=manifest to return a list of (path,read/writecap) tuples, instead of a list of verifycaps. Add output=html,text,json.
2008-10-06 21:36:18 -07:00
Brian Warner
09341a969a
dirnode: fix my remarkably-consistent 'metdadata' typo
2008-10-02 18:08:45 -07:00
Brian Warner
d0bdf9a611
dirnode: add get_child_and_metadata_at_path
2008-10-02 17:52:03 -07:00
Brian Warner
27a30b90d7
test_netstring.py: move netstring tests to a separate file
2008-09-26 09:55:26 -07:00
Brian Warner
f6eeb3161f
dirnode: cleanup, make get_verifier() always return a URI instance, not a string
2008-09-10 01:37:55 -07:00
Brian Warner
3408d552cd
checker: overhaul checker results, split check/check_and_repair into separate methods, improve web displays
2008-09-07 12:44:56 -07:00
Brian Warner
c80e352951
IFilesystemNode: add get_storage_index(), it makes tests easier
2008-08-12 16:14:07 -07:00
Brian Warner
d106e411af
checker: add information to results, add some deep-check tests, fix a bug in which unhealthy files were not counted
2008-08-11 21:03:26 -07:00
Brian Warner
69156aeb28
dirnode deep-check: add tests of cycles, fix failures
2008-07-17 14:37:04 -07:00
Brian Warner
9289433ba3
first pass at deep-checker, no webapi yet, probably big problems with it, only minimal tests
2008-07-16 18:20:57 -07:00
Brian Warner
7394607141
move encode/upload/download/checker.py into a new immutable/ directory. No behavior changes expected.
2008-07-16 13:14:39 -07:00
Brian Warner
94e619c1f6
overhaul checker invocation
...
Removed the Checker service, removed checker results storage (both in-memory
and the tiny stub of sqlite-based storage). Added ICheckable, all
check/verify is now done by calling the check() method on filenodes and
dirnodes (immutable files, literal files, mutable files, and directory
instances).
Checker results are returned in a Results instance, with an html() method for
display. Checker results have been temporarily removed from the wui directory
listing until we make some other fixes.
Also fixed client.create_node_from_uri() to create LiteralFileNodes properly,
since they have different checking behavior. Previously we were creating full
FileNodes with LIT uris inside, which were downloadable but not checkable.
2008-07-15 17:23:25 -07:00
Brian Warner
87c1e8e066
dirnode: add overwrite= to most API calls, defaulting to True. When False, this raises ExistingChildError rather than overwriting an existing child
2008-05-16 16:09:47 -07:00
Brian Warner
7323ced8e4
test_dirnode: improve coverage of not-mutable-error a bit
2008-05-08 16:53:35 -07:00
Brian Warner
fabdc28c06
deep-stats: add file-size histogram
2008-05-08 16:19:42 -07:00
Brian Warner
a1ea3d9b37
test_dirnode: the size of the directories varies, tolerate it as low as 500 bytes
2008-05-08 13:42:42 -07:00
Brian Warner
e6ae7a2c60
dirnode: refactor deep-stats a bit
2008-05-08 13:33:07 -07:00
Brian Warner
6c00a70dbc
dirnode: add a deep_stats(), like deep-size but with more information. webish adds t=deeps-size too.
2008-05-08 13:21:14 -07:00
Brian Warner
acdd98432d
hush pyflakes warning about code that got moved in the recent StallMixin refactoring
2008-04-22 17:14:26 -07:00
Brian Warner
81ab1ec785
testutil: factor stall() out into a common location
2008-04-22 16:47:15 -07:00
Zooko O'Whielacronx
fc3bd0c987
use added secret to protect convergent encryption
...
Now upload or encode methods take a required argument named "convergence" which can be either None, indicating no convergent encryption at all, or a string, which is the "added secret" to be mixed in to the content hash key. If you want traditional convergent encryption behavior, set the added secret to be the empty string.
This patch also renames "content hash key" to "convergent encryption" in a argument names and variable names. (A different and larger renaming is needed in order to clarify that Tahoe supports immutable files which are not encrypted content-hash-key a.k.a. convergent encryption.)
This patch also changes a few unit tests to use non-convergent encryption, because it doesn't matter for what they are testing and non-convergent encryption is slightly faster.
2008-03-24 09:46:06 -07:00
Zooko O'Whielacronx
99f006c584
wapi: add POST /uri/$DIRECTORY?t=set_children
...
Unfinished bits: doc in webapi.txt, test handling of badly formed JSON, return reasonable HTTP response, examination of the effect of this patch on code coverage -- but I'm committing it anyway because MikeB can use it and I'm being called to dinner...
2008-02-29 18:40:27 -07:00
Brian Warner
7927495cbe
unicode handling: declare dirnodes to contain unicode child names, update webish to match
2008-02-14 15:45:56 -07:00
Brian Warner
5f50543c3b
test_dirnode.py: improve error messages in case timestamp tests fail
2008-02-11 17:37:51 -07:00
Brian Warner
09cf1e2a8a
test_dirnode.py: simplejson-1.7.1 incorrectly rounds floats to two decimal places. Don't let this bug flunk the timestamp test.
2008-02-11 17:35:17 -07:00
Brian Warner
3a1db45579
test_dirnode.py: assert that we update mtime and preserve ctime
2008-02-11 15:12:55 -07:00
Brian Warner
e6ddd9f3da
dirnode.py: add metadata= to add_file(), add tests
2008-02-11 14:53:28 -07:00
Brian Warner
b90eaf75da
test_dirnode.py: add diag output to test-ctime/mtime tests
2008-02-11 14:13:07 -07:00
Brian Warner
622c477e31
dirnode: add ctime/mtime to metadata, update metadata-modifying APIs. Needs more testing and sanity checking.
2008-02-08 18:43:47 -07:00
Brian Warner
66f33ee504
upload: return an UploadResults instance (with .uri) instead of just a URI
2008-02-05 21:01:38 -07:00
Brian Warner
7ac2b94aba
remove wait_for_numpeers and the when_enough_peers call in mutable.Publish
2008-01-14 14:55:59 -07:00
Zooko O'Whielacronx
eb373c0001
add human-encodings of caps, refactor encodings of caps, tighten checks, fix unit tests to use values of the right size
2008-01-03 16:55:43 -07:00
Zooko O'Whielacronx
a7f954ac06
editing: change names like "MyThing" to "FakeThing" for fake objects in unit tests
2007-12-11 18:10:29 -07:00
Brian Warner
f190382d5e
refactor web tests, and interfaces.IFileNode
2007-12-04 23:01:37 -07:00
Brian Warner
1a5257c388
improve test coverage on FileNode.check
2007-12-04 15:55:27 -07:00
Brian Warner
0f5ef5184d
test_dirnode.py: obtain full coverage of dirnode.py
2007-12-04 14:32:04 -07:00