##// END OF EJS Templates
graphlog: remove unused ASCIIDATA constant...
graphlog: remove unused ASCIIDATA constant It was introduced by d9acbe7b0049, returned by asciiformat() but never read anywhere. 20140c249e63 stopped using it completely, and the graphmod.CHANGESET type is passed through all functions.

File last commit:

r16675:f29f187e default
r17164:8299a9ad default
Show More
test-progress.t
216 lines | 7.9 KiB | text/troff | Tads3Lexer
$ cat > loop.py <<EOF
> from mercurial import commands
>
> def loop(ui, loops, **opts):
> loops = int(loops)
> total = None
> if loops >= 0:
> total = loops
> if opts.get('total', None):
> total = int(opts.get('total'))
> nested = False
> if opts.get('nested', None):
> nested = True
> loops = abs(loops)
>
> for i in range(loops):
> ui.progress('loop', i, 'loop.%d' % i, 'loopnum', total)
> if opts.get('parallel'):
> ui.progress('other', i, 'other.%d' % i, 'othernum', total)
> if nested:
> for j in range(2):
> ui.progress('nested', j, 'nested.%d' % j, 'nestnum', 2)
> ui.progress('nested', None, 'nested.done', 'nestnum', 2)
> ui.progress('loop', None, 'loop.done', 'loopnum', total)
>
> commands.norepo += " loop"
>
> cmdtable = {
> "loop": (loop, [('', 'total', '', 'override for total'),
> ('', 'nested', False, 'show nested results'),
> ('', 'parallel', False, 'show parallel sets of results'),
> ],
> 'hg loop LOOPS'),
> }
> EOF
$ cp $HGRCPATH $HGRCPATH.orig
$ echo "[extensions]" >> $HGRCPATH
$ echo "progress=" >> $HGRCPATH
$ echo "loop=`pwd`/loop.py" >> $HGRCPATH
$ echo "[progress]" >> $HGRCPATH
$ echo "format = topic bar number" >> $HGRCPATH
$ echo "assume-tty=1" >> $HGRCPATH
$ echo "width=60" >> $HGRCPATH
test default params, display nothing because of delay
$ hg -y loop 3 2>&1 | "$TESTDIR/filtercr.py"
$ echo "delay=0" >> $HGRCPATH
$ echo "refresh=0" >> $HGRCPATH
test with delay=0, refresh=0
$ hg -y loop 3 2>&1 | "$TESTDIR/filtercr.py"
loop [ ] 0/3
loop [===============> ] 1/3
loop [===============================> ] 2/3
\r (esc)
test nested short-lived topics (which shouldn't display with nestdelay):
$ hg -y loop 3 --nested 2>&1 | \
> python "$TESTDIR/filtercr.py"
loop [ ] 0/3
loop [===============> ] 1/3
loop [===============================> ] 2/3
\r (esc)
$ hg --config progress.changedelay=0 -y loop 3 --nested 2>&1 | \
> python "$TESTDIR/filtercr.py"
loop [ ] 0/3
nested [ ] 0/2
nested [======================> ] 1/2
loop [===============> ] 1/3
nested [ ] 0/2
nested [======================> ] 1/2
loop [===============================> ] 2/3
nested [ ] 0/2
nested [======================> ] 1/2
\r (esc)
test two topics being printed in parallel (as when we're doing a local
--pull clone, where you get the unbundle and bundle progress at the
same time):
$ hg loop 3 --parallel 2>&1 | python "$TESTDIR/filtercr.py"
loop [ ] 0/3
loop [===============> ] 1/3
loop [===============================> ] 2/3
\r (esc)
test refresh is taken in account
$ hg -y --config progress.refresh=100 loop 3 2>&1 | "$TESTDIR/filtercr.py"
test format options 1
$ hg -y --config 'progress.format=number topic item+2' loop 2 2>&1 \
> | "$TESTDIR/filtercr.py"
0/2 loop lo
1/2 loop lo
\r (esc)
test format options 2
$ hg -y --config 'progress.format=number item-3 bar' loop 2 2>&1 \
> | "$TESTDIR/filtercr.py"
0/2 p.0 [ ]
1/2 p.1 [=======================> ]
\r (esc)
test format options and indeterminate progress
$ hg -y --config 'progress.format=number item bar' loop -- -2 2>&1 \
> | "$TESTDIR/filtercr.py"
0 loop.0 [ <=> ]
1 loop.1 [ <=> ]
\r (esc)
make sure things don't fall over if count > total
$ hg -y loop --total 4 6 2>&1 | "$TESTDIR/filtercr.py"
loop [ ] 0/4
loop [===========> ] 1/4
loop [=======================> ] 2/4
loop [===================================> ] 3/4
loop [===============================================>] 4/4
loop [ <=> ] 5/4
\r (esc)
test immediate progress completion
$ hg -y loop 0 2>&1 | "$TESTDIR/filtercr.py"
test delay time estimates
$ cat > mocktime.py <<EOF
> import os
> import time
>
> class mocktime(object):
> def __init__(self, increment):
> self.time = 0
> self.increment = increment
> def __call__(self):
> self.time += self.increment
> return self.time
>
> def uisetup(ui):
> time.time = mocktime(int(os.environ.get('MOCKTIME', '11')))
> EOF
$ cp $HGRCPATH.orig $HGRCPATH
$ echo "[extensions]" >> $HGRCPATH
$ echo "mocktime=`pwd`/mocktime.py" >> $HGRCPATH
$ echo "progress=" >> $HGRCPATH
$ echo "loop=`pwd`/loop.py" >> $HGRCPATH
$ echo "[progress]" >> $HGRCPATH
$ echo "assume-tty=1" >> $HGRCPATH
$ echo "delay=25" >> $HGRCPATH
$ echo "width=60" >> $HGRCPATH
$ hg -y loop 8 2>&1 | python "$TESTDIR/filtercr.py"
loop [=========> ] 2/8 1m07s
loop [===============> ] 3/8 56s
loop [=====================> ] 4/8 45s
loop [==========================> ] 5/8 34s
loop [================================> ] 6/8 23s
loop [=====================================> ] 7/8 12s
\r (esc)
$ MOCKTIME=10000 hg -y loop 4 2>&1 | python "$TESTDIR/filtercr.py"
loop [ ] 0/4
loop [=========> ] 1/4 8h21m
loop [====================> ] 2/4 5h34m
loop [==============================> ] 3/4 2h47m
\r (esc)
$ MOCKTIME=1000000 hg -y loop 4 2>&1 | python "$TESTDIR/filtercr.py"
loop [ ] 0/4
loop [=========> ] 1/4 5w00d
loop [====================> ] 2/4 3w03d
loop [=============================> ] 3/4 11d14h
\r (esc)
$ MOCKTIME=14000000 hg -y loop 4 2>&1 | python "$TESTDIR/filtercr.py"
loop [ ] 0/4
loop [=========> ] 1/4 1y18w
loop [===================> ] 2/4 46w03d
loop [=============================> ] 3/4 23w02d
\r (esc)
Time estimates should not fail when there's no end point:
$ hg -y loop -- -4 2>&1 | python "$TESTDIR/filtercr.py"
loop [ <=> ] 2
loop [ <=> ] 3
\r (esc)