summaryrefslogtreecommitdiff
path: root/rdiff-backup/testing
diff options
context:
space:
mode:
authorbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2005-11-01 04:46:16 +0000
committerbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2005-11-01 04:46:16 +0000
commit07d8d9cb11114ef5f98993e2e50a67762b3d9aaa (patch)
tree8bb6237a84163ad01d482bb2c5497305e6524f4e /rdiff-backup/testing
parenta5c03feacbbd9361eb3e2abe367b75529c83459b (diff)
downloadrdiff-backup-07d8d9cb11114ef5f98993e2e50a67762b3d9aaa.tar.gz
Added --verify and --verify-at-time switches
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@665 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/testing')
-rw-r--r--rdiff-backup/testing/commontest.py5
-rw-r--r--rdiff-backup/testing/comparetest.py48
2 files changed, 51 insertions, 2 deletions
diff --git a/rdiff-backup/testing/commontest.py b/rdiff-backup/testing/commontest.py
index b205c0a..27c0406 100644
--- a/rdiff-backup/testing/commontest.py
+++ b/rdiff-backup/testing/commontest.py
@@ -60,7 +60,7 @@ def rdiff_backup(source_local, dest_local, src_dir, dest_dir,
"""
if not source_local:
src_dir = ("'cd test1; ../%s --server'::../%s" % (RBBin, src_dir))
- if not dest_local:
+ if dest_dir and not dest_local:
dest_dir = ("'cd test2/tmp; ../../%s --server'::../../%s" %
(RBBin, dest_dir))
@@ -68,7 +68,8 @@ def rdiff_backup(source_local, dest_local, src_dir, dest_dir,
if not (source_local and dest_local): cmdargs.append("--remote-schema %s")
if current_time: cmdargs.append("--current-time %s" % current_time)
- cmdargs.extend([src_dir, dest_dir])
+ cmdargs.append(src_dir)
+ if dest_dir: cmdargs.append(dest_dir)
cmdline = " ".join(cmdargs)
print "Executing: ", cmdline
ret_val = os.system(cmdline)
diff --git a/rdiff-backup/testing/comparetest.py b/rdiff-backup/testing/comparetest.py
index 1d0b67d..0459e49 100644
--- a/rdiff-backup/testing/comparetest.py
+++ b/rdiff-backup/testing/comparetest.py
@@ -98,5 +98,53 @@ class CompareTest(unittest.TestCase):
"""Test --compare-full of subdirectory, remote"""
self.generic_selective_test(0, "--compare-full")
+ def verify(self, local):
+ """Used for the verify tests"""
+ def change_file(rp):
+ """Given rpath, open it, and change a byte in the middle"""
+ fp = rp.open("rb")
+ fp.seek(int(rp.getsize()/2))
+ char = fp.read(1)
+ fp.close()
+
+ fp = rp.open("wb")
+ fp.seek(int(rp.getsize()/2))
+ if char == 'a': fp.write('b')
+ else: fp.write('a')
+ fp.close()
+
+ def modify_diff():
+ """Write to the stph_icons.h diff"""
+ l = [filename for filename in
+ os.listdir('testfiles/output/rdiff-backup-data/increments')
+ if filename.startswith('stph_icons.h')]
+ assert len(l) == 1, l
+ diff_rp = rpath.RPath(Globals.local_connection,
+ 'testfiles/output/rdiff-backup-data/increments/' + l[0])
+ change_file(diff_rp)
+
+ rdiff_backup(local, local, 'testfiles/output', None,
+ extra_options = "--verify")
+ rdiff_backup(local, local, 'testfiles/output', None,
+ extra_options = "--verify-at-time 10000")
+ modify_diff()
+ ret_val = rdiff_backup(local, local, 'testfiles/output', None,
+ extra_options = "--verify-at-time 10000",
+ check_return_val = 0)
+ assert ret_val, ret_val
+ change_file(rpath.RPath(Globals.local_connection,
+ 'testfiles/output/stph_icons.h'))
+ ret_val = rdiff_backup(local, local, 'testfiles/output', None,
+ extra_options = "--verify", check_return_val = 0)
+ assert ret_val, ret_val
+
+ def testVerifyLocal(self):
+ """Test --verify of directory, local"""
+ self.verify(1)
+
+ def testVerifyRemote(self):
+ """Test --verify remotely"""
+ self.verify(0)
+
if __name__ == "__main__": unittest.main()