##// END OF EJS Templates
convert: test for shell injection in git calls (SEC)...
convert: test for shell injection in git calls (SEC) CVE-2016-3069 (5/5) Before recent refactoring we were not escaping calls to git at all which made such injections possible. Let's have a test for that to avoid this problem in the future. Reported by Blake Burkhart.

File last commit:

r19322:ff1586a3 default
r28663:ae279d4a 3.7.3 stable
Show More
test-ui-color.py
33 lines | 890 B | text/x-python | PythonLexer
Simon Heimberg
cleanup: remove unused imports...
r19322 import os
Brodie Rao
color: call correct superclass method in write_err...
r11732 from hgext import color
Idan Kamara
color: check if ui is already a subclass of colorui before wrapping it...
r14516 from mercurial import dispatch, ui
Brodie Rao
color: call correct superclass method in write_err...
r11732
# ensure errors aren't buffered
testui = color.colorui()
testui.pushbuffer()
Matt Mackall
i18n: wrap false positives for translation detection
r17956 testui.write(('buffered\n'))
testui.warn(('warning\n'))
Brodie Rao
color: call correct superclass method in write_err...
r11732 testui.write_err('error\n')
print repr(testui.popbuffer())
Idan Kamara
color: check if ui is already a subclass of colorui before wrapping it...
r14516
# test dispatch.dispatch with the same ui object
hgrc = open(os.environ["HGRCPATH"], 'w')
hgrc.write('[extensions]\n')
hgrc.write('color=\n')
hgrc.close()
ui_ = ui.ui()
ui_.setconfig('ui', 'formatted', 'True')
Idan Kamara
ui: use I/O descriptors internally...
r14614 # we're not interested in the output, so write that to devnull
ui_.fout = open(os.devnull, 'w')
Idan Kamara
color: check if ui is already a subclass of colorui before wrapping it...
r14516 # call some arbitrary command just so we go through
# color's wrapped _runcommand twice.
def runcmd():
dispatch.dispatch(dispatch.request(['version', '-q'], ui_))
runcmd()
print "colored? " + str(issubclass(ui_.__class__, color.colorui))
runcmd()
print "colored? " + str(issubclass(ui_.__class__, color.colorui))