def testCollateIterators(self): """Test basic collating""" indices = list(map(index, [0, 1, 2, 3])) helper = lambda i: indices[i] # noqa: E731 use def instead of lambda makeiter1 = lambda: iter(indices ) # noqa: E731 use def instead of lambda makeiter2 = lambda: iter(map(helper, [0, 1, 3]) ) # noqa: E731 use def instead of lambda makeiter3 = lambda: iter(map(helper, [1, 2]) ) # noqa: E731 use def instead of lambda outiter = rorpiter.CollateIterators(makeiter1(), makeiter2()) self.assertTrue( iter_equal( outiter, iter([(indices[0], indices[0]), (indices[1], indices[1]), (indices[2], None), (indices[3], indices[3])]))) self.assertTrue( iter_equal( rorpiter.CollateIterators(makeiter1(), makeiter2(), makeiter3()), iter([(indices[0], indices[0], None), (indices[1], indices[1], indices[1]), (indices[2], None, indices[2]), (indices[3], indices[3], None)]))) self.assertTrue( iter_equal(rorpiter.CollateIterators(makeiter1(), iter([])), iter([(i, None) for i in indices]))) self.assertTrue( iter_equal(iter([(i, None) for i in indices]), rorpiter.CollateIterators(makeiter1(), iter([]))))
def compare(man, rootrp, time): sel = selection.Select(rootrp) sel.parse_selection_args( (), ()) # make sure incorrect files are filtered out self.assertTrue( iter_equal(sel.set_iter(), man._get_meta_main_at_time(time, None)))
def ParseTest(self, tuplelist, indices, filelists=[]): """No error if running select on tuple goes over indices""" def tuple_fsencode(filetuple): return tuple(map(os.fsencode, filetuple)) if not self.root: self.root = rpath.RPath(Globals.local_connection, "rdiff-backup_testfiles/select") self.Select = Select(self.root) self.Select.ParseArgs(tuplelist, self.remake_filelists(filelists)) assert iter_equal(iter_map(lambda dsrp: dsrp.index, self.Select.set_iter()), map(tuple_fsencode, indices), verbose=1)
def testConversion(self): """Test iter to file conversion""" for itm in [self.iter1maker, self.iter2maker]: self.assertTrue( iter_equal(itm(), IterWrappingFile(FileWrappingIter(itm()))))
def compare(man, rootrp, time): sel = selection.Select(rootrp) sel.ParseArgs((), ()) # make sure incorrect files are filtered out assert iter_equal(sel.set_iter(), man.get_meta_at_time(time, None))