Don't try to determine interactivity if ui() called with interactive=False.
WSGI applications are not supposed to refer to sys.stdin. In ed6df6b1c29a,
hgweb and hgwebdir were fixed to pass interactive=False to their ui()'s, but
sys.stdin.isatty() was still called by the ui objects. This change makes sure
only the ui.fixconfig() method will call ui.isatty() (by making the
ui._readline() method, which is currently only called from ui.prompt(),
private). ui.fixconfig() is changed to let config files override the initial
interactivity setting, but not check isatty() if interactive=False was
specified in the creation of the ui.
adding a
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% expect ssl error
pushing to http://localhost:20059/
searching for changes
ssl required
% expect authorization error
pushing to http://localhost:20059/
searching for changes
push not authorized
% expect authorization error: must have authorized user
pushing to http://localhost:20059/
searching for changes
push not authorized
% expect success
pushing to http://localhost:20059/
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
rolling back last transaction
changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_URL=remote:http
% expect authorization error: all users denied
pushing to http://localhost:20059/
searching for changes
push not authorized
% expect authorization error: some users denied, users must be authenticated
pushing to http://localhost:20059/
searching for changes
push not authorized