test-progress.t
143 lines
| 4.6 KiB
| text/troff
|
Tads3Lexer
/ tests / test-progress.t
Matt Mackall
|
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')) | ||||
> loops = abs(loops) | ||||
> | ||||
> for i in range(loops): | ||||
> ui.progress('loop', i, 'loop.%d' % i, 'loopnum', total) | ||||
> ui.progress('loop', None, 'loop.done', 'loopnum', total) | ||||
> | ||||
> commands.norepo += " loop" | ||||
> | ||||
> cmdtable = { | ||||
> "loop": (loop, [('', 'total', '', 'override for total')], | ||||
> 'hg loop LOOPS'), | ||||
> } | ||||
> EOF | ||||
$ echo "[extensions]" >> $HGRCPATH | ||||
$ echo "progress=" >> $HGRCPATH | ||||
$ echo "loop=`pwd`/loop.py" >> $HGRCPATH | ||||
$ echo "[progress]" >> $HGRCPATH | ||||
Augie Fackler
|
r13149 | $ echo "format = topic bar number" >> $HGRCPATH | ||
Matt Mackall
|
r12479 | $ echo "assume-tty=1" >> $HGRCPATH | ||
Martin Geisler
|
r13142 | $ echo "width=60" >> $HGRCPATH | ||
Matt Mackall
|
r12479 | |||
test default params, display nothing because of delay | ||||
Martin Geisler
|
r13141 | $ hg -y loop 3 2>&1 | $TESTDIR/filtercr.py | ||
Matt Mackall
|
r12479 | |||
$ echo "delay=0" >> $HGRCPATH | ||||
$ echo "refresh=0" >> $HGRCPATH | ||||
test with delay=0, refresh=0 | ||||
Martin Geisler
|
r13141 | $ hg -y loop 3 2>&1 | $TESTDIR/filtercr.py | ||
Matt Mackall
|
r12479 | |||
Martin Geisler
|
r13142 | loop [ ] 0/3 | ||
loop [===============> ] 1/3 | ||||
loop [===============================> ] 2/3 | ||||
\r (esc) | ||||
Matt Mackall
|
r12479 | |||
test refresh is taken in account | ||||
Martin Geisler
|
r13141 | $ hg -y --config progress.refresh=100 loop 3 2>&1 | $TESTDIR/filtercr.py | ||
Matt Mackall
|
r12479 | |||
test format options 1 | ||||
Martin Geisler
|
r13141 | $ hg -y --config 'progress.format=number topic item+2' loop 2 2>&1 \ | ||
> | $TESTDIR/filtercr.py | ||||
Matt Mackall
|
r12479 | |||
0/2 loop lo | ||||
1/2 loop lo | ||||
Martin Geisler
|
r13142 | \r (esc) | ||
Matt Mackall
|
r12479 | |||
test format options 2 | ||||
Martin Geisler
|
r13141 | $ hg -y --config 'progress.format=number item-3 bar' loop 2 2>&1 \ | ||
> | $TESTDIR/filtercr.py | ||||
Matt Mackall
|
r12479 | |||
Martin Geisler
|
r13142 | 0/2 p.0 [ ] | ||
1/2 p.1 [=======================> ] | ||||
\r (esc) | ||||
Matt Mackall
|
r12479 | |||
test format options and indeterminate progress | ||||
Martin Geisler
|
r13141 | $ hg -y --config 'progress.format=number item bar' loop -- -2 2>&1 \ | ||
> | $TESTDIR/filtercr.py | ||||
Matt Mackall
|
r12479 | |||
Martin Geisler
|
r13142 | 0 loop.0 [ <=> ] | ||
1 loop.1 [ <=> ] | ||||
\r (esc) | ||||
Matt Mackall
|
r12479 | |||
make sure things don't fall over if count > total | ||||
Martin Geisler
|
r13141 | $ hg -y loop --total 4 6 2>&1 | $TESTDIR/filtercr.py | ||
Matt Mackall
|
r12479 | |||
Martin Geisler
|
r13142 | loop [ ] 0/4 | ||
loop [===========> ] 1/4 | ||||
loop [=======================> ] 2/4 | ||||
loop [===================================> ] 3/4 | ||||
loop [===============================================>] 4/4 | ||||
loop [ <=> ] 5/4 | ||||
\r (esc) | ||||
Matt Mackall
|
r12479 | |||
test immediate progress completion | ||||
Martin Geisler
|
r13141 | $ hg -y loop 0 2>&1 | $TESTDIR/filtercr.py | ||
Matt Mackall
|
r12479 | |||
Augie Fackler
|
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 | ||||
$ 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) | ||||