tests/test-debugcomplete
author Dirkjan Ochtman <dirkjan@ochtman.nl>
Tue, 25 Sep 2007 19:05:34 +0200
changeset 5337 8c5ef3b87cb1
parent 3292 399c04369a1b
permissions -rwxr-xr-x
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.

#!/bin/sh

echo '% Show all commands except debug commands'
hg debugcomplete

echo
echo '% Show all commands that start with "a"'
hg debugcomplete a

echo
echo '% Do not show debug commands if there are other candidates'
hg debugcomplete d

echo
echo '% Show debug commands if there are no other candidates'
hg debugcomplete debug

echo
echo '% Do not show the alias of a debug command if there are other candidates'
echo '% (this should hide rawcommit)'
hg debugcomplete r

echo
echo '% Show the alias of a debug command if there are no other candidates'
hg debugcomplete rawc

echo
echo '% Show the global options'
hg debugcomplete --options | sort

echo
echo '% Show the options for the "serve" command'
hg debugcomplete --options serve | sort

echo
echo '% Show an error if we use --options with an ambiguous abbreviation'
hg debugcomplete --options s

exit 0