summaryrefslogtreecommitdiffstats
path: root/tests/utils/libcxattr.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/utils/libcxattr.py')
-rw-r--r--tests/utils/libcxattr.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/utils/libcxattr.py b/tests/utils/libcxattr.py
index 74d120fa196..149db72e6ee 100644
--- a/tests/utils/libcxattr.py
+++ b/tests/utils/libcxattr.py
@@ -9,6 +9,7 @@
#
import os
+import sys
from ctypes import CDLL, c_int, create_string_buffer
from ctypes.util import find_library
@@ -25,10 +26,18 @@ class Xattr(object):
sizes we expect
"""
- libc = CDLL(find_library("libc"))
+ if sys.hexversion >= 0x02060000:
+ from ctypes import DEFAULT_MODE
+ libc = CDLL(find_library("libc"), DEFAULT_MODE, None, True)
+ else:
+ libc = CDLL(find_library("libc"))
@classmethod
def geterrno(cls):
+ if sys.hexversion >= 0x02060000:
+ from ctypes import get_errno
+ return get_errno()
+ # breaks on NetBSD
return c_int.in_dll(cls.libc, 'errno').value
@classmethod