Commit Graph

620 Commits

Author SHA1 Message Date
Brian Warner
d31d7ff941 test_system.py: do a large-file test (1.5MB) to trigger pauseProducing 2007-09-19 01:43:44 -07:00
Brian Warner
1340c484c6 download.py: use producer/consumer to reduce memory usage, closes #129.
If the DownloadTarget is also an IConsumer, give it control of the brakes
by offering ourselves to target.registerProducer(). When they tell us to
pause, set a flag, which is checked between segment downloads and decodes.
webish.py: make WebDownloadTarget an IConsumer and pass control along to
the http.Request, which already knows how to be an IConsumer.
This reduces the memory footprint of stalled HTTP GETs to a bare minimum,
and thus closes #129.
2007-09-19 00:34:47 -07:00
Brian Warner
9c9a793540 upload.py: fix signature of NonConvergentUploadMixin.get_encryption_key 2007-09-18 23:38:11 -07:00
Brian Warner
ee9b7fd678 check_memory: oops, silly bug make 'upload' push to ourselves, raising the usage 2007-09-19 04:14:48 -07:00
Brian Warner
08cc32bb77 check_memory: add download-GET-slow, to simulate memory usage of a node feeding downloaded data via HTTP GET to a slow client 2007-09-18 20:35:27 -07:00
Brian Warner
a5fab9935b test_runner: better diagnostics in case test_client fails 2007-09-18 20:03:18 -07:00
Brian Warner
2886c5aeae check_memory: don't accept shares for download/download-GET test, since that hits bug #97 2007-09-18 19:40:29 -07:00
Brian Warner
f6acf5a0c3 check_memory: add download, download-GET 2007-09-18 18:56:05 -07:00
Brian Warner
38946439f3 test_runner.py: fix race conditions in start/stop node, should run on cygwin now 2007-09-18 15:17:26 -07:00
Brian Warner
645927ca73 test_runner.py: skip the start/stop test when sys.platform is win32/cygwin.
The previous twisted.python.runtime.platformType approach didn't catch cygwin
for some reason.
2007-09-17 21:56:08 -07:00
Brian Warner
f72ef4d8f9 test_runner.py: add tests for startstop_node.py 2007-09-17 02:25:31 -07:00
Brian Warner
cf69accfb6 startstop_node.py: use SIGINT instead of SIGTERM, to allow the node a chance to clean up 2007-09-17 02:24:21 -07:00
Brian Warner
b7c18d6505 webish: improve test coverage 2007-09-17 01:53:46 -07:00
Brian Warner
6cd11037c6 debug: remove the 'dump-share-leases' command, it is subsumed by 'dump-share' 2007-09-17 01:44:39 -07:00
Brian Warner
79bd7d422d provisioning.py: get full test coverage 2007-09-17 01:38:54 -07:00
Brian Warner
311ed144f8 uri.py: improve test coverage a bit 2007-09-17 01:09:47 -07:00
Brian Warner
8451b485a4 storage: fill alreadygot= with all known shares for the given storageindex, not just the ones they asked about 2007-09-17 00:48:40 -07:00
Brian Warner
808f851589 upload: make peer-selection a bit more uniform. Closes #132. 2007-09-16 17:08:34 -07:00
Brian Warner
24e6ccddce peer-selection: if we must loop, send a minimal number of queries (by asking for more than one share per peer on the second pass) 2007-09-16 01:53:00 -07:00
Brian Warner
8a251d8670 upload: remove Tahoe3 peer-selection algorithm 2007-09-16 01:26:11 -07:00
Brian Warner
baa16087cd upload: switch to Tahoe2, add test for uniform share allocation 2007-09-16 01:25:03 -07:00
Brian Warner
979d12cd42 upload.py: implement Tahoe2 peer-selection algorithm 2007-09-16 01:24:07 -07:00
Brian Warner
f24d7450a7 vdrive.py: oops, forgot an import 2007-09-15 15:21:57 -07:00
Brian Warner
d37d74fa1d vdrive: log an error if we weren't able to use the vdrive the way we wanted to 2007-09-15 15:17:29 -07:00
Brian Warner
d628d5f503 storage: remove the leftover incoming/XYZ/ directory when we're done with it 2007-09-15 14:34:04 -07:00
Brian Warner
e9d32f14b9 check_memory.py: preserve client.log and stats.out in _test_memory/
Put the nodes in _test_memory/test/, which is clobbered on each test. Also
kill the client with SIGINT instead of SIGKILL. Also don't daemonize the 
client, since we're going to kill it at the end of the test anyways: this
cleans up shutdown a bit.
2007-09-15 20:53:06 -07:00
Brian Warner
d5ed60e4ad webish: upload: when the localdir= doesn't exist, say so in the HTTP response 2007-09-15 12:49:07 -07:00
Brian Warner
c7986389e5 check_memory.py: have all clients write their logs to _test_memory/client.log instead of a separate file per client 2007-09-15 12:34:05 -07:00
Brian Warner
e7f61a3a6c check_memory: oops, only bail if the process ended abnormally 2007-09-15 11:47:29 -07:00
Brian Warner
32f25f33e3 check-memory: if the child process fails to start, shut down instead of hanging forever 2007-09-14 20:16:57 -07:00
Brian Warner
df49fa55e0 test_client.py: remove unused 'stat' import 2007-09-13 20:17:42 -07:00
Zooko O'Whielacronx
8fd98624a3 don't try to use bindann
It causes a mysterious misbehavior in Python import which causes the previous patch to fail (the patch to not run trial tests if dependencies can't be imported)
2007-09-13 19:14:46 -07:00
Zooko O'Whielacronx
f443f8adbc remove test in test_client -- we can't easily assert that files aren't readable by others, on Windows 2007-09-13 20:12:26 -07:00
Brian Warner
e1e037e9b5 storage: always record lease expiration times as integers 2007-09-11 14:53:31 -07:00
nejucomo
96f55be844 Add some passing unit tests for testutil.PollMixin. 2007-09-07 16:15:41 -07:00
Brian Warner
89a25f1987 provisioning: include the cost of replacing failed hard drives 2007-09-10 15:46:45 -07:00
Brian Warner
0497d62939 provisioning: add cost information 2007-09-10 15:29:33 -07:00
Zooko O'Whielacronx
09ff5af99c loosen constraint on share data size 2007-09-11 11:29:18 -07:00
Brian Warner
3eaa888a0e provisioning: oops, fix test_provisioning too 2007-09-07 15:01:17 -07:00
Brian Warner
0ae7d31d33 provisioning.py: update test with new encoding-parameters format 2007-09-07 14:45:43 -07:00
Brian Warner
2a48283e53 provisioning: require at least one drive per server 2007-09-06 23:08:21 -07:00
Brian Warner
5561d3afe4 provisioning: explain the 'survival' number better 2007-09-06 23:01:07 -07:00
Brian Warner
421277cafa provisioning: more repair/survivability data 2007-09-06 22:54:53 -07:00
Brian Warner
69d680d820 provisioning: add some drive failure and repair rate info 2007-09-06 18:47:41 -07:00
Brian Warner
849dbb4950 provisioning.py: add file/server availability numbers 2007-09-05 18:16:21 -07:00
Brian Warner
76be4a582c webish: implement 'PUT /uri?t=mkdir' (to create anonymous dirnodes) 2007-09-05 17:23:06 -07:00
Brian Warner
db3f11648c webish: implement 'PUT /uri' (to create anonymous files) 2007-09-05 17:12:27 -07:00
Brian Warner
77394da447 client.py: only import webish.py if 'webport' is set, to save 3MB of footprint 2007-09-04 16:33:06 -07:00
Brian Warner
277e720f7c storage: add version number to share data. Closes #90. 2007-09-04 09:00:24 -07:00
Brian Warner
fb65aadd82 storage: don't add a duplicate lease, renew the old one instead 2007-09-02 21:39:47 -07:00