diff options
author | ben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2002-05-25 18:54:30 +0000 |
---|---|---|
committer | ben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2002-05-25 18:54:30 +0000 |
commit | 7a82871f7b6d25464516dd659f3e98cc56211ff1 (patch) | |
tree | f0f6c1d0b040769c759e76eeee355776dd453eb8 /rdiff-backup/testing | |
parent | 9b6416eaf5e1691d2e640a5da2a14b4efac38348 (diff) | |
download | rdiff-backup-7a82871f7b6d25464516dd659f3e98cc56211ff1.tar.gz |
Bugfixed the new statistics stuff
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@108 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/testing')
-rw-r--r-- | rdiff-backup/testing/commontest.py | 11 | ||||
-rw-r--r-- | rdiff-backup/testing/finaltest.py | 2 | ||||
-rw-r--r-- | rdiff-backup/testing/incrementtest.py | 37 | ||||
-rw-r--r-- | rdiff-backup/testing/regressiontest.py | 25 | ||||
-rw-r--r-- | rdiff-backup/testing/statisticstest.py | 3 |
5 files changed, 56 insertions, 22 deletions
diff --git a/rdiff-backup/testing/commontest.py b/rdiff-backup/testing/commontest.py index 40acc2d..de897bb 100644 --- a/rdiff-backup/testing/commontest.py +++ b/rdiff-backup/testing/commontest.py @@ -82,7 +82,7 @@ def InternalBackup(source_local, dest_local, src_dir, dest_dir, _get_main().cleanup() def InternalMirror(source_local, dest_local, src_dir, dest_dir, - checkpointing = None): + write_data = None): """Mirror src to dest internally, like InternalBackup""" remote_schema = '%s' @@ -97,15 +97,18 @@ def InternalMirror(source_local, dest_local, src_dir, dest_dir, _get_main().misc_setup([rpin, rpout]) _get_main().backup_init_select(rpin, rpout) if not rpout.lstat(): rpout.mkdir() - if checkpointing: # use rdiff-backup-data dir to checkpoint + if write_data: # use rdiff-backup-data dir to checkpoint data_dir = rpout.append("rdiff-backup-data") if not data_dir.lstat(): data_dir.mkdir() SetConnections.UpdateGlobal('rbdir', data_dir) else: # just use root directory to hold checkpoints SetConnections.UpdateGlobal('rbdir', rpout) SetConnections.BackupInitConnections(rpin.conn, rpout.conn) - SaveState.init_filenames(None) - HighLevel.Mirror(rpin, rpout, checkpointing, None, write_finaldata = None) + + if write_data: + SaveState.init_filenames() + HighLevel.Mirror(rpin, rpout, Globals.rbdir.append("increments")) + else: HighLevel.Mirror(rpin, rpout) _get_main().cleanup() def InternalRestore(mirror_local, dest_local, mirror_dir, dest_dir, time): diff --git a/rdiff-backup/testing/finaltest.py b/rdiff-backup/testing/finaltest.py index add827f..bf293dc 100644 --- a/rdiff-backup/testing/finaltest.py +++ b/rdiff-backup/testing/finaltest.py @@ -150,7 +150,7 @@ class PathSetter(unittest.TestCase): assert len(self.getinc_paths("nochange.", "testfiles/output/rdiff-backup-data/increments")) == 0 assert len(self.getinc_paths("", - "testfiles/output/rdiff-backup-data/increments/nochange")) == 0 + "testfiles/output/rdiff-backup-data/increments/nochange")) == 1 def getinc_paths(self, basename, directory): """Return increment.______.dir paths""" diff --git a/rdiff-backup/testing/incrementtest.py b/rdiff-backup/testing/incrementtest.py index 5df1749..8c75ff7 100644 --- a/rdiff-backup/testing/incrementtest.py +++ b/rdiff-backup/testing/incrementtest.py @@ -164,6 +164,23 @@ class inctest(unittest.TestCase): class inctest2(unittest.TestCase): """Like inctest but contains more elaborate tests""" + def stats_check_initial(self, s): + """Make sure stats object s compatible with initial mirroring + + A lot of the off by one stuff is because the root directory + exists in the below examples. + + """ + assert s.MirrorFiles == 1 or s.MirrorFiles == 0 + assert s.MirrorFileSize < 20000 + assert s.NewFiles <= s.SourceFiles <= s.NewFiles + 1 + assert s.NewFileSize <= s.SourceFileSize <= s.NewFileSize + 20000 + assert s.ChangedFiles == 1 or s.ChangedFiles == 0 + assert s.ChangedSourceSize < 20000 + assert s.ChangedMirrorSize < 20000 + assert s.DeletedFiles == s.DeletedFileSize == 0 + assert s.IncrementFileSize == 0 + def testStatistics(self): """Test the writing of statistics @@ -181,8 +198,13 @@ class inctest2(unittest.TestCase): incs = Restore.get_inclist(inc_base.append("subdir"). append("directory_statistics")) - assert len(incs) == 1 - subdir_stats = StatsObj().read_stats_from_rp(incs[0]) + assert len(incs) == 2 + s1 = StatsObj().read_stats_from_rp(incs[0]) # initial mirror stats + assert s1.SourceFiles == 2 + assert 400000 < s1.SourceFileSize < 420000 + self.stats_check_initial(s1) + + subdir_stats = StatsObj().read_stats_from_rp(incs[1]) # increment stats assert subdir_stats.SourceFiles == 2 assert 400000 < subdir_stats.SourceFileSize < 420000 assert subdir_stats.MirrorFiles == 2 @@ -195,8 +217,13 @@ class inctest2(unittest.TestCase): assert 10 < subdir_stats.IncrementFileSize < 20000 incs = Restore.get_inclist(inc_base.append("directory_statistics")) - assert len(incs) == 1 - root_stats = StatsObj().read_stats_from_rp(incs[0]) + assert len(incs) == 2 + s2 = StatsObj().read_stats_from_rp(incs[0]) + assert s2.SourceFiles == 7 + assert 700000 < s2.SourceFileSize < 750000 + self.stats_check_initial(s2) + + root_stats = StatsObj().read_stats_from_rp(incs[1]) assert root_stats.SourceFiles == 7 assert 550000 < root_stats.SourceFileSize < 570000 assert root_stats.MirrorFiles == 7 @@ -208,6 +235,6 @@ class inctest2(unittest.TestCase): assert 3 <= root_stats.ChangedFiles <= 4, root_stats.ChangedFiles assert 450000 < root_stats.ChangedSourceSize < 470000 assert 400000 < root_stats.ChangedMirrorSize < 420000 - assert 10 < subdir_stats.IncrementtFileSize < 30000 + assert 10 < subdir_stats.IncrementFileSize < 30000 if __name__ == '__main__': unittest.main() diff --git a/rdiff-backup/testing/regressiontest.py b/rdiff-backup/testing/regressiontest.py index 62f884d..1a486d7 100644 --- a/rdiff-backup/testing/regressiontest.py +++ b/rdiff-backup/testing/regressiontest.py @@ -191,7 +191,7 @@ class IncrementTest2(PathSetter): def runtest(self): """After setting connections, etc., run actual test using this""" Time.setcurtime() - SaveState.init_filenames(1) + SaveState.init_filenames() _get_main().backup_init_select(Local.inc1rp, Local.rpout) HighLevel.Mirror(self.inc1rp, self.rpout) @@ -295,7 +295,7 @@ class MirrorTest(PathSetter): "Test mirroring a directory that has no permissions" self.setPathnames(None, None, None, None) Time.setcurtime() - SaveState.init_filenames(None) + SaveState.init_filenames() self.Mirror(self.noperms, self.noperms_out, None) # Can't compare because we don't have the permissions to do it right #assert CompareRecursive(Local.noperms, Local.noperms_out) @@ -304,8 +304,8 @@ class MirrorTest(PathSetter): "No permissions mirroring (remote)" self.setPathnames('test1', '../', 'test2/tmp', '../../') Time.setcurtime() - SaveState.init_filenames(None) - self.Mirror(self.noperms, self.noperms_out, checkpoint=None) + SaveState.init_filenames() + self.Mirror(self.noperms, self.noperms_out, None) #assert CompareRecursive(Local.noperms, Local.noperms_out) def testPermSkipLocal(self): @@ -313,8 +313,8 @@ class MirrorTest(PathSetter): self.setPathnames(None, None, None, None) Globals.change_source_perms = None Time.setcurtime() - SaveState.init_filenames(None) - self.Mirror(self.one_unreadable, self.one_unreadable_out, checkpoint=None) + SaveState.init_filenames() + self.Mirror(self.one_unreadable, self.one_unreadable_out) Globals.change_source_perms = 1 self.Mirror(self.one_unreadable, self.one_unreadable_out) # Could add test, but for now just make sure it doesn't exit @@ -324,7 +324,7 @@ class MirrorTest(PathSetter): self.setPathnames('test1', '../', 'test2/tmp', '../../') Globals.change_source_perms = None Time.setcurtime() - SaveState.init_filenames(None) + SaveState.init_filenames() self.Mirror(self.one_unreadable, self.one_unreadable_out) Globals.change_source_perms = 1 self.Mirror(self.one_unreadable, self.one_unreadable_out) @@ -394,7 +394,7 @@ class MirrorTest(PathSetter): def runtest(self): Time.setcurtime() - SaveState.init_filenames(None) + SaveState.init_filenames() assert self.rbdir.lstat() self.Mirror(self.inc1rp, self.rpout) assert CompareRecursive(Local.inc1rp, Local.rpout) @@ -409,7 +409,7 @@ class MirrorTest(PathSetter): self.reset_rps() Time.setcurtime() - SaveState.init_filenames(None) + SaveState.init_filenames() self.Mirror(self.inc1rp, self.rpout) #RPath.copy_attribs(self.inc1rp, self.rpout) assert CompareRecursive(Local.inc1rp, Local.rpout) @@ -417,10 +417,13 @@ class MirrorTest(PathSetter): self.Mirror(self.inc2rp, self.rpout) assert CompareRecursive(Local.inc2rp, Local.rpout) - def Mirror(self, rpin, rpout, checkpoint = 1): + def Mirror(self, rpin, rpout, write_increments = 1): """Like HighLevel.Mirror, but run misc_setup first""" _get_main().misc_setup([rpin, rpout]) _get_main().backup_init_select(rpin, rpout) - HighLevel.Mirror(rpin, rpout, checkpoint) + if write_increments: + HighLevel.Mirror(rpin, rpout, + rpout.append_path("rdiff-backup-data/increments")) + else: HighLevel.Mirror(rpin, rpout) if __name__ == "__main__": unittest.main() diff --git a/rdiff-backup/testing/statisticstest.py b/rdiff-backup/testing/statisticstest.py index d32326f..f18832d 100644 --- a/rdiff-backup/testing/statisticstest.py +++ b/rdiff-backup/testing/statisticstest.py @@ -50,7 +50,8 @@ DeletedFileSize 6 ChangedFiles 7 ChangedSourceSize 8 ChangedMirrorSize 9 -IncrementFileSize 10""", "'%s'" % stats_string +IncrementFileSize 10 +""", "'%s'" % stats_string def test_init_stats(self): """Test setting stat object from string""" |