view tests/test-dispatch.py @ 21977:4ca4e1572022

run-tests: '--time' option provide more details to Linux users As our tests execute in child processes, this patch uses os.times() module in replace of time.time() module to provide additional info like user time and system time spent by child's processes along with real elapsed time taken by a process. There is one limitation of this patch. It can work only for Linux users and not for Windows. "os.times" module returns a 5-tuple of a floaing point numbers. 1) User time 2) System time 3) Child's user time 4) Child's system time 5) Ellapsed real time On Windows, only the first two items are filled, the others are zero. Therefore, below test cases does not break on Windows but instead gives the zero value.
author anuraggoel <anurag.dsps@gmail.com>
date Thu, 26 Jun 2014 01:22:50 +0530
parents 08bfec2ef031
children 06245740b408
line wrap: on
line source

import os
from mercurial import dispatch

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

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


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

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

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

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