mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
Add test for progress extension
This commit is contained in:
parent
cdb100ac42
commit
b1a6de2999
60
tests/test-progress
Executable file
60
tests/test-progress
Executable file
@ -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
|
20
tests/test-progress.out
Normal file
20
tests/test-progress.out
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user