test-dispatch.py
41 lines
| 937 B
| text/x-python
|
PythonLexer
/ tests / test-dispatch.py
Thomas Arendsen Hein
|
r5095 | import os | ||
Augie Fackler
|
r37943 | import sys | ||
Augie Fackler
|
r43346 | from mercurial import dispatch | ||
Thomas Arendsen Hein
|
r5095 | |||
Augie Fackler
|
r37943 | def printb(data, end=b'\n'): | ||
out = getattr(sys.stdout, 'buffer', sys.stdout) | ||||
out.write(data + end) | ||||
out.flush() | ||||
Augie Fackler
|
r43346 | |||
Matt Mackall
|
r5178 | def testdispatch(cmd): | ||
"""Simple wrapper around dispatch.dispatch() | ||||
Thomas Arendsen Hein
|
r5095 | |||
Prints command and result value, but does not handle quoting. | ||||
""" | ||||
Augie Fackler
|
r37943 | printb(b"running: %s" % (cmd,)) | ||
Idan Kamara
|
r14438 | req = dispatch.request(cmd.split()) | ||
result = dispatch.dispatch(req) | ||||
Augie Fackler
|
r37943 | printb(b"result: %r" % (result,)) | ||
Thomas Arendsen Hein
|
r5095 | |||
Augie Fackler
|
r43346 | |||
Pulkit Goyal
|
r36392 | testdispatch(b"init test1") | ||
Thomas Arendsen Hein
|
r5095 | os.chdir('test1') | ||
# create file 'foo', add and commit | ||||
Alejandro Santos
|
r9031 | f = open('foo', 'wb') | ||
Pulkit Goyal
|
r36392 | f.write(b'foo\n') | ||
Thomas Arendsen Hein
|
r5095 | f.close() | ||
Pulkit Goyal
|
r36392 | testdispatch(b"add foo") | ||
testdispatch(b"commit -m commit1 -d 2000-01-01 foo") | ||||
Thomas Arendsen Hein
|
r5095 | |||
# append to file 'foo' and commit | ||||
Alejandro Santos
|
r9031 | f = open('foo', 'ab') | ||
Pulkit Goyal
|
r36392 | f.write(b'bar\n') | ||
Thomas Arendsen Hein
|
r5095 | f.close() | ||
Pulkit Goyal
|
r36392 | testdispatch(b"commit -m commit2 -d 2000-01-02 foo") | ||
Thomas Arendsen Hein
|
r5095 | |||
# check 88803a69b24 (fancyopts modified command table) | ||||
Pulkit Goyal
|
r36392 | testdispatch(b"log -r 0") | ||
testdispatch(b"log -r tip") | ||||