def test_leak(): while True: d = DiscoDB(zip(letters, ['abc'] * 1000)) t = len(d.query('a')) t = len(d['b']) t = 'd' in d t = d.dumps() t = DiscoDB.loads(t) t = d.dump(open('/tmp/discodb', 'w')) t = DiscoDB.load(open('/tmp/discodb')) for k in d.keys(): for v in d.values(): t = k == v
def test_leak(): while True: d = DiscoDB(zip(letters, ["abc"] * 1000)) t = len(d.query("a")) t = len(d["b"]) t = "d" in d t = d.dumps() t = DiscoDB.loads(t) t = d.dump(open("/tmp/discodb", "w")) t = DiscoDB.load(open("/tmp/discodb")) for k in d.keys(): for v in d.values(): t = k == v
def input_stream(fd, size, url, params): import os from disco import util from disco.comm import download from discodb import DiscoDB, Q scheme, netloc, rest = util.urlsplit(url) path, rest = rest.split('!', 1) if '!' in rest else (rest, '') if netloc[0] == Task.netloc[0]: discodb = DiscoDB.load(open(os.path.join(Task.root, path))) else: discodb = DiscoDB.loads(download('disco://%s/%s' % (netloc, path))) if rest: method_name, arg = rest.split('/', 1) if '/' in rest else (rest, None) method = getattr(discodb, method_name) if method_name in ('metaquery', 'query'): return method(Q.urlscan(arg)), size, url return method(*filter(None, arg)), size, url return discodb, size, url
def test_dumps_loads(self): dbuffer = self.discodb.dumps() self.assertEquals(dbuffer, DiscoDB.loads(dbuffer).dumps())
def test_dumps_loads(self): dbuffer = self.discodb.dumps() assert dbuffer == DiscoDB.loads(dbuffer).dumps()