tests/test-dispatch.py
author Boris Feld <boris.feld@octobus.net>
Thu, 01 Nov 2018 12:52:16 +0100
branchstable
changeset 40425 324ba8b14d78
parent 37968 32106c474086
child 43076 2372284d9457
permissions -rw-r--r--
delta: skip "empty delta" optimisation for non-general case (issue6006) Non-general delta repository cannot delta against anything than prev. So even if the delta to prev is empty we should use it. This is similar to the change made in bafa1c4bb7a8. Differential Revision: https://phab.mercurial-scm.org/D5201

from __future__ import absolute_import, print_function
import os
import sys
from mercurial import (
    dispatch,
)

def printb(data, end=b'\n'):
    out = getattr(sys.stdout, 'buffer', sys.stdout)
    out.write(data + end)
    out.flush()

def testdispatch(cmd):
    """Simple wrapper around dispatch.dispatch()

    Prints command and result value, but does not handle quoting.
    """
    printb(b"running: %s" % (cmd,))
    req = dispatch.request(cmd.split())
    result = dispatch.dispatch(req)
    printb(b"result: %r" % (result,))

testdispatch(b"init test1")
os.chdir('test1')

# create file 'foo', add and commit
f = open('foo', 'wb')
f.write(b'foo\n')
f.close()
testdispatch(b"add foo")
testdispatch(b"commit -m commit1 -d 2000-01-01 foo")

# append to file 'foo' and commit
f = open('foo', 'ab')
f.write(b'bar\n')
f.close()
testdispatch(b"commit -m commit2 -d 2000-01-02 foo")

# check 88803a69b24 (fancyopts modified command table)
testdispatch(b"log -r 0")
testdispatch(b"log -r tip")