Mercurial > hg
annotate tests/test-check-config.t @ 47072:4c041c71ec01
revlog: introduce an explicit tracking of what the revlog is about
Since the dawn of time, people have been forced to rely to lossy introspection
of the index filename to determine what the purpose and role of the revlog they
encounter is. This is hacky, error prone, inflexible, abstraction-leaky,
<insert-your-own-complaints-here>.
In f63299ee7e4d Raphaël introduced a new attribute to track this information:
`revlog_kind`. However it is initialized in an odd place and various instances
end up not having it set. In addition is only tracking some of the information
we end up having to introspect in various pieces of code.
So we add a new attribute that holds more data and is more strictly enforced.
This work is done in collaboration with Raphaël.
The `revlog_kind` one will be removed/adapted in the next changeset. We expect
to be able to clean up various existing piece of code and to simplify coming
work around the newer revlog format.
Differential Revision: https://phab.mercurial-scm.org/D10352
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 06 Apr 2021 05:20:24 +0200 |
parents | 2e017696181f |
children |
rev | line source |
---|---|
25854 | 1 #require test-repo |
2 | |
29219
3c9066ed557c
tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents:
27992
diff
changeset
|
3 $ . "$TESTDIR/helpers-testrepo.sh" |
32846
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
4 |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
5 Sanity check check-config.py |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
6 |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
7 $ cat > testfile.py << EOF |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
8 > # Good |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
9 > foo = ui.config('ui', 'username') |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
10 > # Missing |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
11 > foo = ui.config('ui', 'doesnotexist') |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
12 > # Missing different type |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
13 > foo = ui.configint('ui', 'missingint') |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
14 > # Missing with default value |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
15 > foo = ui.configbool('ui', 'missingbool1', default=True) |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
16 > foo = ui.configbool('ui', 'missingbool2', False) |
33195
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
17 > # Inconsistent values for defaults. |
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
18 > foo = ui.configint('ui', 'intdefault', default=1) |
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
19 > foo = ui.configint('ui', 'intdefault', default=42) |
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
20 > # Can suppress inconsistent value error |
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
21 > foo = ui.configint('ui', 'intdefault2', default=1) |
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
22 > # inconsistent config: ui.intdefault2 |
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
23 > foo = ui.configint('ui', 'intdefault2', default=42) |
32846
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
24 > EOF |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
25 |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
26 $ cat > files << EOF |
43632
2e017696181f
help: create packages for the help text
Matt Harbison <matt_harbison@yahoo.com>
parents:
39707
diff
changeset
|
27 > mercurial/helptext/config.txt |
32846
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
28 > $TESTTMP/testfile.py |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
29 > EOF |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
30 |
25854 | 31 $ cd "$TESTDIR"/.. |
32 | |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
33 $ "$PYTHON" contrib/check-config.py < $TESTTMP/files |
33195
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
34 foo = ui.configint('ui', 'intdefault', default=42) |
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
35 conflict on ui.intdefault: ('int', '42') != ('int', '1') |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33570
diff
changeset
|
36 at $TESTTMP/testfile.py:12: |
32846
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
37 undocumented: ui.doesnotexist (str) |
33195
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
38 undocumented: ui.intdefault (int) [42] |
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
39 undocumented: ui.intdefault2 (int) [42] |
32846
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
40 undocumented: ui.missingbool1 (bool) [True] |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
41 undocumented: ui.missingbool2 (bool) |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
42 undocumented: ui.missingint (int) |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
43 |
25854 | 44 New errors are not allowed. Warnings are strongly discouraged. |
45 | |
33204
ddd65b4f3ae6
tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents:
33195
diff
changeset
|
46 $ testrepohg files "set:(**.py or **.txt) - tests/**" | sed 's|\\|/|g' | |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
47 > "$PYTHON" contrib/check-config.py |