setup_py_uri = "URI:CHK:n7r3m6wmomelk4sep3kw5cvduq:os7ijw5c3maek7pg65e5254k2fzjflavtpejjyhshpsxuqzhcwwq:3:20:14861"
one_uri = "URI:LIT:n5xgk" # LIT for "one"
mut_write_uri = "URI:SSK:vfvcbdfbszyrsaxchgevhmmlii:euw4iw7bbnkrrwpzuburbhppuxhc3gwxv26f6imekhz7zyw2ojnq"
-mdmf_write_uri = "URI:MDMF:x533rhbm6kiehzl5kj3s44n5ie:4gif5rhneyd763ouo5qjrgnsoa3bg43xycy4robj2rf3tvmhdl3a:1:131072"
+mdmf_write_uri = "URI:MDMF:x533rhbm6kiehzl5kj3s44n5ie:4gif5rhneyd763ouo5qjrgnsoa3bg43xycy4robj2rf3tvmhdl3a"
empty_litdir_uri = "URI:DIR2-LIT:"
tiny_litdir_uri = "URI:DIR2-LIT:gqytunj2onug64tufqzdcosvkjetutcjkq5gw4tvm5vwszdgnz5hgyzufqydulbshj5x2lbm" # contains one child which is itself also LIT
mut_read_uri = "URI:SSK-RO:jf6wkflosyvntwxqcdo7a54jvm:euw4iw7bbnkrrwpzuburbhppuxhc3gwxv26f6imekhz7zyw2ojnq"
-mdmf_read_uri = "URI:MDMF-RO:d4cydxselputycfzkw6qgz4zv4:4gif5rhneyd763ouo5qjrgnsoa3bg43xycy4robj2rf3tvmhdl3a:1:131072"
+mdmf_read_uri = "URI:MDMF-RO:d4cydxselputycfzkw6qgz4zv4:4gif5rhneyd763ouo5qjrgnsoa3bg43xycy4robj2rf3tvmhdl3a"
future_write_uri = "x-tahoe-crazy://I_am_from_the_future."
future_read_uri = "x-tahoe-crazy-readonly://I_am_from_the_future."
future_nonascii_write_uri = u"x-tahoe-even-more-crazy://I_am_from_the_future_rw_\u263A".encode('utf-8')
d.addCallback(_check_results)
return d
+ def test_deepcheck_cachemisses(self):
+ self.basedir = "dirnode/Dirnode/test_mdmf_cachemisses"
+ self.set_up_grid()
+ d = self._test_deepcheck_create()
+ # Clear the counters and set the rootnode
+ d.addCallback(lambda rootnode:
+ not [ss._clear_counters() for ss
+ in self.g.wrappers_by_id.values()] or rootnode)
+ d.addCallback(lambda rootnode: rootnode.start_deep_check().when_done())
+ def _check(ign):
+ count = sum([ss.counter_by_methname['slot_readv']
+ for ss in self.g.wrappers_by_id.values()])
+ self.failIf(count > 60, 'Expected only 60 cache misses,'
+ 'unfortunately there were %d' % (count,))
+ d.addCallback(_check)
+ return d
+
def test_deepcheck_mdmf(self):
self.basedir = "dirnode/Dirnode/test_deepcheck_mdmf"
self.set_up_grid()
known_tree = b32decode(self.known_tree)
nodemaker = NodeMaker(None, None, None,
None, None,
- {"k": 3, "n": 10}, None)
+ {"k": 3, "n": 10}, None, None)
write_uri = "URI:SSK-RO:e3mdrzfwhoq42hy5ubcz6rp3o4:ybyibhnp3vvwuq2vaw2ckjmesgkklfs6ghxleztqidihjyofgw7q"
filenode = nodemaker.create_from_cap(write_uri)
node = dirnode.DirectoryNode(filenode, nodemaker, None)
return kids
def test_deep_immutable(self):
- nm = NodeMaker(None, None, None, None, None, {"k": 3, "n": 10}, None)
+ nm = NodeMaker(None, None, None, None, None, {"k": 3, "n": 10}, None, None)
fn = MinimalFakeMutableFile()
kids = self._make_kids(nm, ["imm", "lit", "write", "read",
def get_write_uri(self):
return self.uri.to_string()
- def download_best_version(self):
+ def download_best_version(self, progress=None):
return defer.succeed(self.data)
def get_writekey(self):
def __init__(self):
self.nodemaker = FakeNodeMaker(None, None, None,
None, None,
- {"k":3,"n":10}, None)
+ {"k":3,"n":10}, None, None)
def create_node_from_uri(self, rwcap, rocap):
return self.nodemaker.create_from_cap(rwcap, rocap)
n.raise_error()
for (i, n) in unknown_rw:
- self.failUnlessRaises(MustNotBeUnknownRWError, lambda: n.raise_error())
+ self.failUnlessRaises(MustNotBeUnknownRWError, lambda n=n: n.raise_error())
for (i, n) in must_be_ro:
- self.failUnlessRaises(MustBeReadonlyError, lambda: n.raise_error())
+ self.failUnlessRaises(MustBeReadonlyError, lambda n=n: n.raise_error())
for (i, n) in must_be_imm:
- self.failUnlessRaises(MustBeDeepImmutableError, lambda: n.raise_error())
+ self.failUnlessRaises(MustBeDeepImmutableError, lambda n=n: n.raise_error())
for (i, n) in bad_uri:
- self.failUnlessRaises(uri.BadURIError, lambda: n.raise_error())
+ self.failUnlessRaises(uri.BadURIError, lambda n=n: n.raise_error())
for (i, n) in ok:
self.failIf(n.get_readonly_uri() is None, i)
c0.get_history(), c0.getServiceNamed("uploader"),
c0.terminator,
c0.get_encoding_parameters(),
+ c0.mutable_file_default,
c0._key_generator)
n = nm.create_from_cap(self.root_uri)
assert n._node.please_ucwe_after_next_upload == False