diff options
author | ben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2002-05-24 08:41:40 +0000 |
---|---|---|
committer | ben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2002-05-24 08:41:40 +0000 |
commit | 3e73e03a5ff1aa37caf8196b8bb09aac6ab717f5 (patch) | |
tree | a7d09e244363dd7e95fce95051e78bcf3b22c176 /rdiff-backup/testing/statisticstest.py | |
parent | 6f1dde2f87241290d29f7cb6701efc3374f32838 (diff) | |
download | rdiff-backup-3e73e03a5ff1aa37caf8196b8bb09aac6ab717f5.tar.gz |
Updated test set for use with new more complicated statistics
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@105 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/testing/statisticstest.py')
-rw-r--r-- | rdiff-backup/testing/statisticstest.py | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/rdiff-backup/testing/statisticstest.py b/rdiff-backup/testing/statisticstest.py new file mode 100644 index 0000000..1fd8847 --- /dev/null +++ b/rdiff-backup/testing/statisticstest.py @@ -0,0 +1,84 @@ +import unittest +execfile("commontest.py") +rbexec("statistics.py") + +class StatsObjTest(unittest.TestCase): + """Test StatsObj class""" + def set_obj(self, s): + """Set values of s's statistics""" + s.SourceFiles = 1 + s.SourceFileSize = 2 + s.NewFiles = 3 + s.NewFileSize = 4 + s.DeletedFiles = 5 + s.DeletedFileSize = 6 + s.ChangedFiles = 7 + s.ChangedSourceSize = 8 + s.ChangedMirrorSize = 9 + s.IncrementFileSize = 10 + s.StartTime = 11 + s.EndTime = 12 + + def test_get_stats(self): + """Test reading and writing stat objects""" + s = StatsObj() + assert s.get_stat('SourceFiles') is None + self.set_obj(s) + assert s.get_stat('SourceFiles') == 1 + + s1 = StatsITR() + assert s1.get_stat('SourceFiles') == 0 + + def test_get_stats_string(self): + """Test conversion of stat object into string""" + s = StatsObj() + stats_string = s.get_stats_string() + assert stats_string == "", stats_string + + self.set_obj(s) + stats_string = s.get_stats_string() + assert stats_string == \ +"""StartTime 11 +EndTime 12 +SourceFiles 1 +SourceFileSize 2 +NewFiles 3 +NewFileSize 4 +DeletedFiles 5 +DeletedFileSize 6 +ChangedFiles 7 +ChangedSourceSize 8 +ChangedMirrorSize 9 +IncrementFileSize 10""", "'%s'" % stats_string + + def test_init_stats(self): + """Test setting stat object from string""" + s = StatsObj() + s.init_stats_from_string("NewFiles 3 hello there") + for attr in s.stat_attrs: + if attr == 'NewFiles': assert s.get_stat(attr) == 3 + else: assert s.get_stat(attr) is None, (attr, s.__dict__[attr]) + + s1 = StatsObj() + self.set_obj(s1) + assert not s1.stats_equal(s) + + s2 = StatsObj() + s2.init_stats_from_string(s1.get_stats_string()) + assert s1.stats_equal(s2) + + def test_write_rp(self): + """Test reading and writing of statistics object""" + rp = RPath(Globals.local_connection, "testfiles/statstest") + if rp.lstat(): rp.delete() + s = StatsObj() + self.set_obj(s) + s.write_stats_to_rp(rp) + + s2 = StatsObj() + assert not s2.stats_equal(s) + s2.read_stats_from_rp(rp) + assert s2.stats_equal(s) + + +if __name__ == "__main__": unittest.main() |