test-progress
65 lines
| 1.8 KiB
| text/plain
|
TextLexer
/ tests / test-progress
Patrick Mezard
|
r10465 | #!/bin/sh | ||
cat > loop.py <<EOF | ||||
from mercurial import commands | ||||
def loop(ui, loops, **opts): | ||||
loops = int(loops) | ||||
total = None | ||||
if loops >= 0: | ||||
total = loops | ||||
Augie Fackler
|
r10891 | if opts.get('total', None): | ||
total = int(opts.get('total')) | ||||
Patrick Mezard
|
r10465 | 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 = { | ||||
Augie Fackler
|
r10891 | "loop": (loop, [('', 'total', '', 'override for total')], | ||
'hg loop LOOPS'), | ||||
Patrick Mezard
|
r10465 | } | ||
EOF | ||||
cat > filtercr.py <<EOF | ||||
import sys, re | ||||
for line in sys.stdin: | ||||
line = re.sub(r'\r+[^\n]', lambda m: '\n' + m.group()[-1:], line) | ||||
sys.stdout.write(line) | ||||
EOF | ||||
echo "[extensions]" >> $HGRCPATH | ||||
echo "progress=" >> $HGRCPATH | ||||
Mads Kiilerich
|
r10775 | echo "loop=`pwd`/loop.py" >> $HGRCPATH | ||
Augie Fackler
|
r10788 | echo "[progress]" >> $HGRCPATH | ||
echo "assume-tty=1" >> $HGRCPATH | ||||
Patrick Mezard
|
r10465 | |||
echo '% test default params, display nothing because of delay' | ||||
Augie Fackler
|
r10788 | hg -y loop 3 2>&1 | python filtercr.py | ||
Patrick Mezard
|
r10465 | |||
echo "delay=0" >> $HGRCPATH | ||||
echo "refresh=0" >> $HGRCPATH | ||||
echo '% test with delay=0, refresh=0' | ||||
Augie Fackler
|
r10788 | hg -y loop 3 2>&1 | python filtercr.py | ||
Patrick Mezard
|
r10465 | |||
echo '% test refresh is taken in account' | ||||
Augie Fackler
|
r10788 | hg -y --config progress.refresh=100 loop 3 2>&1 | python filtercr.py | ||
Patrick Mezard
|
r10465 | |||
echo '% test format options 1' | ||||
Augie Fackler
|
r10788 | hg -y --config 'progress.format=number topic item+2' loop 2 2>&1 | python filtercr.py | ||
Patrick Mezard
|
r10465 | |||
echo '% test format options 2' | ||||
Augie Fackler
|
r10788 | hg -y --config 'progress.format=number item-3 bar' loop 2 2>&1 | python filtercr.py | ||
Patrick Mezard
|
r10465 | |||
echo '% test format options and indeterminate progress' | ||||
Augie Fackler
|
r10788 | hg -y --config 'progress.format=number item bar' loop -- -2 2>&1 | python filtercr.py | ||
Patrick Mezard
|
r10465 | |||
Augie Fackler
|
r10891 | echo "% make sure things don't fall over if count > total" | ||
hg -y loop --total 4 6 2>&1 | python filtercr.py | ||||
Patrick Mezard
|
r10465 | echo '% test immediate progress completion' | ||
Augie Fackler
|
r10788 | hg -y loop 0 2>&1 | python filtercr.py | ||