annotate tests/test-progress.t @ 47890:3853e6ee160d

dirstatemap: replace `removefile` by an explicit `entry.set_untracked()` All the other caller goes through `reset_state`, so we can safely have an explicit method on `DirstateItem` object. This means that all the logic to preserve the previous state (from p2, merged, etc) is now properly encapsulated within the DirstateItem. This pave the way to using different storage for these information. Differential Revision: https://phab.mercurial-scm.org/D11315
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 20 Aug 2021 11:27:01 +0200
parents 31ecf715efe2
children 42d2b31cee0b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
1
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
2 $ cat > loop.py <<EOF
33984
a37417e30a1f tests: update test-progress to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33624
diff changeset
3 > from __future__ import absolute_import
a37417e30a1f tests: update test-progress to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33624
diff changeset
4 > import time
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 28881
diff changeset
5 > from mercurial import commands, registrar
21254
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 19619
diff changeset
6 >
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 19619
diff changeset
7 > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 28881
diff changeset
8 > command = registrar.command(cmdtable)
21254
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 19619
diff changeset
9 >
19619
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
10 > class incrementingtime(object):
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
11 > def __init__(self):
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
12 > self._time = 0.0
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
13 > def __call__(self):
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
14 > self._time += 0.25
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
15 > return self._time
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
16 > time.time = incrementingtime()
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
17 >
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32337
diff changeset
18 > @command(b'loop',
38076
34592dd3bfa2 py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34316
diff changeset
19 > [(b'', b'total', b'', b'override for total'),
34592dd3bfa2 py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34316
diff changeset
20 > (b'', b'nested', False, b'show nested results'),
45025
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
21 > (b'', b'parallel', False, b'show parallel sets of results'),
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
22 > (b'', b'warn', False, b'show warning if step divisible by 3')],
38076
34592dd3bfa2 py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34316
diff changeset
23 > b'hg loop LOOPS',
21773
26d2fb899637 tests: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21254
diff changeset
24 > norepo=True)
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
25 > def loop(ui, loops, **opts):
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
26 > loops = int(loops)
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
27 > total = None
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
28 > if loops >= 0:
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
29 > total = loops
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
30 > if opts.get('total', None):
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
31 > total = int(opts.get('total'))
14838
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
32 > nested = False
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
33 > if opts.get('nested', None):
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
34 > nested = True
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
35 > loops = abs(loops)
45025
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
36 > showwarn = opts.get('warn', False)
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
37 >
40222
af5e2b23040a py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38411
diff changeset
38 > progress = ui.makeprogress(topiclabel, unit=b'loopnum', total=total)
af5e2b23040a py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38411
diff changeset
39 > other = ui.makeprogress(b'other', unit=b'othernum', total=total)
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
40 > for i in range(loops):
38411
26523316e4d0 tests: use progress helper
Martin von Zweigbergk <martinvonz@google.com>
parents: 38076
diff changeset
41 > progress.update(i, item=getloopitem(i))
14838
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
42 > if opts.get('parallel'):
40222
af5e2b23040a py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38411
diff changeset
43 > other.update(i, item=b'other.%d' % i)
14838
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
44 > if nested:
19619
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
45 > nested_steps = 2
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
46 > if i and i % 4 == 0:
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
47 > nested_steps = 5
40222
af5e2b23040a py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38411
diff changeset
48 > nested = ui.makeprogress(b'nested', unit=b'nestnum',
38411
26523316e4d0 tests: use progress helper
Martin von Zweigbergk <martinvonz@google.com>
parents: 38076
diff changeset
49 > total=nested_steps)
19619
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
50 > for j in range(nested_steps):
40222
af5e2b23040a py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38411
diff changeset
51 > nested.update(j, item=b'nested.%d' % j)
38411
26523316e4d0 tests: use progress helper
Martin von Zweigbergk <martinvonz@google.com>
parents: 38076
diff changeset
52 > nested.complete()
45025
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
53 > if showwarn and i % 3 == 0:
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
54 > ui.warn(b'reached step %d\n' %i)
38411
26523316e4d0 tests: use progress helper
Martin von Zweigbergk <martinvonz@google.com>
parents: 38076
diff changeset
55 > progress.complete()
21859
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
56 >
40222
af5e2b23040a py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38411
diff changeset
57 > topiclabel = b'loop'
21862
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
58 > def getloopitem(i):
40222
af5e2b23040a py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38411
diff changeset
59 > return b'loop.%d' % i
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
60 >
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
61 > EOF
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
62
15372
695ac6aca77f check-code: fix issues with finding patterns in unified tests, fix tests
Matt Mackall <mpm@selenic.com>
parents: 14838
diff changeset
63 $ cp $HGRCPATH $HGRCPATH.orig
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
64 $ echo "[extensions]" >> $HGRCPATH
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
65 $ echo "progress=" >> $HGRCPATH
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
66 $ echo "loop=`pwd`/loop.py" >> $HGRCPATH
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
67 $ echo "[progress]" >> $HGRCPATH
16675
f29f187ee73d test-progress: fix whitespace typo
Martin Geisler <mg@lazybytes.net>
parents: 16350
diff changeset
68 $ echo "format = topic bar number" >> $HGRCPATH
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
69 $ echo "assume-tty=1" >> $HGRCPATH
13142
e9827c85c50b progress: test setting progress.width
Martin Geisler <mg@aragost.com>
parents: 13141
diff changeset
70 $ echo "width=60" >> $HGRCPATH
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
71
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
72 test default params, display nothing because of delay
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
73
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
74 $ hg -y loop 3
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
75 $ echo "delay=0" >> $HGRCPATH
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
76 $ echo "refresh=0" >> $HGRCPATH
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
77
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
78 test with delay=0, refresh=0
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
79
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
80 $ hg -y loop 3
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
81 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
82 loop [ ] 0/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
83 loop [===============> ] 1/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
84 loop [===============================> ] 2/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
85 \r (no-eol) (esc)
25581
79c75459321e progress: respect ui.quiet (issue4726)
Augie Fackler <augie@google.com>
parents: 23139
diff changeset
86 no progress with --quiet
79c75459321e progress: respect ui.quiet (issue4726)
Augie Fackler <augie@google.com>
parents: 23139
diff changeset
87 $ hg -y loop 3 --quiet
14838
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
88
28171
2d20d1d2ea76 progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents: 25581
diff changeset
89 test plain mode exception
2d20d1d2ea76 progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents: 25581
diff changeset
90 $ HGPLAINEXCEPT=progress hg -y loop 1
2d20d1d2ea76 progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents: 25581
diff changeset
91 \r (no-eol) (esc)
2d20d1d2ea76 progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents: 25581
diff changeset
92 loop [ ] 0/1\r (no-eol) (esc)
2d20d1d2ea76 progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents: 25581
diff changeset
93 \r (no-eol) (esc)
2d20d1d2ea76 progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents: 25581
diff changeset
94
14838
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
95 test nested short-lived topics (which shouldn't display with nestdelay):
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
96
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
97 $ hg -y loop 3 --nested
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
98 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
99 loop [ ] 0/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
100 loop [===============> ] 1/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
101 loop [===============================> ] 2/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
102 \r (no-eol) (esc)
14838
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
103
19619
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
104 Test nested long-lived topic which has the same name as a short-lived
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
105 peer. We shouldn't get stuck showing the short-lived inner steps, and
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
106 should go back to skipping the inner steps when the slow nested step
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
107 finishes.
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
108
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
109 $ hg -y loop 7 --nested
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
110 \r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
111 loop [ ] 0/7\r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
112 loop [=====> ] 1/7\r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
113 loop [============> ] 2/7\r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
114 loop [===================> ] 3/7\r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
115 loop [==========================> ] 4/7\r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
116 nested [==========================> ] 3/5\r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
117 nested [===================================> ] 4/5\r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
118 loop [=================================> ] 5/7\r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
119 loop [========================================> ] 6/7\r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
120 \r (no-eol) (esc)
4694ccd5d994 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents: 19229
diff changeset
121
14838
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
122
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
123 $ hg --config progress.changedelay=0 -y loop 3 --nested
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
124 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
125 loop [ ] 0/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
126 nested [ ] 0/2\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
127 nested [======================> ] 1/2\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
128 loop [===============> ] 1/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
129 nested [ ] 0/2\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
130 nested [======================> ] 1/2\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
131 loop [===============================> ] 2/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
132 nested [ ] 0/2\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
133 nested [======================> ] 1/2\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
134 \r (no-eol) (esc)
14838
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
135
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
136
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
137 test two topics being printed in parallel (as when we're doing a local
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
138 --pull clone, where you get the unbundle and bundle progress at the
5d261fd00446 progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents: 13236
diff changeset
139 same time):
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
140 $ hg loop 3 --parallel
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
141 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
142 loop [ ] 0/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
143 loop [===============> ] 1/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
144 loop [===============================> ] 2/3\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
145 \r (no-eol) (esc)
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
146 test refresh is taken in account
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
147
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
148 $ hg -y --config progress.refresh=100 loop 3
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
149
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
150 test format options 1
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
151
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
152 $ hg -y --config 'progress.format=number topic item+2' loop 2
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
153 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
154 0/2 loop lo\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
155 1/2 loop lo\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
156 \r (no-eol) (esc)
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
157
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
158 test format options 2
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
159
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
160 $ hg -y --config 'progress.format=number item-3 bar' loop 2
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
161 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
162 0/2 p.0 [ ]\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
163 1/2 p.1 [=======================> ]\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
164 \r (no-eol) (esc)
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
165
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
166 test format options and indeterminate progress
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
167
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
168 $ hg -y --config 'progress.format=number item bar' loop -- -2
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
169 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
170 0 loop.0 [ <=> ]\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
171 1 loop.1 [ <=> ]\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
172 \r (no-eol) (esc)
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
173
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
174 make sure things don't fall over if count > total
10465
5d7e84e7ac6d Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
175
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
176 $ hg -y loop --total 4 6
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
177 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
178 loop [ ] 0/4\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
179 loop [===========> ] 1/4\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
180 loop [=======================> ] 2/4\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
181 loop [===================================> ] 3/4\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
182 loop [===============================================>] 4/4\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
183 loop [ <=> ] 5/4\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
184 \r (no-eol) (esc)
10891
83af68e38be3 progress: fall back to indeterminate progress if position is >= total
Augie Fackler <durin42@gmail.com>
parents: 10788
diff changeset
185
45025
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
186 test interaction with ui.warn
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
187
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
188 $ hg loop --warn 6
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
189 \r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
190 loop [ ] 0/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
191 \r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
192 reached step 0
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
193 \r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
194 loop [=======> ] 1/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
195 loop [===============> ] 2/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
196 loop [=======================> ] 3/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
197 \r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
198 reached step 3
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
199 \r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
200 loop [===============================> ] 4/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
201 loop [=======================================> ] 5/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
202 \r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
203
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
204 test interaction with ui.timestamp-output
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
205
46074
31ecf715efe2 tests: conditionalize the progress timestamp for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 45025
diff changeset
206 XXX: The timestamp on Windows with py2 hg is in 1970, and py3 hg is now. But
31ecf715efe2 tests: conditionalize the progress timestamp for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 45025
diff changeset
207 the py2/py3 checks here test the test runner, not the binary. The Windows lines
31ecf715efe2 tests: conditionalize the progress timestamp for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 45025
diff changeset
208 can be dropped when switching to py3-only.
31ecf715efe2 tests: conditionalize the progress timestamp for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 45025
diff changeset
209
45025
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
210 $ hg loop --warn --config ui.timestamp-output=true 6
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
211 \r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
212 loop [ ] 0/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
213 \r (no-eol) (esc)
46074
31ecf715efe2 tests: conditionalize the progress timestamp for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 45025
diff changeset
214 [*T*] reached step 0 (glob) (windows !)
31ecf715efe2 tests: conditionalize the progress timestamp for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 45025
diff changeset
215 \[20[2-9][0-9]-[01][0-9]-[0-3][0-9]T[0-5][0-9]:[0-5][0-9]:[0-5][0-9]\.[0-9][0-9][0-9][0-9][0-9][0-9]\] reached step 0 (re) (no-windows !)
45025
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
216 \r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
217 loop [=======> ] 1/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
218 loop [===============> ] 2/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
219 loop [=======================> ] 3/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
220 \r (no-eol) (esc)
46074
31ecf715efe2 tests: conditionalize the progress timestamp for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 45025
diff changeset
221 [*T*] reached step 3 (glob) (windows !)
31ecf715efe2 tests: conditionalize the progress timestamp for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 45025
diff changeset
222 \[20[2-9][0-9]-[01][0-9]-[0-3][0-9]T[0-5][0-9]:[0-5][0-9]:[0-5][0-9]\.[0-9][0-9][0-9][0-9][0-9][0-9]\] reached step 3 (re) (no-windows !)
45025
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
223 \r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
224 loop [===============================> ] 4/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
225 loop [=======================================> ] 5/6\r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
226 \r (no-eol) (esc)
24b1a8eb73aa ui: add option to timestamp status and diagnostic messages
Joerg Sonnenberger <joerg@bec.de>
parents: 40222
diff changeset
227
12479
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
228 test immediate progress completion
2f9ef3657730 tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents: 10891
diff changeset
229
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
230 $ hg -y loop 0
13145
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
231
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
232 test delay time estimates
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
233
28881
d9f7f590f1e3 test-progress: disable mocking-time tests on chg
Yuya Nishihara <yuya@tcha.org>
parents: 28171
diff changeset
234 #if no-chg
d9f7f590f1e3 test-progress: disable mocking-time tests on chg
Yuya Nishihara <yuya@tcha.org>
parents: 28171
diff changeset
235
15372
695ac6aca77f check-code: fix issues with finding patterns in unified tests, fix tests
Matt Mackall <mpm@selenic.com>
parents: 14838
diff changeset
236 $ cp $HGRCPATH.orig $HGRCPATH
695ac6aca77f check-code: fix issues with finding patterns in unified tests, fix tests
Matt Mackall <mpm@selenic.com>
parents: 14838
diff changeset
237 $ echo "[extensions]" >> $HGRCPATH
34316
12b355964de8 test-patchbomb: use mocktime
Jun Wu <quark@fb.com>
parents: 34314
diff changeset
238 $ echo "mocktime=$TESTDIR/mocktime.py" >> $HGRCPATH
13145
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
239 $ echo "progress=" >> $HGRCPATH
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
240 $ echo "loop=`pwd`/loop.py" >> $HGRCPATH
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
241 $ echo "[progress]" >> $HGRCPATH
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
242 $ echo "assume-tty=1" >> $HGRCPATH
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
243 $ echo "delay=25" >> $HGRCPATH
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
244 $ echo "width=60" >> $HGRCPATH
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
245
34316
12b355964de8 test-patchbomb: use mocktime
Jun Wu <quark@fb.com>
parents: 34314
diff changeset
246 $ MOCKTIME=11 hg -y loop 8
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
247 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
248 loop [=========> ] 2/8 1m07s\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
249 loop [===============> ] 3/8 56s\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
250 loop [=====================> ] 4/8 45s\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
251 loop [==========================> ] 5/8 34s\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
252 loop [================================> ] 6/8 23s\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
253 loop [=====================================> ] 7/8 12s\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
254 \r (no-eol) (esc)
13145
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
255
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
256 $ MOCKTIME=10000 hg -y loop 4
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
257 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
258 loop [ ] 0/4\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
259 loop [=========> ] 1/4 8h21m\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
260 loop [====================> ] 2/4 5h34m\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
261 loop [==============================> ] 3/4 2h47m\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
262 \r (no-eol) (esc)
13145
ce4cd176634e test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents: 13142
diff changeset
263
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
264 $ MOCKTIME=1000000 hg -y loop 4
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
265 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
266 loop [ ] 0/4\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
267 loop [=========> ] 1/4 5w00d\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
268 loop [====================> ] 2/4 3w03d\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
269 loop [=============================> ] 3/4 11d14h\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
270 \r (no-eol) (esc)
13236
3f299f5d9a29 progress: handle days, weeks and years
timeless <timeless@gmail.com>
parents: 13154
diff changeset
271
3f299f5d9a29 progress: handle days, weeks and years
timeless <timeless@gmail.com>
parents: 13154
diff changeset
272
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
273 $ MOCKTIME=14000000 hg -y loop 4
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
274 \r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
275 loop [ ] 0/4\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
276 loop [=========> ] 1/4 1y18w\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
277 loop [===================> ] 2/4 46w03d\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
278 loop [=============================> ] 3/4 23w02d\r (no-eol) (esc)
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
279 \r (no-eol) (esc)
13236
3f299f5d9a29 progress: handle days, weeks and years
timeless <timeless@gmail.com>
parents: 13154
diff changeset
280
34312
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
281 Non-linear progress:
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
282
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
283 $ MOCKTIME='20 20 20 20 20 20 20 20 20 20 500 500 500 500 500 20 20 20 20 20' hg -y loop 20
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
284 \r (no-eol) (esc)
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
285 loop [=> ] 1/20 6m21s\r (no-eol) (esc)
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
286 loop [===> ] 2/20 6m01s\r (no-eol) (esc)
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
287 loop [=====> ] 3/20 5m41s\r (no-eol) (esc)
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
288 loop [=======> ] 4/20 5m21s\r (no-eol) (esc)
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
289 loop [=========> ] 5/20 5m01s\r (no-eol) (esc)
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
290 loop [===========> ] 6/20 4m41s\r (no-eol) (esc)
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
291 loop [=============> ] 7/20 4m21s\r (no-eol) (esc)
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
292 loop [===============> ] 8/20 4m01s\r (no-eol) (esc)
34314
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
293 loop [================> ] 9/20 25m40s\r (no-eol) (esc)
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
294 loop [===================> ] 10/20 1h06m\r (no-eol) (esc)
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
295 loop [=====================> ] 11/20 1h13m\r (no-eol) (esc)
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
296 loop [=======================> ] 12/20 1h07m\r (no-eol) (esc)
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
297 loop [========================> ] 13/20 58m19s\r (no-eol) (esc)
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
298 loop [===========================> ] 14/20 7m09s\r (no-eol) (esc)
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
299 loop [=============================> ] 15/20 3m38s\r (no-eol) (esc)
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
300 loop [===============================> ] 16/20 2m15s\r (no-eol) (esc)
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
301 loop [=================================> ] 17/20 1m27s\r (no-eol) (esc)
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
302 loop [====================================> ] 18/20 52s\r (no-eol) (esc)
a667f0ca1d5f progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com>
parents: 34312
diff changeset
303 loop [======================================> ] 19/20 25s\r (no-eol) (esc)
34312
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
304 \r (no-eol) (esc)
d64c2c050b54 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com>
parents: 33984
diff changeset
305
13154
e11c14f14491 progress: don't compute estimate without a total
Augie Fackler <durin42@gmail.com>
parents: 13149
diff changeset
306 Time estimates should not fail when there's no end point:
34316
12b355964de8 test-patchbomb: use mocktime
Jun Wu <quark@fb.com>
parents: 34314
diff changeset
307 $ MOCKTIME=11 hg -y loop -- -4
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
308 \r (no-eol) (esc)
19229
41e39a0299cb blackbox: fix recording exit codes (issue3938)
Durham Goode <durham@fb.com>
parents: 18670
diff changeset
309 loop [ <=> ] 2\r (no-eol) (esc)
41e39a0299cb blackbox: fix recording exit codes (issue3938)
Durham Goode <durham@fb.com>
parents: 18670
diff changeset
310 loop [ <=> ] 3\r (no-eol) (esc)
17743
6047947afb6b tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents: 16675
diff changeset
311 \r (no-eol) (esc)
21859
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
312
28881
d9f7f590f1e3 test-progress: disable mocking-time tests on chg
Yuya Nishihara <yuya@tcha.org>
parents: 28171
diff changeset
313 #endif
d9f7f590f1e3 test-progress: disable mocking-time tests on chg
Yuya Nishihara <yuya@tcha.org>
parents: 28171
diff changeset
314
21859
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
315 test line trimming by '[progress] width', when progress topic contains
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
316 multi-byte characters, of which length of byte sequence and columns in
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
317 display are different from each other.
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
318
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
319 $ cp $HGRCPATH.orig $HGRCPATH
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
320 $ cat >> $HGRCPATH <<EOF
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
321 > [extensions]
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
322 > progress=
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
323 > loop=`pwd`/loop.py
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
324 > [progress]
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
325 > assume-tty = 1
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
326 > delay = 0
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
327 > refresh = 0
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
328 > EOF
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
329
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
330 $ rm -f loop.pyc
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
331 $ cat >> loop.py <<EOF
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
332 > # use non-ascii characters as topic label of progress
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
333 > # 2 x 4 = 8 columns, but 3 x 4 = 12 bytes
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
334 > topiclabel = u'\u3042\u3044\u3046\u3048'.encode('utf-8')
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
335 > EOF
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
336
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
337 $ cat >> $HGRCPATH <<EOF
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
338 > [progress]
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
339 > format = topic number
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
340 > width= 12
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
341 > EOF
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
342
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
343 $ hg --encoding utf-8 -y loop --total 3 3
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
344 \r (no-eol) (esc)
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
345 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88 0/3\r (no-eol) (esc)
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
346 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88 1/3\r (no-eol) (esc)
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
347 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88 2/3\r (no-eol) (esc)
be4270d27a7e progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21773
diff changeset
348 \r (no-eol) (esc)
21860
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
349
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
350 test calculation of bar width, when progress topic contains multi-byte
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
351 characters, of which length of byte sequence and columns in display
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
352 are different from each other.
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
353
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
354 $ cat >> $HGRCPATH <<EOF
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
355 > [progress]
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
356 > format = topic bar
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
357 > width= 21
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
358 > # progwidth should be 9 (= 21 - (8+1) - 3)
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
359 > EOF
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
360
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
361 $ hg --encoding utf-8 -y loop --total 3 3
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
362 \r (no-eol) (esc)
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
363 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88 [ ]\r (no-eol) (esc)
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
364 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88 [==> ]\r (no-eol) (esc)
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
365 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88 [=====> ]\r (no-eol) (esc)
e382cf9ec30b progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21859
diff changeset
366 \r (no-eol) (esc)
21862
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
367
23139
e53f6b72a0e4 spelling: fixes from proofreading of spell checker issues
Mads Kiilerich <madski@unity3d.com>
parents: 21863
diff changeset
368 test trimming progress items, when they contain multi-byte characters,
21862
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
369 of which length of byte sequence and columns in display are different
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
370 from each other.
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
371
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
372 $ rm -f loop.pyc
33624
b4793cc8e1c0 tests: clear __pycache__ for PyPy compatibility (issue5638) (issue5642)
Yuya Nishihara <yuya@tcha.org>
parents: 33097
diff changeset
373 $ rm -Rf __pycache__
21862
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
374 $ cat >> loop.py <<EOF
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
375 > # use non-ascii characters as loop items of progress
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
376 > loopitems = [
21863
f9c91c638378 progress: use 'encoding.colwidth' to get column width of items correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21862
diff changeset
377 > u'\u3042\u3044'.encode('utf-8'), # 2 x 2 = 4 columns
21862
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
378 > u'\u3042\u3044\u3046'.encode('utf-8'), # 2 x 3 = 6 columns
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
379 > u'\u3042\u3044\u3046\u3048'.encode('utf-8'), # 2 x 4 = 8 columns
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
380 > ]
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
381 > def getloopitem(i):
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
382 > return loopitems[i % len(loopitems)]
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
383 > EOF
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
384
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
385 $ cat >> $HGRCPATH <<EOF
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
386 > [progress]
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
387 > # trim at tail side
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
388 > format = item+6
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
389 > EOF
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
390
21863
f9c91c638378 progress: use 'encoding.colwidth' to get column width of items correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21862
diff changeset
391 $ hg --encoding utf-8 -y loop --total 3 3
21862
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
392 \r (no-eol) (esc)
21863
f9c91c638378 progress: use 'encoding.colwidth' to get column width of items correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21862
diff changeset
393 \xe3\x81\x82\xe3\x81\x84 \r (no-eol) (esc)
21862
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
394 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\r (no-eol) (esc)
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
395 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\r (no-eol) (esc)
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
396 \r (no-eol) (esc)
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
397
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
398 $ cat >> $HGRCPATH <<EOF
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
399 > [progress]
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
400 > # trim at left side
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
401 > format = item-6
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
402 > EOF
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
403
21863
f9c91c638378 progress: use 'encoding.colwidth' to get column width of items correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21862
diff changeset
404 $ hg --encoding utf-8 -y loop --total 3 3
21862
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
405 \r (no-eol) (esc)
21863
f9c91c638378 progress: use 'encoding.colwidth' to get column width of items correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21862
diff changeset
406 \xe3\x81\x82\xe3\x81\x84 \r (no-eol) (esc)
21862
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
407 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\r (no-eol) (esc)
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
408 \xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\r (no-eol) (esc)
ba7f75e7f4e5 progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21860
diff changeset
409 \r (no-eol) (esc)