test-progress.t
208 lines
| 8.5 KiB
| text/troff
|
Tads3Lexer
/ tests / test-progress.t
|
r12479 | |||
$ 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')) | ||||
|
r14838 | > nested = False | ||
> if opts.get('nested', None): | ||||
> nested = True | ||||
|
r12479 | > loops = abs(loops) | ||
> | ||||
> for i in range(loops): | ||||
> ui.progress('loop', i, 'loop.%d' % i, 'loopnum', total) | ||||
|
r14838 | > 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) | ||||
|
r12479 | > ui.progress('loop', None, 'loop.done', 'loopnum', total) | ||
> | ||||
> commands.norepo += " loop" | ||||
> | ||||
> cmdtable = { | ||||
|
r14838 | > "loop": (loop, [('', 'total', '', 'override for total'), | ||
> ('', 'nested', False, 'show nested results'), | ||||
> ('', 'parallel', False, 'show parallel sets of results'), | ||||
> ], | ||||
|
r12479 | > 'hg loop LOOPS'), | ||
> } | ||||
> EOF | ||||
|
r15372 | $ cp $HGRCPATH $HGRCPATH.orig | ||
|
r12479 | $ echo "[extensions]" >> $HGRCPATH | ||
$ echo "progress=" >> $HGRCPATH | ||||
$ echo "loop=`pwd`/loop.py" >> $HGRCPATH | ||||
$ echo "[progress]" >> $HGRCPATH | ||||
|
r16675 | $ echo "format = topic bar number" >> $HGRCPATH | ||
|
r12479 | $ echo "assume-tty=1" >> $HGRCPATH | ||
|
r13142 | $ echo "width=60" >> $HGRCPATH | ||
|
r12479 | |||
test default params, display nothing because of delay | ||||
|
r17743 | $ hg -y loop 3 | ||
|
r12479 | $ echo "delay=0" >> $HGRCPATH | ||
$ echo "refresh=0" >> $HGRCPATH | ||||
test with delay=0, refresh=0 | ||||
|
r17743 | $ hg -y loop 3 | ||
\r (no-eol) (esc) | ||||
loop [ ] 0/3\r (no-eol) (esc) | ||||
loop [===============> ] 1/3\r (no-eol) (esc) | ||||
loop [===============================> ] 2/3\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r12479 | |||
|
r14838 | |||
test nested short-lived topics (which shouldn't display with nestdelay): | ||||
|
r17743 | $ hg -y loop 3 --nested | ||
\r (no-eol) (esc) | ||||
loop [ ] 0/3\r (no-eol) (esc) | ||||
loop [===============> ] 1/3\r (no-eol) (esc) | ||||
loop [===============================> ] 2/3\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r14838 | |||
|
r17743 | $ hg --config progress.changedelay=0 -y loop 3 --nested | ||
\r (no-eol) (esc) | ||||
loop [ ] 0/3\r (no-eol) (esc) | ||||
nested [ ] 0/2\r (no-eol) (esc) | ||||
nested [======================> ] 1/2\r (no-eol) (esc) | ||||
loop [===============> ] 1/3\r (no-eol) (esc) | ||||
nested [ ] 0/2\r (no-eol) (esc) | ||||
nested [======================> ] 1/2\r (no-eol) (esc) | ||||
loop [===============================> ] 2/3\r (no-eol) (esc) | ||||
nested [ ] 0/2\r (no-eol) (esc) | ||||
nested [======================> ] 1/2\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r14838 | |||
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): | ||||
|
r17743 | $ hg loop 3 --parallel | ||
\r (no-eol) (esc) | ||||
loop [ ] 0/3\r (no-eol) (esc) | ||||
loop [===============> ] 1/3\r (no-eol) (esc) | ||||
loop [===============================> ] 2/3\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r12479 | test refresh is taken in account | ||
|
r17743 | $ hg -y --config progress.refresh=100 loop 3 | ||
|
r12479 | |||
test format options 1 | ||||
|
r17743 | $ hg -y --config 'progress.format=number topic item+2' loop 2 | ||
\r (no-eol) (esc) | ||||
0/2 loop lo\r (no-eol) (esc) | ||||
1/2 loop lo\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r12479 | |||
test format options 2 | ||||
|
r17743 | $ hg -y --config 'progress.format=number item-3 bar' loop 2 | ||
\r (no-eol) (esc) | ||||
0/2 p.0 [ ]\r (no-eol) (esc) | ||||
1/2 p.1 [=======================> ]\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r12479 | |||
test format options and indeterminate progress | ||||
|
r17743 | $ hg -y --config 'progress.format=number item bar' loop -- -2 | ||
\r (no-eol) (esc) | ||||
0 loop.0 [ <=> ]\r (no-eol) (esc) | ||||
1 loop.1 [ <=> ]\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r12479 | |||
make sure things don't fall over if count > total | ||||
|
r17743 | $ hg -y loop --total 4 6 | ||
\r (no-eol) (esc) | ||||
loop [ ] 0/4\r (no-eol) (esc) | ||||
loop [===========> ] 1/4\r (no-eol) (esc) | ||||
loop [=======================> ] 2/4\r (no-eol) (esc) | ||||
loop [===================================> ] 3/4\r (no-eol) (esc) | ||||
loop [===============================================>] 4/4\r (no-eol) (esc) | ||||
loop [ <=> ] 5/4\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r12479 | |||
test immediate progress completion | ||||
|
r17743 | $ hg -y loop 0 | ||
|
r13145 | |||
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 | ||||
|
r15372 | $ cp $HGRCPATH.orig $HGRCPATH | ||
$ echo "[extensions]" >> $HGRCPATH | ||||
|
r13145 | $ 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 | ||||
|
r17743 | $ hg -y loop 8 | ||
\r (no-eol) (esc) | ||||
loop [=========> ] 2/8 1m07s\r (no-eol) (esc) | ||||
loop [===============> ] 3/8 56s\r (no-eol) (esc) | ||||
loop [=====================> ] 4/8 45s\r (no-eol) (esc) | ||||
loop [==========================> ] 5/8 34s\r (no-eol) (esc) | ||||
loop [================================> ] 6/8 23s\r (no-eol) (esc) | ||||
loop [=====================================> ] 7/8 12s\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r13145 | |||
|
r17743 | $ MOCKTIME=10000 hg -y loop 4 | ||
\r (no-eol) (esc) | ||||
loop [ ] 0/4\r (no-eol) (esc) | ||||
loop [=========> ] 1/4 8h21m\r (no-eol) (esc) | ||||
loop [====================> ] 2/4 5h34m\r (no-eol) (esc) | ||||
loop [==============================> ] 3/4 2h47m\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r13145 | |||
|
r17743 | $ MOCKTIME=1000000 hg -y loop 4 | ||
\r (no-eol) (esc) | ||||
loop [ ] 0/4\r (no-eol) (esc) | ||||
loop [=========> ] 1/4 5w00d\r (no-eol) (esc) | ||||
loop [====================> ] 2/4 3w03d\r (no-eol) (esc) | ||||
loop [=============================> ] 3/4 11d14h\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r13236 | |||
|
r17743 | $ MOCKTIME=14000000 hg -y loop 4 | ||
\r (no-eol) (esc) | ||||
loop [ ] 0/4\r (no-eol) (esc) | ||||
loop [=========> ] 1/4 1y18w\r (no-eol) (esc) | ||||
loop [===================> ] 2/4 46w03d\r (no-eol) (esc) | ||||
loop [=============================> ] 3/4 23w02d\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | ||||
|
r13236 | |||
|
r13154 | Time estimates should not fail when there's no end point: | ||
|
r17743 | $ hg -y loop -- -4 | ||
\r (no-eol) (esc) | ||||
|
r19229 | loop [ <=> ] 2\r (no-eol) (esc) | ||
loop [ <=> ] 3\r (no-eol) (esc) | ||||
|
r17743 | \r (no-eol) (esc) | ||