summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_os.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 628c61e..b3d0b1e 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -56,7 +56,7 @@ except ImportError:
try:
import pwd
all_users = [u.pw_uid for u in pwd.getpwall()]
-except ImportError:
+except (ImportError, AttributeError):
all_users = []
try:
from _testcapi import INT_MAX, PY_SSIZE_T_MAX
@@ -1423,7 +1423,12 @@ class URandomFDTests(unittest.TestCase):
break
os.closerange(3, 256)
with open({TESTFN!r}, 'rb') as f:
- os.dup2(f.fileno(), fd)
+ new_fd = f.fileno()
+ # Issue #26935: posix allows new_fd and fd to be equal but
+ # some libc implementations have dup2 return an error in this
+ # case.
+ if new_fd != fd:
+ os.dup2(new_fd, fd)
sys.stdout.buffer.write(os.urandom(4))
sys.stdout.buffer.write(os.urandom(4))
""".format(TESTFN=support.TESTFN)