]> arthur.barton.de Git - bup.git/blobdiff - t/root-status
index: fix -H option
[bup.git] / t / root-status
index 4f21599f83aaacb98c83b8ccbb1d0b9989d2d0fb..7127f8c1277172a81d358c2244286dea7c36ecd5 100755 (executable)
@@ -5,26 +5,20 @@ exec "$bup_python" "$0" ${1+"$@"}
 """
 # end of bup preamble
 
-from sys import stderr
-import sys
-
+from __future__ import absolute_import, print_function
+import os, sys
 
 if sys.platform.startswith('cygwin'):
-    if sys.getwindowsversion()[0] > 5:
-        # Sounds like the situation is much more complicated here
-        print >> stderr, "can't detect root status for OS version > 5; assuming not root"
-        print 'none'
-    import ctypes
-    if ctypes.cdll.shell32.IsUserAnAdmin():
-        print 'root'
+    groups = os.getgroups()
+    if 544 in groups or 0 in groups:
+        print('root')
     else:
-        print 'none'
+        print('none')
 else:
-    import os
     if os.environ.get('FAKEROOTKEY'):
-        print 'fake'
+        print('fake')
     else:
         if os.geteuid() == 0:
-            print 'root'
+            print('root')
         else:
-            print 'none'
+            print('none')