mirror of https://github.com/python/cpython
Fix SF bug #690081, test_posix fails when run in non-interactive mode
Don't bother testing os.getlogin() if we aren't running from a tty (terminal) It fails when run without a tty (e.g., when run from cron).
This commit is contained in:
parent
c3bbeb3749
commit
71b13e8b4c
|
@ -29,10 +29,17 @@ class PosixTester(unittest.TestCase):
|
||||||
# test posix functions which take no arguments and have
|
# test posix functions which take no arguments and have
|
||||||
# no side-effects which we need to cleanup (e.g., fork, wait, abort)
|
# no side-effects which we need to cleanup (e.g., fork, wait, abort)
|
||||||
NO_ARG_FUNCTIONS = [ "ctermid", "getcwd", "getcwdu", "uname",
|
NO_ARG_FUNCTIONS = [ "ctermid", "getcwd", "getcwdu", "uname",
|
||||||
"times", "getlogin", "getloadavg", "tmpnam",
|
"times", "getloadavg", "tmpnam",
|
||||||
"getegid", "geteuid", "getgid", "getgroups",
|
"getegid", "geteuid", "getgid", "getgroups",
|
||||||
"getpid", "getpgrp", "getppid", "getuid",
|
"getpid", "getpgrp", "getppid", "getuid",
|
||||||
]
|
]
|
||||||
|
# getlogin() only works when run from a tty (terminal)
|
||||||
|
try:
|
||||||
|
if os.isatty(sys.stdin.fileno()):
|
||||||
|
NO_ARG_FUNCTIONS.append("getlogin")
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
for name in NO_ARG_FUNCTIONS:
|
for name in NO_ARG_FUNCTIONS:
|
||||||
posix_func = getattr(posix, name, None)
|
posix_func = getattr(posix, name, None)
|
||||||
if posix_func is not None:
|
if posix_func is not None:
|
||||||
|
|
Loading…
Reference in New Issue