tests/blackbox-readonly-dispatch.py
author Pulkit Goyal <pulkit@yandex-team.ru>
Thu, 07 Feb 2019 16:43:42 +0300
changeset 41635 3751595ec45e
parent 40763 c93d046d4300
child 43076 2372284d9457
permissions -rw-r--r--
py3: make sure __repr__ returns str No test fails but I found it while debugging test-commit-interactive-curses.t failure. # skip-blame because just r'' prefix Differential Revision: https://phab.mercurial-scm.org/D5878
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36761
70a98c3fba2a py3: make blackbox-readonly-dispatch.py use ui instead of print()
Yuya Nishihara <yuya@tcha.org>
parents: 35724
diff changeset
     1
from __future__ import absolute_import
5095
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
     2
import os
28404
06245740b408 tests: test-dispatch use absolute_import
timeless <timeless@mozdev.org>
parents: 14438
diff changeset
     3
from mercurial import (
06245740b408 tests: test-dispatch use absolute_import
timeless <timeless@mozdev.org>
parents: 14438
diff changeset
     4
    dispatch,
40763
c93d046d4300 extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents: 36762
diff changeset
     5
    extensions,
36761
70a98c3fba2a py3: make blackbox-readonly-dispatch.py use ui instead of print()
Yuya Nishihara <yuya@tcha.org>
parents: 35724
diff changeset
     6
    ui as uimod,
28404
06245740b408 tests: test-dispatch use absolute_import
timeless <timeless@mozdev.org>
parents: 14438
diff changeset
     7
)
5095
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
     8
5178
18a9fbb5cd78 dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents: 5095
diff changeset
     9
def testdispatch(cmd):
18a9fbb5cd78 dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents: 5095
diff changeset
    10
    """Simple wrapper around dispatch.dispatch()
5095
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    11
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    12
    Prints command and result value, but does not handle quoting.
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    13
    """
36761
70a98c3fba2a py3: make blackbox-readonly-dispatch.py use ui instead of print()
Yuya Nishihara <yuya@tcha.org>
parents: 35724
diff changeset
    14
    ui = uimod.ui.load()
40763
c93d046d4300 extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents: 36762
diff changeset
    15
    extensions.populateui(ui)
36762
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    16
    ui.status(b"running: %s\n" % cmd)
36761
70a98c3fba2a py3: make blackbox-readonly-dispatch.py use ui instead of print()
Yuya Nishihara <yuya@tcha.org>
parents: 35724
diff changeset
    17
    req = dispatch.request(cmd.split(), ui)
14438
08bfec2ef031 dispatch: wrap dispatch related information in a request class
Idan Kamara <idankk86@gmail.com>
parents: 9031
diff changeset
    18
    result = dispatch.dispatch(req)
36762
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    19
    ui.status(b"result: %r\n" % result)
5095
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    20
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    21
# create file 'foo', add and commit
36762
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    22
f = open(b'foo', 'wb')
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    23
f.write(b'foo\n')
5095
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    24
f.close()
36762
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    25
testdispatch(b"--debug add foo")
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    26
testdispatch(b"--debug commit -m commit1 -d 2000-01-01 foo")
5095
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    27
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    28
# append to file 'foo' and commit
36762
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    29
f = open(b'foo', 'ab')
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    30
f.write(b'bar\n')
5095
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    31
f.close()
28406
0767c2f624c6 tests: divorce blackbox test from test-dispatch.py
timeless <timeless@mozdev.org>
parents: 28405
diff changeset
    32
# remove blackbox.log directory (proxy for readonly log file)
36762
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    33
os.rmdir(b".hg/blackbox.log")
28406
0767c2f624c6 tests: divorce blackbox test from test-dispatch.py
timeless <timeless@mozdev.org>
parents: 28405
diff changeset
    34
# replace it with the real blackbox.log file
36762
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    35
os.rename(b".hg/blackbox.log-", b".hg/blackbox.log")
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    36
testdispatch(b"--debug commit -m commit2 -d 2000-01-02 foo")
5095
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    37
f3f033def181 Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    38
# check 88803a69b24 (fancyopts modified command table)
36762
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    39
testdispatch(b"--debug log -r 0")
f4a508f4ea87 py3: byte-stringify blackbox-readonly-dispatch.py
Yuya Nishihara <yuya@tcha.org>
parents: 36761
diff changeset
    40
testdispatch(b"--debug log -r tip")