summaryrefslogtreecommitdiff
path: root/rdiff-backup/testing/roottest.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/testing/roottest.py')
-rw-r--r--rdiff-backup/testing/roottest.py38
1 files changed, 37 insertions, 1 deletions
diff --git a/rdiff-backup/testing/roottest.py b/rdiff-backup/testing/roottest.py
index 4950993..d41d9d7 100644
--- a/rdiff-backup/testing/roottest.py
+++ b/rdiff-backup/testing/roottest.py
@@ -109,7 +109,43 @@ class RootTest(unittest.TestCase):
extra_options = ("--user-mapping-file %s "
"--group-mapping-file %s" %
(user_map, group_map)))
- assert get_ownership(out_rp) == ((userid, 1), (0, 1)), \
+ assert get_ownership(out_rp) == ((userid, 0), (0, 1)), \
+ get_ownership(out_rp)
+
+ def test_numerical_mapping(self):
+ """Test --preserve-numerical-ids option
+
+ This doesn't really test much, since we don't have a
+ convenient system with different uname/ids.
+
+ """
+ def write_ownership_dir():
+ """Write the directory testfiles/root_mapping"""
+ rp = rpath.RPath(Globals.local_connection,
+ "testfiles/root_mapping")
+ re_init_dir(rp)
+ rp1 = rp.append('1')
+ rp1.touch()
+ rp2 = rp.append('2')
+ rp2.touch()
+ rp2.chown(userid, 1) # use groupid 1, usually bin
+ return rp
+
+ def get_ownership(dir_rp):
+ """Return pair (ids of dir_rp/1, ids of dir_rp2) of ids"""
+ rp1, rp2 = map(dir_rp.append, ('1', '2'))
+ assert rp1.isreg() and rp2.isreg(), (rp1.isreg(), rp2.isreg())
+ return (rp1.getuidgid(), rp2.getuidgid())
+
+ in_rp = write_ownership_dir()
+ out_rp = rpath.RPath(Globals.local_connection, 'testfiles/output')
+ if out_rp.lstat(): Myrm(out_rp.path)
+
+ assert get_ownership(in_rp) == ((0,0), (userid, 1)), \
+ get_ownership(in_rp)
+ rdiff_backup(1, 0, in_rp.path, out_rp.path,
+ extra_options = ("--preserve-numerical-ids"))
+ assert get_ownership(out_rp) == ((0,0), (userid, 1)), \
get_ownership(in_rp)