Mercurial > hg
annotate tests/test-extension-timing.t @ 50888:93cc085653fb
run-tests: detect HGWITHRUSTEXT value
Without this, some manual check in tests/test-dirstate.t could get confused by
the lack of `rust` in module policy and break the test.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 30 Aug 2023 12:24:12 +0200 |
parents | 8cab8db59b6c |
children |
rev | line source |
---|---|
44619
8cab8db59b6c
tests: don't run couple of tests related to extensions loading with chg
Pulkit Goyal <7895pulkit@gmail.com>
parents:
40996
diff
changeset
|
1 #require no-chg |
8cab8db59b6c
tests: don't run couple of tests related to extensions loading with chg
Pulkit Goyal <7895pulkit@gmail.com>
parents:
40996
diff
changeset
|
2 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
3 Test basic extension support |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
4 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
5 $ cat > foobar.py <<EOF |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
6 > import os |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
7 > from mercurial import commands, registrar |
21254
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
20003
diff
changeset
|
8 > cmdtable = {} |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
9 > command = registrar.command(cmdtable) |
33132
c467d13334ee
configitems: add an official API for extensions to register config item
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
33099
diff
changeset
|
10 > configtable = {} |
c467d13334ee
configitems: add an official API for extensions to register config item
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
33099
diff
changeset
|
11 > configitem = registrar.configitem(configtable) |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
12 > configitem(b'tests', b'foo', default=b"Foo") |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
13 > def uisetup(ui): |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
14 > ui.debug(b"uisetup called [debug]\\n") |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
15 > ui.write(b"uisetup called\\n") |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
16 > ui.status(b"uisetup called [status]\\n") |
28612
6fb1d3c936d2
tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents:
27990
diff
changeset
|
17 > ui.flush() |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
18 > def reposetup(ui, repo): |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
19 > ui.write(b"reposetup called for %s\\n" % os.path.basename(repo.root)) |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
20 > ui.write(b"ui %s= repo.ui\\n" % (ui == repo.ui and b"=" or b"!")) |
28612
6fb1d3c936d2
tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents:
27990
diff
changeset
|
21 > ui.flush() |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
22 > @command(b'foo', [], b'hg foo') |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
23 > def foo(ui, *args, **kwargs): |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
24 > foo = ui.config(b'tests', b'foo') |
33132
c467d13334ee
configitems: add an official API for extensions to register config item
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
33099
diff
changeset
|
25 > ui.write(foo) |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
26 > ui.write(b"\\n") |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
27 > @command(b'bar', [], b'hg bar', norepo=True) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
28 > def bar(ui, *args, **kwargs): |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
29 > ui.write(b"Bar\\n") |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
30 > EOF |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
31 $ abspath=`pwd`/foobar.py |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
32 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
33 $ mkdir barfoo |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
34 $ cp foobar.py barfoo/__init__.py |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
35 $ barfoopath=`pwd`/barfoo |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
36 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
37 $ hg init a |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
38 $ cd a |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
39 $ echo foo > file |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
40 $ hg add file |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
41 $ hg commit -m 'add file' |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
42 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
43 $ echo '[extensions]' >> $HGRCPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
44 $ echo "foobar = $abspath" >> $HGRCPATH |
39507
a5d6bf6032fb
extensions: add timing for extensions reposetup
Boris Feld <boris.feld@octobus.net>
parents:
39221
diff
changeset
|
45 |
40996
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
46 $ filterlog () { |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
47 > sed -e 's!^[0-9/]* [0-9:]* ([0-9]*)>!YYYY/MM/DD HH:MM:SS (PID)>!' |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
48 > } |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
49 |
39507
a5d6bf6032fb
extensions: add timing for extensions reposetup
Boris Feld <boris.feld@octobus.net>
parents:
39221
diff
changeset
|
50 Test extension setup timings |
a5d6bf6032fb
extensions: add timing for extensions reposetup
Boris Feld <boris.feld@octobus.net>
parents:
39221
diff
changeset
|
51 |
40996
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
52 $ hg foo --traceback --config devel.debug.extensions=yes --debug 2>&1 | filterlog |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
53 YYYY/MM/DD HH:MM:SS (PID)> loading extensions |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
54 YYYY/MM/DD HH:MM:SS (PID)> - processing 1 entries |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
55 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: foobar |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
56 YYYY/MM/DD HH:MM:SS (PID)> > foobar extension loaded in * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
57 YYYY/MM/DD HH:MM:SS (PID)> - validating extension tables: foobar |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
58 YYYY/MM/DD HH:MM:SS (PID)> - invoking registered callbacks: foobar |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
59 YYYY/MM/DD HH:MM:SS (PID)> > callbacks completed in * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
60 YYYY/MM/DD HH:MM:SS (PID)> > loaded 1 extensions, total time * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
61 YYYY/MM/DD HH:MM:SS (PID)> - loading configtable attributes |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
62 YYYY/MM/DD HH:MM:SS (PID)> - executing uisetup hooks |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
63 YYYY/MM/DD HH:MM:SS (PID)> - running uisetup for foobar |
39507
a5d6bf6032fb
extensions: add timing for extensions reposetup
Boris Feld <boris.feld@octobus.net>
parents:
39221
diff
changeset
|
64 uisetup called [debug] |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
65 uisetup called |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
66 uisetup called [status] |
40996
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
67 YYYY/MM/DD HH:MM:SS (PID)> > uisetup for foobar took * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
68 YYYY/MM/DD HH:MM:SS (PID)> > all uisetup took * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
69 YYYY/MM/DD HH:MM:SS (PID)> - executing extsetup hooks |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
70 YYYY/MM/DD HH:MM:SS (PID)> - running extsetup for foobar |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
71 YYYY/MM/DD HH:MM:SS (PID)> > extsetup for foobar took * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
72 YYYY/MM/DD HH:MM:SS (PID)> > all extsetup took * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
73 YYYY/MM/DD HH:MM:SS (PID)> - executing remaining aftercallbacks |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
74 YYYY/MM/DD HH:MM:SS (PID)> > remaining aftercallbacks completed in * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
75 YYYY/MM/DD HH:MM:SS (PID)> - loading extension registration objects |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
76 YYYY/MM/DD HH:MM:SS (PID)> > extension registration object loading took * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
77 YYYY/MM/DD HH:MM:SS (PID)> > extension foobar take a total of * to load (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
78 YYYY/MM/DD HH:MM:SS (PID)> extension loading complete |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
79 YYYY/MM/DD HH:MM:SS (PID)> loading additional extensions |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
80 YYYY/MM/DD HH:MM:SS (PID)> - processing 1 entries |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
81 YYYY/MM/DD HH:MM:SS (PID)> > loaded 0 extensions, total time * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
82 YYYY/MM/DD HH:MM:SS (PID)> - loading configtable attributes |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
83 YYYY/MM/DD HH:MM:SS (PID)> - executing uisetup hooks |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
84 YYYY/MM/DD HH:MM:SS (PID)> > all uisetup took * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
85 YYYY/MM/DD HH:MM:SS (PID)> - executing extsetup hooks |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
86 YYYY/MM/DD HH:MM:SS (PID)> > all extsetup took * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
87 YYYY/MM/DD HH:MM:SS (PID)> - executing remaining aftercallbacks |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
88 YYYY/MM/DD HH:MM:SS (PID)> > remaining aftercallbacks completed in * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
89 YYYY/MM/DD HH:MM:SS (PID)> - loading extension registration objects |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
90 YYYY/MM/DD HH:MM:SS (PID)> > extension registration object loading took * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
91 YYYY/MM/DD HH:MM:SS (PID)> extension loading complete |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
92 YYYY/MM/DD HH:MM:SS (PID)> - executing reposetup hooks |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
93 YYYY/MM/DD HH:MM:SS (PID)> - running reposetup for foobar |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
94 reposetup called for a |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
95 ui == repo.ui |
40996
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
96 YYYY/MM/DD HH:MM:SS (PID)> > reposetup for foobar took * (glob) |
6f2510b581a0
extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents:
40440
diff
changeset
|
97 YYYY/MM/DD HH:MM:SS (PID)> > all reposetup took * (glob) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
98 Foo |
33939
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
99 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
100 $ cd .. |
9661
c4f6c02e33c4
hgweb: added test case for extension loading phases (issue1824)
Yuya Nishihara <yuya@tcha.org>
parents:
9410
diff
changeset
|
101 |
39507
a5d6bf6032fb
extensions: add timing for extensions reposetup
Boris Feld <boris.feld@octobus.net>
parents:
39221
diff
changeset
|
102 $ echo 'foobar = !' >> $HGRCPATH |