Mercurial > hg
annotate tests/test-progress.t @ 30442:41a8106789ca
util: implement zstd compression engine
Now that zstd is vendored and being built (in some configurations), we
can implement a compression engine for zstd!
The zstd engine is a little different from existing engines. Because
it may not always be present, we have to defer load the module in case
importing it fails. We facilitate this via a cached property that holds
a reference to the module or None. The "available" method is
implemented to reflect reality.
The zstd engine declares its ability to handle bundles using the
"zstd" human name and the "ZS" internal name. The latter was chosen
because internal names are 2 characters (by only convention I think)
and "ZS" seems reasonable.
The engine, like others, supports specifying the compression level.
However, there are no consumers of this API that yet pass in that
argument. I have plans to change that, so stay tuned.
Since all we need to do to support bundle generation with a new
compression engine is implement and register the compression engine,
bundle generation with zstd "just works!" Tests demonstrating this
have been added.
How does performance of zstd for bundle generation compare? On the
mozilla-unified repo, `hg bundle --all -t <engine>-v2` yields the
following on my i7-6700K on Linux:
engine CPU time bundle size vs orig size throughput
none 97.0s 4,054,405,584 100.0% 41.8 MB/s
bzip2 (l=9) 393.6s 975,343,098 24.0% 10.3 MB/s
gzip (l=6) 184.0s 1,140,533,074 28.1% 22.0 MB/s
zstd (l=1) 108.2s 1,119,434,718 27.6% 37.5 MB/s
zstd (l=2) 111.3s 1,078,328,002 26.6% 36.4 MB/s
zstd (l=3) 113.7s 1,011,823,727 25.0% 35.7 MB/s
zstd (l=4) 116.0s 1,008,965,888 24.9% 35.0 MB/s
zstd (l=5) 121.0s 977,203,148 24.1% 33.5 MB/s
zstd (l=6) 131.7s 927,360,198 22.9% 30.8 MB/s
zstd (l=7) 139.0s 912,808,505 22.5% 29.2 MB/s
zstd (l=12) 198.1s 854,527,714 21.1% 20.5 MB/s
zstd (l=18) 681.6s 789,750,690 19.5% 5.9 MB/s
On compression, zstd for bundle generation delivers:
* better compression than gzip with significantly less CPU utilization
* better than bzip2 compression ratios while still being significantly
faster than gzip
* ability to aggressively tune compression level to achieve
significantly smaller bundles
That last point is important. With clone bundles, a server can
pre-generate a bundle file, upload it to a static file server, and
redirect clients to transparently download it during clone. The server
could choose to produce a zstd bundle with the highest compression
settings possible. This would take a very long time - a magnitude
longer than a typical zstd bundle generation - but the result would
be hundreds of megabytes smaller! For the clone volume we do at
Mozilla, this could translate to petabytes of bandwidth savings
per year and faster clones (due to smaller transfer size).
I don't have detailed numbers to report on decompression. However,
zstd decompression is fast: >1 GB/s output throughput on this machine,
even through the Python bindings. And it can do that regardless of the
compression level of the input. By the time you have enough data to
worry about overhead of decompression, you have plenty of other things
to worry about performance wise.
zstd is wins all around. I can't wait to implement support for it
on the wire protocol and in revlogs.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 11 Nov 2016 01:10:07 -0800 |
parents | d9f7f590f1e3 |
children | 46ba2cdda476 |
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 |
21254
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
19619
diff
changeset
|
3 > from mercurial import cmdutil, commands |
19619
4694ccd5d994
progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents:
19229
diff
changeset
|
4 > import time |
21254
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
19619
diff
changeset
|
5 > |
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
19619
diff
changeset
|
6 > cmdtable = {} |
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
19619
diff
changeset
|
7 > command = cmdutil.command(cmdtable) |
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
19619
diff
changeset
|
8 > |
19619
4694ccd5d994
progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents:
19229
diff
changeset
|
9 > 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
|
10 > 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
|
11 > 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
|
12 > 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
|
13 > 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
|
14 > 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
|
15 > time.time = incrementingtime() |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
16 > |
21254
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
19619
diff
changeset
|
17 > @command('loop', |
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
19619
diff
changeset
|
18 > [('', 'total', '', 'override for total'), |
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
19619
diff
changeset
|
19 > ('', 'nested', False, 'show nested results'), |
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
19619
diff
changeset
|
20 > ('', 'parallel', False, 'show parallel sets of results')], |
21773
26d2fb899637
tests: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21254
diff
changeset
|
21 > 'hg loop LOOPS', |
26d2fb899637
tests: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21254
diff
changeset
|
22 > norepo=True) |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
23 > def loop(ui, loops, **opts): |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
24 > loops = int(loops) |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
25 > total = None |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
26 > if loops >= 0: |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
27 > total = loops |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
28 > if opts.get('total', None): |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
29 > 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
|
30 > nested = False |
5d261fd00446
progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents:
13236
diff
changeset
|
31 > 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
|
32 > nested = True |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
33 > loops = abs(loops) |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
34 > |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
35 > for i in range(loops): |
21862
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
36 > ui.progress(topiclabel, i, getloopitem(i), 'loopnum', total) |
14838
5d261fd00446
progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents:
13236
diff
changeset
|
37 > if opts.get('parallel'): |
5d261fd00446
progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents:
13236
diff
changeset
|
38 > ui.progress('other', i, 'other.%d' % i, 'othernum', total) |
5d261fd00446
progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents:
13236
diff
changeset
|
39 > 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
|
40 > 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
|
41 > 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
|
42 > nested_steps = 5 |
4694ccd5d994
progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents:
19229
diff
changeset
|
43 > for j in range(nested_steps): |
4694ccd5d994
progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents:
19229
diff
changeset
|
44 > ui.progress( |
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', j, 'nested.%d' % j, 'nestnum', nested_steps) |
4694ccd5d994
progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents:
19229
diff
changeset
|
46 > ui.progress( |
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', None, 'nested.done', 'nestnum', nested_steps) |
21859
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
48 > ui.progress(topiclabel, None, 'loop.done', 'loopnum', total) |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
49 > |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
50 > topiclabel = '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
|
51 > 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
|
52 > return 'loop.%d' % i |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
53 > |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
54 > EOF |
10465
5d7e84e7ac6d
Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
55 |
15372
695ac6aca77f
check-code: fix issues with finding patterns in unified tests, fix tests
Matt Mackall <mpm@selenic.com>
parents:
14838
diff
changeset
|
56 $ cp $HGRCPATH $HGRCPATH.orig |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
57 $ echo "[extensions]" >> $HGRCPATH |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
58 $ echo "progress=" >> $HGRCPATH |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
59 $ echo "loop=`pwd`/loop.py" >> $HGRCPATH |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
60 $ echo "[progress]" >> $HGRCPATH |
16675
f29f187ee73d
test-progress: fix whitespace typo
Martin Geisler <mg@lazybytes.net>
parents:
16350
diff
changeset
|
61 $ echo "format = topic bar number" >> $HGRCPATH |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
62 $ echo "assume-tty=1" >> $HGRCPATH |
13142
e9827c85c50b
progress: test setting progress.width
Martin Geisler <mg@aragost.com>
parents:
13141
diff
changeset
|
63 $ echo "width=60" >> $HGRCPATH |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
64 |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
65 test default params, display nothing because of delay |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
66 |
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
|
67 $ hg -y loop 3 |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
68 $ echo "delay=0" >> $HGRCPATH |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
69 $ echo "refresh=0" >> $HGRCPATH |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
70 |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
71 test with delay=0, refresh=0 |
10465
5d7e84e7ac6d
Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
72 |
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
|
73 $ 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
|
74 \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
|
75 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
|
76 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
|
77 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
|
78 \r (no-eol) (esc) |
25581
79c75459321e
progress: respect ui.quiet (issue4726)
Augie Fackler <augie@google.com>
parents:
23139
diff
changeset
|
79 no progress with --quiet |
79c75459321e
progress: respect ui.quiet (issue4726)
Augie Fackler <augie@google.com>
parents:
23139
diff
changeset
|
80 $ 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
|
81 |
28171
2d20d1d2ea76
progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents:
25581
diff
changeset
|
82 test plain mode exception |
2d20d1d2ea76
progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents:
25581
diff
changeset
|
83 $ HGPLAINEXCEPT=progress hg -y loop 1 |
2d20d1d2ea76
progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents:
25581
diff
changeset
|
84 \r (no-eol) (esc) |
2d20d1d2ea76
progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents:
25581
diff
changeset
|
85 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
|
86 \r (no-eol) (esc) |
2d20d1d2ea76
progress: display progress bar when HGPLAINEXCEPT contains "progress"
Matt Anderson <andersonmat@fb.com>
parents:
25581
diff
changeset
|
87 |
14838
5d261fd00446
progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents:
13236
diff
changeset
|
88 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
|
89 |
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
|
90 $ 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
|
91 \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
|
92 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
|
93 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
|
94 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
|
95 \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
|
96 |
19619
4694ccd5d994
progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents:
19229
diff
changeset
|
97 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
|
98 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
|
99 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
|
100 finishes. |
4694ccd5d994
progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents:
19229
diff
changeset
|
101 |
4694ccd5d994
progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com>
parents:
19229
diff
changeset
|
102 $ 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
|
103 \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
|
104 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
|
105 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
|
106 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
|
107 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
|
108 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
|
109 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
|
110 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
|
111 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
|
112 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
|
113 \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 |
14838
5d261fd00446
progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents:
13236
diff
changeset
|
115 |
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
|
116 $ 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
|
117 \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
|
118 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
|
119 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
|
120 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
|
121 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
|
122 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
|
123 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
|
124 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
|
125 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
|
126 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
|
127 \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
|
128 |
5d261fd00446
progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents:
13236
diff
changeset
|
129 |
5d261fd00446
progress: add a changedelay to prevent parallel topics from flapping (issue2698)
Augie Fackler <durin42@gmail.com>
parents:
13236
diff
changeset
|
130 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
|
131 --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
|
132 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
|
133 $ 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
|
134 \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
|
135 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
|
136 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
|
137 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
|
138 \r (no-eol) (esc) |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
139 test refresh is taken in account |
10465
5d7e84e7ac6d
Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
140 |
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
|
141 $ hg -y --config progress.refresh=100 loop 3 |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
142 |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
143 test format options 1 |
10465
5d7e84e7ac6d
Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
144 |
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
|
145 $ 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
|
146 \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
|
147 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
|
148 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
|
149 \r (no-eol) (esc) |
10465
5d7e84e7ac6d
Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
150 |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
151 test format options 2 |
10465
5d7e84e7ac6d
Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
152 |
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
|
153 $ 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
|
154 \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 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
|
156 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
|
157 \r (no-eol) (esc) |
10465
5d7e84e7ac6d
Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
158 |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
159 test format options and indeterminate progress |
10465
5d7e84e7ac6d
Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
160 |
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
|
161 $ 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
|
162 \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 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
|
164 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
|
165 \r (no-eol) (esc) |
10465
5d7e84e7ac6d
Add test for progress extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
166 |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
167 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
|
168 |
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
|
169 $ 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
|
170 \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 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
|
172 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
|
173 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
|
174 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
|
175 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
|
176 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
|
177 \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
|
178 |
12479
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
179 test immediate progress completion |
2f9ef3657730
tests: unify test-progress
Matt Mackall <mpm@selenic.com>
parents:
10891
diff
changeset
|
180 |
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
|
181 $ hg -y loop 0 |
13145
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
182 |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
183 test delay time estimates |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
184 |
28881
d9f7f590f1e3
test-progress: disable mocking-time tests on chg
Yuya Nishihara <yuya@tcha.org>
parents:
28171
diff
changeset
|
185 #if no-chg |
d9f7f590f1e3
test-progress: disable mocking-time tests on chg
Yuya Nishihara <yuya@tcha.org>
parents:
28171
diff
changeset
|
186 |
13145
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
187 $ cat > mocktime.py <<EOF |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
188 > import os |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
189 > import time |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
190 > |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
191 > class mocktime(object): |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
192 > def __init__(self, increment): |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
193 > self.time = 0 |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
194 > self.increment = increment |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
195 > def __call__(self): |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
196 > self.time += self.increment |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
197 > return self.time |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
198 > |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
199 > def uisetup(ui): |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
200 > time.time = mocktime(int(os.environ.get('MOCKTIME', '11'))) |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
201 > EOF |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
202 |
15372
695ac6aca77f
check-code: fix issues with finding patterns in unified tests, fix tests
Matt Mackall <mpm@selenic.com>
parents:
14838
diff
changeset
|
203 $ 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
|
204 $ echo "[extensions]" >> $HGRCPATH |
13145
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
205 $ echo "mocktime=`pwd`/mocktime.py" >> $HGRCPATH |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
206 $ echo "progress=" >> $HGRCPATH |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
207 $ 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
|
208 $ echo "[progress]" >> $HGRCPATH |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
209 $ echo "assume-tty=1" >> $HGRCPATH |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
210 $ echo "delay=25" >> $HGRCPATH |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
211 $ echo "width=60" >> $HGRCPATH |
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
212 |
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
|
213 $ hg -y loop 8 |
6047947afb6b
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents:
16675
diff
changeset
|
214 \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
|
215 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
|
216 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
|
217 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
|
218 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
|
219 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
|
220 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
|
221 \r (no-eol) (esc) |
13145
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
222 |
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
|
223 $ 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
|
224 \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
|
225 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
|
226 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
|
227 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
|
228 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
|
229 \r (no-eol) (esc) |
13145
ce4cd176634e
test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com>
parents:
13142
diff
changeset
|
230 |
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
|
231 $ 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
|
232 \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
|
233 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
|
234 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
|
235 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
|
236 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
|
237 \r (no-eol) (esc) |
13236
3f299f5d9a29
progress: handle days, weeks and years
timeless <timeless@gmail.com>
parents:
13154
diff
changeset
|
238 |
3f299f5d9a29
progress: handle days, weeks and years
timeless <timeless@gmail.com>
parents:
13154
diff
changeset
|
239 |
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
|
240 $ 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
|
241 \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
|
242 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
|
243 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
|
244 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
|
245 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
|
246 \r (no-eol) (esc) |
13236
3f299f5d9a29
progress: handle days, weeks and years
timeless <timeless@gmail.com>
parents:
13154
diff
changeset
|
247 |
13154
e11c14f14491
progress: don't compute estimate without a total
Augie Fackler <durin42@gmail.com>
parents:
13149
diff
changeset
|
248 Time estimates should not fail when there's no end point: |
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
|
249 $ 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
|
250 \r (no-eol) (esc) |
19229
41e39a0299cb
blackbox: fix recording exit codes (issue3938)
Durham Goode <durham@fb.com>
parents:
18670
diff
changeset
|
251 loop [ <=> ] 2\r (no-eol) (esc) |
41e39a0299cb
blackbox: fix recording exit codes (issue3938)
Durham Goode <durham@fb.com>
parents:
18670
diff
changeset
|
252 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
|
253 \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
|
254 |
28881
d9f7f590f1e3
test-progress: disable mocking-time tests on chg
Yuya Nishihara <yuya@tcha.org>
parents:
28171
diff
changeset
|
255 #endif |
d9f7f590f1e3
test-progress: disable mocking-time tests on chg
Yuya Nishihara <yuya@tcha.org>
parents:
28171
diff
changeset
|
256 |
21859
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
257 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
|
258 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
|
259 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
|
260 |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
261 $ 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
|
262 $ cat >> $HGRCPATH <<EOF |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
263 > [extensions] |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
264 > progress= |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
265 > 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
|
266 > [progress] |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
267 > assume-tty = 1 |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
268 > delay = 0 |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
269 > refresh = 0 |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
270 > EOF |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
271 |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
272 $ 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
|
273 $ 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
|
274 > # 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
|
275 > # 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
|
276 > 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
|
277 > EOF |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
278 |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
279 $ cat >> $HGRCPATH <<EOF |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
280 > [progress] |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
281 > format = topic number |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
282 > width= 12 |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
283 > EOF |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
284 |
be4270d27a7e
progress: use 'encoding.trim' to trim output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21773
diff
changeset
|
285 $ 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
|
286 \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
|
287 \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
|
288 \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
|
289 \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
|
290 \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
|
291 |
e382cf9ec30b
progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21859
diff
changeset
|
292 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
|
293 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
|
294 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
|
295 |
e382cf9ec30b
progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21859
diff
changeset
|
296 $ 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
|
297 > [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
|
298 > 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
|
299 > 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
|
300 > # 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
|
301 > 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
|
302 |
e382cf9ec30b
progress: use 'encoding.colwidth' to get column width of output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21859
diff
changeset
|
303 $ 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
|
304 \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
|
305 \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
|
306 \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
|
307 \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
|
308 \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
|
309 |
23139
e53f6b72a0e4
spelling: fixes from proofreading of spell checker issues
Mads Kiilerich <madski@unity3d.com>
parents:
21863
diff
changeset
|
310 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
|
311 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
|
312 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
|
313 |
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
314 $ rm -f loop.pyc |
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
315 $ 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
|
316 > # 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
|
317 > 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
|
318 > 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
|
319 > 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
|
320 > 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
|
321 > ] |
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
322 > 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
|
323 > 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
|
324 > EOF |
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
325 |
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
326 $ 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
|
327 > [progress] |
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
328 > # 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
|
329 > 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
|
330 > EOF |
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
331 |
21863
f9c91c638378
progress: use 'encoding.colwidth' to get column width of items correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21862
diff
changeset
|
332 $ 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
|
333 \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
|
334 \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
|
335 \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
|
336 \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
|
337 \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
|
338 |
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
339 $ 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
|
340 > [progress] |
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
341 > # 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
|
342 > 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
|
343 > EOF |
ba7f75e7f4e5
progress: use 'encoding.trim' to trim items in output line correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21860
diff
changeset
|
344 |
21863
f9c91c638378
progress: use 'encoding.colwidth' to get column width of items correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21862
diff
changeset
|
345 $ 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
|
346 \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
|
347 \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
|
348 \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
|
349 \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
|
350 \r (no-eol) (esc) |