# HG changeset patch # User Patrick Mezard # Date 2010-02-14 14:45:12 # Node ID 5d7e84e7ac6df6c581878565c2d9ca93850f3ce2 # Parent 149ad0a3ec910aa58fc767fac9dba8732e744fd7 Add test for progress extension diff --git a/tests/test-progress b/tests/test-progress new file mode 100755 --- /dev/null +++ b/tests/test-progress @@ -0,0 +1,60 @@ +#!/bin/sh + +cat > loop.py <= 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 <> $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 diff --git a/tests/test-progress.out b/tests/test-progress.out new file mode 100644 --- /dev/null +++ b/tests/test-progress.out @@ -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