blackbox-readonly-dispatch.py
40 lines
| 1.1 KiB
| text/x-python
|
PythonLexer
/ tests / blackbox-readonly-dispatch.py
Yuya Nishihara
|
r36756 | from __future__ import absolute_import | ||
timeless
|
r28406 | import os | ||
from mercurial import ( | ||||
dispatch, | ||||
Yuya Nishihara
|
r40760 | extensions, | ||
Yuya Nishihara
|
r36756 | ui as uimod, | ||
timeless
|
r28406 | ) | ||
def testdispatch(cmd): | ||||
"""Simple wrapper around dispatch.dispatch() | ||||
Prints command and result value, but does not handle quoting. | ||||
""" | ||||
Yuya Nishihara
|
r36756 | ui = uimod.ui.load() | ||
Yuya Nishihara
|
r40760 | extensions.populateui(ui) | ||
Yuya Nishihara
|
r36757 | ui.status(b"running: %s\n" % cmd) | ||
Yuya Nishihara
|
r36756 | req = dispatch.request(cmd.split(), ui) | ||
timeless
|
r28406 | result = dispatch.dispatch(req) | ||
Yuya Nishihara
|
r36757 | ui.status(b"result: %r\n" % result) | ||
timeless
|
r28406 | |||
# create file 'foo', add and commit | ||||
Yuya Nishihara
|
r36757 | f = open(b'foo', 'wb') | ||
f.write(b'foo\n') | ||||
timeless
|
r28406 | f.close() | ||
Yuya Nishihara
|
r36757 | testdispatch(b"--debug add foo") | ||
testdispatch(b"--debug commit -m commit1 -d 2000-01-01 foo") | ||||
timeless
|
r28406 | |||
# append to file 'foo' and commit | ||||
Yuya Nishihara
|
r36757 | f = open(b'foo', 'ab') | ||
f.write(b'bar\n') | ||||
timeless
|
r28406 | f.close() | ||
# remove blackbox.log directory (proxy for readonly log file) | ||||
Yuya Nishihara
|
r36757 | os.rmdir(b".hg/blackbox.log") | ||
timeless
|
r28406 | # replace it with the real blackbox.log file | ||
Yuya Nishihara
|
r36757 | os.rename(b".hg/blackbox.log-", b".hg/blackbox.log") | ||
testdispatch(b"--debug commit -m commit2 -d 2000-01-02 foo") | ||||
timeless
|
r28406 | |||
# check 88803a69b24 (fancyopts modified command table) | ||||
Yuya Nishihara
|
r36757 | testdispatch(b"--debug log -r 0") | ||
testdispatch(b"--debug log -r tip") | ||||