The Tahoe-LAFS decentralized secure filesystem.
Go to file
Kevan Carstensen 81ad52d6eb Change OphandleTable to use a deterministic clock, so we can test it
To test the changes for #577, we need a deterministic way to simulate
the passage of long periods of time. twisted.internet.task.Clock seems,
from my Googling, to be the way to go for this functionality. I changed
a few things so that OphandleTable would use twisted.internet.task.Clock
when testing:

  * WebishServer.__init___ now takes an optional 'clock' parameter,
  * which it passes to the root.Root instance it creates.
  * root.Root.__init__ now takes an optional 'clock' parameter, which it
    passes to the OphandleTable.__init__ method.
  * OphandleTable.__init__ now takes an optional 'clock' parameter. If
    it is provided, and it isn't None, its callLater method will be used
    to schedule ophandle expirations (as opposed to using
    reactor.callLater, which is what OphandleTable does normally).
  * The WebMixin object in test_web.py now sets a self.clock parameter,
    which is a twisted.internet.task.Clock that it feeds to the 
    WebishServer it creates. 

Tests using the WebMixin can control the passage of time in
OphandleTable by accessing self.clock.
2010-02-20 13:07:13 -08:00
bin trivial: whitespace 2009-02-11 11:19:35 -07:00
contrib Miscellaneous documentation, test, and code formatting tweaks. 2010-01-26 23:03:09 -08:00
docs Update docs/frontends/webapi.txt to reflect the new expiration times in #577 2010-02-20 17:07:16 -08:00
mac setup: remove binary _fusemodule.so 's 2009-09-24 14:11:30 -07:00
misc docs running.html - "tahoe run ." does not work with the current installation, replaced with "tahoe start ." 2010-02-06 08:53:20 -08:00
src/allmydata Change OphandleTable to use a deterministic clock, so we can test it 2010-02-20 13:07:13 -08:00
twisted/plugins code coverage: replace figleaf with coverage.py, should work on py2.6 now. 2010-02-03 08:54:21 -08:00
windows Add create-node CLI command, and make create-client equivalent to create-node --no-storage (fixes #760) 2010-01-15 21:20:55 -08:00
_auto_deps.py setup: comment-out the dependency on pycrypto, see #953 2010-02-14 21:08:44 -08:00
.darcs-boringfile code coverage: replace figleaf with coverage.py, should work on py2.6 now. 2010-02-03 08:54:21 -08:00
COPYING.GPL new licences, move details from README to doc/install-details.html 2008-01-04 12:27:42 -07:00
COPYING.TGPPL.html more introductory doc cleanup 2008-01-04 18:09:19 -07:00
CREDITS docs: CREDITS: where due 2010-02-01 21:38:31 -08:00
ez_setup.py setup: require new bundled setuptools-0.6c12dev 2009-02-05 09:29:23 -07:00
Makefile code coverage: replace figleaf with coverage.py, should work on py2.6 now. 2010-02-03 08:54:21 -08:00
NEWS More comprehensive changes and ticket references for NEWS 2010-02-01 22:12:56 -08:00
README docs: a few small edits to performance.txt and README 2010-02-01 21:27:50 -08:00
relnotes-short.txt docs: a couple of small edits to release notes (thanks Peter) 2010-02-01 21:48:32 -08:00
relnotes.txt docs: a couple of small edits to release notes (thanks Peter) 2010-02-01 21:48:32 -08:00
setup.cfg setup: clarify the way that we host two directories of dependencies: one is source distributions and the other is binary distributions 2009-07-16 09:06:57 -07:00
setup.py setup: mark setup.py as having utf-8 encoding in it 2009-09-20 11:03:43 -07:00
Tahoe.home rename bin/allmydata-tahoe to bin/tahoe. Closes #155. 2007-10-11 03:38:24 -07:00

Welcome to the Tahoe-LAFS project [1], a secure, decentralized,
fault-tolerant filesystem.  All of the source code is available under
a Free Software, Open Source licence (or two).

Please see docs/about.html for an introduction, docs/install.html for
install instructions, docs/running.html for usage instructions.

Finally, see docs/known_issues.txt for things that you need to know
about if you are relying on Tahoe to store your valuable data.

[1] http://allmydata.org