]> arthur.barton.de Git - bup.git/commitdiff
Use is_superuser() rather than checking euid directly
authorAneurin Price <aneurin.price@gmail.com>
Fri, 13 May 2011 13:19:43 +0000 (14:19 +0100)
committerAvery Pennarun <apenwarr@gmail.com>
Sun, 15 May 2011 19:29:55 +0000 (15:29 -0400)
Replacing calls to geteuid() to use is_superuser() fixes metadata test
failures on Cygwin when running as an Administrator.

Signed-off-by: Aneurin Price <aneurin.price@gmail.com>
lib/bup/metadata.py
lib/bup/t/tmetadata.py

index 6dae38b83bc08404b5952ce87e2d5c85c150ecb8..981ad096a5857367af49fffc6710f853f19d795e 100644 (file)
@@ -8,7 +8,7 @@ import errno, os, sys, stat, pwd, grp, struct, re
 from cStringIO import StringIO
 from bup import vint
 from bup.drecurse import recursive_dirlist
-from bup.helpers import add_error, mkdirp, log
+from bup.helpers import add_error, mkdirp, log, is_superuser
 from bup.xstat import utime, lutime, lstat, FSTime
 import bup._helpers as _helpers
 
@@ -312,7 +312,7 @@ class Metadata:
                 uid = -1
                 add_error('ignoring missing owner for "%s"\n' % path)
             else:
-                if os.geteuid() != 0:
+                if not is_superuser():
                     uid = -1 # Not root; assume we can't change owner.
                 else:
                     try:
index 26ecbba26d38bdd4798509c3c1f9445ef055d46e..2d227998533f2cfbed59ecb48587322b5158c9a9 100644 (file)
@@ -1,7 +1,7 @@
 import glob, grp, pwd, stat, tempfile, subprocess
 import bup.helpers as helpers
 from bup import metadata
-from bup.helpers import clear_errors, detect_fakeroot
+from bup.helpers import clear_errors, detect_fakeroot, is_superuser
 from wvtest import *
 
 
@@ -116,7 +116,7 @@ def _first_err():
 
 @wvtest
 def test_from_path_error():
-    if os.geteuid() == 0 or detect_fakeroot():
+    if is_superuser() or detect_fakeroot():
         return
     tmpdir = tempfile.mkdtemp(prefix='bup-tmetadata-')
     try:
@@ -136,7 +136,7 @@ def test_from_path_error():
 
 @wvtest
 def test_apply_to_path_restricted_access():
-    if os.geteuid() == 0 or detect_fakeroot():
+    if is_superuser() or detect_fakeroot():
         return
     tmpdir = tempfile.mkdtemp(prefix='bup-tmetadata-')
     try:
@@ -156,7 +156,7 @@ def test_apply_to_path_restricted_access():
 
 @wvtest
 def test_restore_restricted_user_group():
-    if os.geteuid() == 0 or detect_fakeroot():
+    if is_superuser() or detect_fakeroot():
         return
     tmpdir = tempfile.mkdtemp(prefix='bup-tmetadata-')
     try:
@@ -253,7 +253,7 @@ if not xattr:
 else:
     @wvtest
     def test_handling_of_incorrect_existing_linux_xattrs():
-        if os.geteuid() != 0 or detect_fakeroot():
+        if not is_superuser():
             return
         setup_testfs()
         for f in glob.glob('testfs/*'):