summaryrefslogtreecommitdiff
path: root/rdiff-backup/testing/highleveltest.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/testing/highleveltest.py')
-rw-r--r--rdiff-backup/testing/highleveltest.py75
1 files changed, 75 insertions, 0 deletions
diff --git a/rdiff-backup/testing/highleveltest.py b/rdiff-backup/testing/highleveltest.py
new file mode 100644
index 0000000..b1e6f8d
--- /dev/null
+++ b/rdiff-backup/testing/highleveltest.py
@@ -0,0 +1,75 @@
+import unittest
+
+execfile("commontest.py")
+rbexec("setconnections.py")
+
+
+class RemoteMirrorTest(unittest.TestCase):
+ """Test mirroring"""
+ def setUp(self):
+ """Start server"""
+ Log.setverbosity(7)
+ Globals.change_source_perms = 1
+ self.conn = SetConnections.init_connection("./server.py")
+
+ self.inrp = RPath(Globals.local_connection, "testfiles/various_file_types")
+ self.outrp = RPath(self.conn, "testfiles/output")
+ self.rbdir = RPath(self.conn, "testfiles/output/rdiff-backup-data")
+ SetConnections.UpdateGlobal('rbdir', self.rbdir)
+ self.inc1 = RPath(Globals.local_connection, "testfiles/increment1")
+ self.inc2 = RPath(Globals.local_connection, "testfiles/increment2")
+ self.inc3 = RPath(Globals.local_connection, "testfiles/increment3")
+ self.inc4 = RPath(Globals.local_connection, "testfiles/increment4")
+
+ SetConnections.BackupInitConnections(Globals.local_connection,
+ self.conn)
+ SetConnections.UpdateGlobal('checkpoint_interval', 3)
+
+ def testMirror(self):
+ """Testing simple mirror"""
+ if self.outrp.lstat(): self.outrp.delete()
+ HighLevel.Mirror(self.inrp, self.outrp, None)
+ self.outrp.setdata()
+ assert RPath.cmp_recursive(self.inrp, self.outrp)
+
+ def testMirror2(self):
+ """Test mirror with larger data set"""
+ if self.outrp.lstat(): self.outrp.delete()
+ for rp in [self.inc1, self.inc2, self.inc3, self.inc4]:
+ rp.setdata()
+ print "----------------- Starting ", rp.path
+ HighLevel.Mirror(rp, self.outrp, None)
+ #if rp is self.inc2: assert 0
+ assert RPath.cmp_recursive(rp, self.outrp)
+ self.outrp.setdata()
+
+ def testMirrorWithCheckpointing(self):
+ """Like testMirror but this time checkpoint"""
+ if self.outrp.lstat(): self.outrp.delete()
+ self.outrp.mkdir()
+ self.rbdir.mkdir()
+ Globals.add_regexp("testfiles/output/rdiff-backup-data", 1)
+ Time.setcurtime()
+ SaveState.init_filenames(None)
+ HighLevel.Mirror(self.inrp, self.outrp, 1)
+ self.outrp.setdata()
+ assert RPath.cmp_recursive(self.inrp, self.outrp)
+
+ def testMirrorWithCheckpointing2(self):
+ """Larger data set"""
+ if self.outrp.lstat(): os.system(MiscDir+"/myrm %s" % self.outrp.path)
+ self.outrp.setdata()
+ self.outrp.mkdir()
+ self.rbdir.mkdir()
+ Globals.add_regexp("testfiles/output/rdiff-backup-data", 1)
+ Time.setcurtime()
+ SaveState.init_filenames(None)
+ for rp in [self.inc1, self.inc2, self.inc3, self.inc4]:
+ print "----------------- Starting ", rp.path
+ HighLevel.Mirror(rp, self.outrp, 1)
+ assert RPath.cmp_recursive(rp, self.outrp)
+
+ def tearDown(self): SetConnections.CloseConnections()
+
+
+if __name__ == "__main__": unittest.main()