tests/test-worker.t
changeset 31701 9d3d56aa1a9f
child 32041 38963a53ab0d
equal deleted inserted replaced
31700:d73490957d61 31701:9d3d56aa1a9f
       
     1 Test UI worker interaction
       
     2 
       
     3   $ cat > t.py <<EOF
       
     4   > from __future__ import absolute_import, print_function
       
     5   > from mercurial import (
       
     6   >     cmdutil,
       
     7   >     ui as uimod,
       
     8   >     worker,
       
     9   > )
       
    10   > def runme(ui, args):
       
    11   >     for arg in args:
       
    12   >         ui.status('run\n')
       
    13   >         yield 1, arg
       
    14   > cmdtable = {}
       
    15   > command = cmdutil.command(cmdtable)
       
    16   > @command('test', [], 'hg test [COST]')
       
    17   > def t(ui, repo, cost=1.0):
       
    18   >     cost = float(cost)
       
    19   >     ui.status('start\n')
       
    20   >     runs = worker.worker(ui, cost, runme, (ui,), range(8))
       
    21   >     for n, i in runs:
       
    22   >         pass
       
    23   >     ui.status('done\n')
       
    24   > EOF
       
    25   $ abspath=`pwd`/t.py
       
    26   $ hg init
       
    27 
       
    28 Run tests with worker enable by forcing a heigh cost
       
    29 
       
    30   $ hg --config "extensions.t=$abspath" test 100000.0
       
    31   start
       
    32   run
       
    33   run
       
    34   run
       
    35   run
       
    36   run
       
    37   run
       
    38   run
       
    39   run
       
    40   done
       
    41 
       
    42 Run tests without worker by forcing a low cost
       
    43 
       
    44   $ hg --config "extensions.t=$abspath" test 0.0000001
       
    45   start
       
    46   run
       
    47   run
       
    48   run
       
    49   run
       
    50   run
       
    51   run
       
    52   run
       
    53   run
       
    54   done