diff options
author | ben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2002-03-21 07:34:29 +0000 |
---|---|---|
committer | ben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2002-03-21 07:34:29 +0000 |
commit | a2e3c38d72877dd9142d802e76047e10cf490e19 (patch) | |
tree | fd912dd37d0afe96adf760606d65f7b302c0678e /rdiff-backup/testing/rorpitertest.py | |
parent | 8c37a5bdfdd46d5cfad6e9d67925ddef9ca382bf (diff) | |
download | rdiff-backup-a2e3c38d72877dd9142d802e76047e10cf490e19.tar.gz |
Added hardlink support, refactored some test cases
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@7 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/testing/rorpitertest.py')
-rw-r--r-- | rdiff-backup/testing/rorpitertest.py | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/rdiff-backup/testing/rorpitertest.py b/rdiff-backup/testing/rorpitertest.py index b9d558f..28ac54b 100644 --- a/rdiff-backup/testing/rorpitertest.py +++ b/rdiff-backup/testing/rorpitertest.py @@ -62,25 +62,25 @@ class RORPIterTest(unittest.TestCase): RORPIter.PatchIter(self.output, RORPIter.FromFile(diff_file)) turninto(self.inc1rp) - assert self.compare_rps(self.output, self.inc1rp) + RPath.copy_attribs(self.inc1rp, self.output) # Update time + assert self.compare_no_times(self.inc1rp, self.output) turninto(self.inc2rp) - assert self.compare_rps(self.output, self.inc2rp) - - def compare_rps(self, rp1, rp2): - """True if rp1 and rp2 are equal in some sense""" - def RawIter(rp): - """Get raw iterator of file stats based an rp1""" - return RORPIter.ToRaw(Iter.map(lambda rp2: rp2.getRORPath(), - RORPIter.IterateRPaths(rp))) - ri1 = RawIter(rp1) - ri2 = RawIter(rp2) - try: - rorp1 = ri1.next() - rorp2 = ri2.next() - assert rorp1 == rorp2, "%s %s" % (rorp1, rorp2) - except StopIteration: pass - return 1 - # return Iter.equal(RawIter(rp1), RawIter(rp2)) + RPath.copy_attribs(self.inc2rp, self.output) + assert self.compare_no_times(self.inc2rp, self.output) + + def compare_no_times(self, src_rp, dest_rp): + """Compare but disregard directories attributes""" + dsiter1, dsiter2 = map(DestructiveStepping.Iterate_with_Finalizer, + [src_rp, dest_rp], [1, None]) + + def equal(src_rorp, dest_rorp): + return ((src_rorp.isdir() and dest_rorp.isdir()) or + src_rorp == dest_rorp) + + result = Iter.equal(dsiter1, dsiter2, 1, equal) + for i in dsiter1: pass # make sure all files processed anyway + for i in dsiter2: pass + return result class IndexedTupleTest(unittest.TestCase): |