Mercurial > hg
changeset 10465:5d7e84e7ac6d stable
Add test for progress extension
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Sun, 14 Feb 2010 15:45:12 +0100 |
parents | 149ad0a3ec91 |
children | d1f209bb9564 |
files | tests/test-progress tests/test-progress.out |
diffstat | 2 files changed, 80 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-progress Sun Feb 14 15:45:12 2010 +0100 @@ -0,0 +1,60 @@ +#!/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 + 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, [], 'hg loop LOOPS'), +} +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 +echo "loop=" `pwd`/loop.py >> $HGRCPATH +echo "[ui]" >> $HGRCPATH +echo "interactive=1" >> $HGRCPATH + +echo '% test default params, display nothing because of delay' +hg -y loop 3 | python filtercr.py + +echo "[progress]" >> $HGRCPATH +echo "delay=0" >> $HGRCPATH +echo "refresh=0" >> $HGRCPATH + +echo '% test with delay=0, refresh=0' +hg -y loop 3 | python filtercr.py + +echo '% test refresh is taken in account' +hg -y --config progress.refresh=100 loop 3 | python filtercr.py + +echo '% test format options 1' +hg -y --config 'progress.format=number topic item+2' loop 2 | python filtercr.py + +echo '% test format options 2' +hg -y --config 'progress.format=number item-3 bar' loop 2 | python filtercr.py + +echo '% test format options and indeterminate progress' +hg -y --config 'progress.format=number item bar' loop -- -2 | python filtercr.py + +echo '% test immediate progress completion' +hg -y loop 0 | python filtercr.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-progress.out Sun Feb 14 15:45:12 2010 +0100 @@ -0,0 +1,20 @@ +% test default params, display nothing because of delay +% test with delay=0, refresh=0 + +loop [ ] 0/3 +loop [=====================> ] 1/3 +loop [============================================> ] 2/3 + % test refresh is taken in account +% test format options 1 + +0/2 loop lo +1/2 loop lo + % test format options 2 + +0/2 p.0 [ ] +1/2 p.1 [=================================> ] + % test format options and indeterminate progress + +0 loop.0 [ <=> ] +1 loop.1 [ <=> ] + % test immediate progress completion