summaryrefslogtreecommitdiff
path: root/rdiff-backup/testing/commontest.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/testing/commontest.py')
-rw-r--r--rdiff-backup/testing/commontest.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/rdiff-backup/testing/commontest.py b/rdiff-backup/testing/commontest.py
index 7ecf589..b1a1dc6 100644
--- a/rdiff-backup/testing/commontest.py
+++ b/rdiff-backup/testing/commontest.py
@@ -97,11 +97,15 @@ 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: # rdiff-backup-data must exist to checkpoint
+ if checkpointing: # 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)
- HighLevel.Mirror(rpin, rpout, checkpointing)
+ 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)
_get_main().cleanup()
def InternalRestore(mirror_local, dest_local, mirror_dir, dest_dir, time):
@@ -167,7 +171,8 @@ def CompareRecursive(src_rp, dest_rp, compare_hardlinks = 1,
Log("Comparing %s and %s, hardlinks %s" % (src_rp.path, dest_rp.path,
compare_hardlinks), 3)
- src_select, dest_select = Select(src_rp, 1), Select(dest_rp, None)
+ src_select = Select(DSRPath(1, src_rp))
+ dest_select = Select(DSRPath(None, dest_rp))
src_select.parse_rbdir_exclude()
dest_select.parse_rbdir_exclude()
src_select.set_iter()
@@ -200,11 +205,13 @@ def reset_hardlink_dicts():
Hardlink._src_index_indicies = {}
Hardlink._dest_inode_indicies = {}
Hardlink._dest_index_indicies = {}
+ Hardlink._restore_index_path = {}
def BackupRestoreSeries(source_local, dest_local, list_of_dirnames,
compare_hardlinks = 1,
dest_dirname = "testfiles/output",
- restore_dirname = "testfiles/rest_out"):
+ restore_dirname = "testfiles/rest_out",
+ compare_backups = 1):
"""Test backing up/restoring of a series of directories
The dirnames correspond to a single directory at different times.
@@ -227,7 +234,8 @@ def BackupRestoreSeries(source_local, dest_local, list_of_dirnames,
InternalBackup(source_local, dest_local, dirname, dest_dirname, time)
time += 10000
_reset_connections(src_rp, dest_rp)
- assert CompareRecursive(src_rp, dest_rp, compare_hardlinks)
+ if compare_backups:
+ assert CompareRecursive(src_rp, dest_rp, compare_hardlinks)
time = 10000
for dirname in list_of_dirnames[:-1]:
@@ -237,6 +245,11 @@ def BackupRestoreSeries(source_local, dest_local, list_of_dirnames,
restore_dirname, time)
src_rp = RPath(Globals.local_connection, dirname)
assert CompareRecursive(src_rp, restore_rp)
+
+ # Restore should default back to newest time older than it
+ # with a backup then.
+ if time == 20000: time = 21000
+
time += 10000
def MirrorTest(source_local, dest_local, list_of_dirnames,