##// END OF EJS Templates
tests: use "perf" as a the extension name in test-contrib-perf.t...
marmoute -
r42181:d93436e2 default
parent child Browse files
Show More
@@ -1,302 +1,302 b''
1 #require test-repo
1 #require test-repo
2
2
3 Set vars:
3 Set vars:
4
4
5 $ . "$TESTDIR/helpers-testrepo.sh"
5 $ . "$TESTDIR/helpers-testrepo.sh"
6 $ CONTRIBDIR="$TESTDIR/../contrib"
6 $ CONTRIBDIR="$TESTDIR/../contrib"
7
7
8 Prepare repo:
8 Prepare repo:
9
9
10 $ hg init
10 $ hg init
11
11
12 $ echo this is file a > a
12 $ echo this is file a > a
13 $ hg add a
13 $ hg add a
14 $ hg commit -m first
14 $ hg commit -m first
15
15
16 $ echo adding to file a >> a
16 $ echo adding to file a >> a
17 $ hg commit -m second
17 $ hg commit -m second
18
18
19 $ echo adding more to file a >> a
19 $ echo adding more to file a >> a
20 $ hg commit -m third
20 $ hg commit -m third
21
21
22 $ hg up -r 0
22 $ hg up -r 0
23 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
23 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
24 $ echo merge-this >> a
24 $ echo merge-this >> a
25 $ hg commit -m merge-able
25 $ hg commit -m merge-able
26 created new head
26 created new head
27
27
28 $ hg up -r 2
28 $ hg up -r 2
29 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
29 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
30
30
31 perfstatus
31 perfstatus
32
32
33 $ cat >> $HGRCPATH << EOF
33 $ cat >> $HGRCPATH << EOF
34 > [extensions]
34 > [extensions]
35 > perfstatusext=$CONTRIBDIR/perf.py
35 > perf=$CONTRIBDIR/perf.py
36 > [perf]
36 > [perf]
37 > presleep=0
37 > presleep=0
38 > stub=on
38 > stub=on
39 > parentscount=1
39 > parentscount=1
40 > EOF
40 > EOF
41 $ hg help perfstatusext
41 $ hg help -e perf
42 perfstatusext extension - helper extension to measure performance
42 perf extension - helper extension to measure performance
43
43
44 list of commands:
44 list of commands:
45
45
46 perfaddremove
46 perfaddremove
47 (no help text available)
47 (no help text available)
48 perfancestors
48 perfancestors
49 (no help text available)
49 (no help text available)
50 perfancestorset
50 perfancestorset
51 (no help text available)
51 (no help text available)
52 perfannotate (no help text available)
52 perfannotate (no help text available)
53 perfbdiff benchmark a bdiff between revisions
53 perfbdiff benchmark a bdiff between revisions
54 perfbookmarks
54 perfbookmarks
55 benchmark parsing bookmarks from disk to memory
55 benchmark parsing bookmarks from disk to memory
56 perfbranchmap
56 perfbranchmap
57 benchmark the update of a branchmap
57 benchmark the update of a branchmap
58 perfbranchmapload
58 perfbranchmapload
59 benchmark reading the branchmap
59 benchmark reading the branchmap
60 perfbranchmapupdate
60 perfbranchmapupdate
61 benchmark branchmap update from for <base> revs to <target>
61 benchmark branchmap update from for <base> revs to <target>
62 revs
62 revs
63 perfbundleread
63 perfbundleread
64 Benchmark reading of bundle files.
64 Benchmark reading of bundle files.
65 perfcca (no help text available)
65 perfcca (no help text available)
66 perfchangegroupchangelog
66 perfchangegroupchangelog
67 Benchmark producing a changelog group for a changegroup.
67 Benchmark producing a changelog group for a changegroup.
68 perfchangeset
68 perfchangeset
69 (no help text available)
69 (no help text available)
70 perfctxfiles (no help text available)
70 perfctxfiles (no help text available)
71 perfdiffwd Profile diff of working directory changes
71 perfdiffwd Profile diff of working directory changes
72 perfdirfoldmap
72 perfdirfoldmap
73 (no help text available)
73 (no help text available)
74 perfdirs (no help text available)
74 perfdirs (no help text available)
75 perfdirstate (no help text available)
75 perfdirstate (no help text available)
76 perfdirstatedirs
76 perfdirstatedirs
77 (no help text available)
77 (no help text available)
78 perfdirstatefoldmap
78 perfdirstatefoldmap
79 (no help text available)
79 (no help text available)
80 perfdirstatewrite
80 perfdirstatewrite
81 (no help text available)
81 (no help text available)
82 perfdiscovery
82 perfdiscovery
83 benchmark discovery between local repo and the peer at given
83 benchmark discovery between local repo and the peer at given
84 path
84 path
85 perffncacheencode
85 perffncacheencode
86 (no help text available)
86 (no help text available)
87 perffncacheload
87 perffncacheload
88 (no help text available)
88 (no help text available)
89 perffncachewrite
89 perffncachewrite
90 (no help text available)
90 (no help text available)
91 perfheads benchmark the computation of a changelog heads
91 perfheads benchmark the computation of a changelog heads
92 perfhelper-pathcopies
92 perfhelper-pathcopies
93 find statistic about potential parameters for the
93 find statistic about potential parameters for the
94 'perftracecopies'
94 'perftracecopies'
95 perfignore benchmark operation related to computing ignore
95 perfignore benchmark operation related to computing ignore
96 perfindex benchmark index creation time followed by a lookup
96 perfindex benchmark index creation time followed by a lookup
97 perflinelogedits
97 perflinelogedits
98 (no help text available)
98 (no help text available)
99 perfloadmarkers
99 perfloadmarkers
100 benchmark the time to parse the on-disk markers for a repo
100 benchmark the time to parse the on-disk markers for a repo
101 perflog (no help text available)
101 perflog (no help text available)
102 perflookup (no help text available)
102 perflookup (no help text available)
103 perflrucachedict
103 perflrucachedict
104 (no help text available)
104 (no help text available)
105 perfmanifest benchmark the time to read a manifest from disk and return a
105 perfmanifest benchmark the time to read a manifest from disk and return a
106 usable
106 usable
107 perfmergecalculate
107 perfmergecalculate
108 (no help text available)
108 (no help text available)
109 perfmoonwalk benchmark walking the changelog backwards
109 perfmoonwalk benchmark walking the changelog backwards
110 perfnodelookup
110 perfnodelookup
111 (no help text available)
111 (no help text available)
112 perfnodemap benchmark the time necessary to look up revision from a cold
112 perfnodemap benchmark the time necessary to look up revision from a cold
113 nodemap
113 nodemap
114 perfparents (no help text available)
114 perfparents (no help text available)
115 perfpathcopies
115 perfpathcopies
116 benchmark the copy tracing logic
116 benchmark the copy tracing logic
117 perfphases benchmark phasesets computation
117 perfphases benchmark phasesets computation
118 perfphasesremote
118 perfphasesremote
119 benchmark time needed to analyse phases of the remote server
119 benchmark time needed to analyse phases of the remote server
120 perfprogress printing of progress bars
120 perfprogress printing of progress bars
121 perfrawfiles (no help text available)
121 perfrawfiles (no help text available)
122 perfrevlogchunks
122 perfrevlogchunks
123 Benchmark operations on revlog chunks.
123 Benchmark operations on revlog chunks.
124 perfrevlogindex
124 perfrevlogindex
125 Benchmark operations against a revlog index.
125 Benchmark operations against a revlog index.
126 perfrevlogrevision
126 perfrevlogrevision
127 Benchmark obtaining a revlog revision.
127 Benchmark obtaining a revlog revision.
128 perfrevlogrevisions
128 perfrevlogrevisions
129 Benchmark reading a series of revisions from a revlog.
129 Benchmark reading a series of revisions from a revlog.
130 perfrevlogwrite
130 perfrevlogwrite
131 Benchmark writing a series of revisions to a revlog.
131 Benchmark writing a series of revisions to a revlog.
132 perfrevrange (no help text available)
132 perfrevrange (no help text available)
133 perfrevset benchmark the execution time of a revset
133 perfrevset benchmark the execution time of a revset
134 perfstartup (no help text available)
134 perfstartup (no help text available)
135 perfstatus (no help text available)
135 perfstatus (no help text available)
136 perftags (no help text available)
136 perftags (no help text available)
137 perftemplating
137 perftemplating
138 test the rendering time of a given template
138 test the rendering time of a given template
139 perfunidiff benchmark a unified diff between revisions
139 perfunidiff benchmark a unified diff between revisions
140 perfvolatilesets
140 perfvolatilesets
141 benchmark the computation of various volatile set
141 benchmark the computation of various volatile set
142 perfwalk (no help text available)
142 perfwalk (no help text available)
143 perfwrite microbenchmark ui.write
143 perfwrite microbenchmark ui.write
144
144
145 (use 'hg help -v perfstatusext' to show built-in aliases and global options)
145 (use 'hg help -v perf' to show built-in aliases and global options)
146 $ hg perfaddremove
146 $ hg perfaddremove
147 $ hg perfancestors
147 $ hg perfancestors
148 $ hg perfancestorset 2
148 $ hg perfancestorset 2
149 $ hg perfannotate a
149 $ hg perfannotate a
150 $ hg perfbdiff -c 1
150 $ hg perfbdiff -c 1
151 $ hg perfbdiff --alldata 1
151 $ hg perfbdiff --alldata 1
152 $ hg perfunidiff -c 1
152 $ hg perfunidiff -c 1
153 $ hg perfunidiff --alldata 1
153 $ hg perfunidiff --alldata 1
154 $ hg perfbookmarks
154 $ hg perfbookmarks
155 $ hg perfbranchmap
155 $ hg perfbranchmap
156 $ hg perfbranchmapload
156 $ hg perfbranchmapload
157 $ hg perfbranchmapupdate --base "not tip" --target "tip"
157 $ hg perfbranchmapupdate --base "not tip" --target "tip"
158 benchmark of branchmap with 3 revisions with 1 new ones
158 benchmark of branchmap with 3 revisions with 1 new ones
159 $ hg perfcca
159 $ hg perfcca
160 $ hg perfchangegroupchangelog
160 $ hg perfchangegroupchangelog
161 $ hg perfchangegroupchangelog --cgversion 01
161 $ hg perfchangegroupchangelog --cgversion 01
162 $ hg perfchangeset 2
162 $ hg perfchangeset 2
163 $ hg perfctxfiles 2
163 $ hg perfctxfiles 2
164 $ hg perfdiffwd
164 $ hg perfdiffwd
165 $ hg perfdirfoldmap
165 $ hg perfdirfoldmap
166 $ hg perfdirs
166 $ hg perfdirs
167 $ hg perfdirstate
167 $ hg perfdirstate
168 $ hg perfdirstatedirs
168 $ hg perfdirstatedirs
169 $ hg perfdirstatefoldmap
169 $ hg perfdirstatefoldmap
170 $ hg perfdirstatewrite
170 $ hg perfdirstatewrite
171 #if repofncache
171 #if repofncache
172 $ hg perffncacheencode
172 $ hg perffncacheencode
173 $ hg perffncacheload
173 $ hg perffncacheload
174 $ hg debugrebuildfncache
174 $ hg debugrebuildfncache
175 fncache already up to date
175 fncache already up to date
176 $ hg perffncachewrite
176 $ hg perffncachewrite
177 $ hg debugrebuildfncache
177 $ hg debugrebuildfncache
178 fncache already up to date
178 fncache already up to date
179 #endif
179 #endif
180 $ hg perfheads
180 $ hg perfheads
181 $ hg perfignore
181 $ hg perfignore
182 $ hg perfindex
182 $ hg perfindex
183 $ hg perflinelogedits -n 1
183 $ hg perflinelogedits -n 1
184 $ hg perfloadmarkers
184 $ hg perfloadmarkers
185 $ hg perflog
185 $ hg perflog
186 $ hg perflookup 2
186 $ hg perflookup 2
187 $ hg perflrucache
187 $ hg perflrucache
188 $ hg perfmanifest 2
188 $ hg perfmanifest 2
189 $ hg perfmanifest -m 44fe2c8352bb3a478ffd7d8350bbc721920134d1
189 $ hg perfmanifest -m 44fe2c8352bb3a478ffd7d8350bbc721920134d1
190 $ hg perfmanifest -m 44fe2c8352bb
190 $ hg perfmanifest -m 44fe2c8352bb
191 abort: manifest revision must be integer or full node
191 abort: manifest revision must be integer or full node
192 [255]
192 [255]
193 $ hg perfmergecalculate -r 3
193 $ hg perfmergecalculate -r 3
194 $ hg perfmoonwalk
194 $ hg perfmoonwalk
195 $ hg perfnodelookup 2
195 $ hg perfnodelookup 2
196 $ hg perfpathcopies 1 2
196 $ hg perfpathcopies 1 2
197 $ hg perfprogress --total 1000
197 $ hg perfprogress --total 1000
198 $ hg perfrawfiles 2
198 $ hg perfrawfiles 2
199 $ hg perfrevlogindex -c
199 $ hg perfrevlogindex -c
200 #if reporevlogstore
200 #if reporevlogstore
201 $ hg perfrevlogrevisions .hg/store/data/a.i
201 $ hg perfrevlogrevisions .hg/store/data/a.i
202 #endif
202 #endif
203 $ hg perfrevlogrevision -m 0
203 $ hg perfrevlogrevision -m 0
204 $ hg perfrevlogchunks -c
204 $ hg perfrevlogchunks -c
205 $ hg perfrevrange
205 $ hg perfrevrange
206 $ hg perfrevset 'all()'
206 $ hg perfrevset 'all()'
207 $ hg perfstartup
207 $ hg perfstartup
208 $ hg perfstatus
208 $ hg perfstatus
209 $ hg perftags
209 $ hg perftags
210 $ hg perftemplating
210 $ hg perftemplating
211 $ hg perfvolatilesets
211 $ hg perfvolatilesets
212 $ hg perfwalk
212 $ hg perfwalk
213 $ hg perfparents
213 $ hg perfparents
214 $ hg perfdiscovery -q .
214 $ hg perfdiscovery -q .
215
215
216 test actual output
216 test actual output
217 ------------------
217 ------------------
218
218
219 normal output:
219 normal output:
220
220
221 $ hg perfheads --config perf.stub=no
221 $ hg perfheads --config perf.stub=no
222 ! wall * comb * user * sys * (best of *) (glob)
222 ! wall * comb * user * sys * (best of *) (glob)
223
223
224 detailed output:
224 detailed output:
225
225
226 $ hg perfheads --config perf.all-timing=yes --config perf.stub=no
226 $ hg perfheads --config perf.all-timing=yes --config perf.stub=no
227 ! wall * comb * user * sys * (best of *) (glob)
227 ! wall * comb * user * sys * (best of *) (glob)
228 ! wall * comb * user * sys * (max of *) (glob)
228 ! wall * comb * user * sys * (max of *) (glob)
229 ! wall * comb * user * sys * (avg of *) (glob)
229 ! wall * comb * user * sys * (avg of *) (glob)
230 ! wall * comb * user * sys * (median of *) (glob)
230 ! wall * comb * user * sys * (median of *) (glob)
231
231
232 test json output
232 test json output
233 ----------------
233 ----------------
234
234
235 normal output:
235 normal output:
236
236
237 $ hg perfheads --template json --config perf.stub=no
237 $ hg perfheads --template json --config perf.stub=no
238 [
238 [
239 {
239 {
240 "comb": *, (glob)
240 "comb": *, (glob)
241 "count": *, (glob)
241 "count": *, (glob)
242 "sys": *, (glob)
242 "sys": *, (glob)
243 "user": *, (glob)
243 "user": *, (glob)
244 "wall": * (glob)
244 "wall": * (glob)
245 }
245 }
246 ]
246 ]
247
247
248 detailed output:
248 detailed output:
249
249
250 $ hg perfheads --template json --config perf.all-timing=yes --config perf.stub=no
250 $ hg perfheads --template json --config perf.all-timing=yes --config perf.stub=no
251 [
251 [
252 {
252 {
253 "avg.comb": *, (glob)
253 "avg.comb": *, (glob)
254 "avg.count": *, (glob)
254 "avg.count": *, (glob)
255 "avg.sys": *, (glob)
255 "avg.sys": *, (glob)
256 "avg.user": *, (glob)
256 "avg.user": *, (glob)
257 "avg.wall": *, (glob)
257 "avg.wall": *, (glob)
258 "comb": *, (glob)
258 "comb": *, (glob)
259 "count": *, (glob)
259 "count": *, (glob)
260 "max.comb": *, (glob)
260 "max.comb": *, (glob)
261 "max.count": *, (glob)
261 "max.count": *, (glob)
262 "max.sys": *, (glob)
262 "max.sys": *, (glob)
263 "max.user": *, (glob)
263 "max.user": *, (glob)
264 "max.wall": *, (glob)
264 "max.wall": *, (glob)
265 "median.comb": *, (glob)
265 "median.comb": *, (glob)
266 "median.count": *, (glob)
266 "median.count": *, (glob)
267 "median.sys": *, (glob)
267 "median.sys": *, (glob)
268 "median.user": *, (glob)
268 "median.user": *, (glob)
269 "median.wall": *, (glob)
269 "median.wall": *, (glob)
270 "sys": *, (glob)
270 "sys": *, (glob)
271 "user": *, (glob)
271 "user": *, (glob)
272 "wall": * (glob)
272 "wall": * (glob)
273 }
273 }
274 ]
274 ]
275
275
276 Check perf.py for historical portability
276 Check perf.py for historical portability
277 ----------------------------------------
277 ----------------------------------------
278
278
279 $ cd "$TESTDIR/.."
279 $ cd "$TESTDIR/.."
280
280
281 $ (testrepohg files -r 1.2 glob:mercurial/*.c glob:mercurial/*.py;
281 $ (testrepohg files -r 1.2 glob:mercurial/*.c glob:mercurial/*.py;
282 > testrepohg files -r tip glob:mercurial/*.c glob:mercurial/*.py) |
282 > testrepohg files -r tip glob:mercurial/*.c glob:mercurial/*.py) |
283 > "$TESTDIR"/check-perf-code.py contrib/perf.py
283 > "$TESTDIR"/check-perf-code.py contrib/perf.py
284 contrib/perf.py:\d+: (re)
284 contrib/perf.py:\d+: (re)
285 > from mercurial import (
285 > from mercurial import (
286 import newer module separately in try clause for early Mercurial
286 import newer module separately in try clause for early Mercurial
287 contrib/perf.py:\d+: (re)
287 contrib/perf.py:\d+: (re)
288 > from mercurial import (
288 > from mercurial import (
289 import newer module separately in try clause for early Mercurial
289 import newer module separately in try clause for early Mercurial
290 contrib/perf.py:\d+: (re)
290 contrib/perf.py:\d+: (re)
291 > origindexpath = orig.opener.join(orig.indexfile)
291 > origindexpath = orig.opener.join(orig.indexfile)
292 use getvfs()/getsvfs() for early Mercurial
292 use getvfs()/getsvfs() for early Mercurial
293 contrib/perf.py:\d+: (re)
293 contrib/perf.py:\d+: (re)
294 > origdatapath = orig.opener.join(orig.datafile)
294 > origdatapath = orig.opener.join(orig.datafile)
295 use getvfs()/getsvfs() for early Mercurial
295 use getvfs()/getsvfs() for early Mercurial
296 contrib/perf.py:\d+: (re)
296 contrib/perf.py:\d+: (re)
297 > vfs = vfsmod.vfs(tmpdir)
297 > vfs = vfsmod.vfs(tmpdir)
298 use getvfs()/getsvfs() for early Mercurial
298 use getvfs()/getsvfs() for early Mercurial
299 contrib/perf.py:\d+: (re)
299 contrib/perf.py:\d+: (re)
300 > vfs.options = getattr(orig.opener, 'options', None)
300 > vfs.options = getattr(orig.opener, 'options', None)
301 use getvfs()/getsvfs() for early Mercurial
301 use getvfs()/getsvfs() for early Mercurial
302 [1]
302 [1]
General Comments 0
You need to be logged in to leave comments. Login now