some unit tests were only failing when run with superuser, because only then chown...
authorEduardo Robles Elvira <edulix@wadobo.com>
Fri, 18 Oct 2013 09:07:56 +0000 (11:07 +0200)
committerEduardo Robles Elvira <edulix@wadobo.com>
Fri, 18 Oct 2013 09:07:56 +0000 (11:07 +0200)
deltatar/deltatar.py

index 01f6872..1875df5 100644 (file)
@@ -1526,7 +1526,7 @@ class RestoreHelper(object):
                     except KeyError:
                         u = member.uid
                     try:
-                        if member.issym() and hasattr(os, "lchown"):
+                        if member.issym and hasattr(os, "lchown"):
                             os.lchown(dirpath, u, g)
                         else:
                             os.chown(dirpath, u, g)
@@ -1630,13 +1630,13 @@ class RestoreHelper(object):
         '''
         Add member dir to be restored at the end
         '''
-        if self.canchown:
+        if not self.canchown:
             self._directories.append(DirItem(name=member.name, mode=member.mode,
                 mtime=member.mtime))
         else:
             self._directories.append(DirItem(name=member.name, mode=member.mode,
                 mtime=member.mtime, gname=member.gname, uname=member.uname,
-                uid=member.uid, gid=member.gid))
+                uid=member.uid, gid=member.gid, issym=member.issym()))
 
 class DirItem(object):
     def __init__(self, **kwargs):