New submission from Matt Hooks: When calling getpass.getpass(), certain circumstances cause it to fallback to getpass.fallback_getpass, such as when swapping out sys.stdin for another object in a unit test.
In such a circumstance, fallback_getpass may be called with stream=None when getpass itself was called without a stream. fallback_getpass needs a stream to write the "Warning: Password input may be echoed" warning to, and reasonably chooses stderr. However, this choice persists down into getpass._raw_input, where the user is then shown the password prompt on stderr as well. Instead of on stderr, the user should get the password prompt on stdout. tl;dr: Some calls to getpass.getpass result in a password prompt on stderr. Bad behavior: password prompt displayed over stderr. Expected behavior: password prompt should be on stdout. Found in 3.4, looks like it's the same in 3.5. I will attach a patch in a few moments, after I get my dev environment sorted out. ---------- components: Library (Lib) messages: 260202 nosy: Matt Hooks priority: normal severity: normal status: open title: getpass incorrectly displays password prompt on stderr on fallback type: behavior versions: Python 3.5 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26352> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com