Mercurial > hg
annotate tests/test-check-config.t @ 39548:7ce9dea3a14a
localrepo: move repo creation logic out of localrepository.__init__ (API)
It has long bothered me that local repository creation is handled as
part of localrepository.__init__. Upcoming changes I want to make
around how repositories are initialized and instantiated will make
the continued existence of repository creation code in
localrepository.__init__ even more awkward.
localrepository instances are almost never constructed directly:
instead, callers are supposed to go through hg.repository() to obtain
a handle on a repository. And hg.repository() calls
localrepo.instance() to return a new repo instance.
This commit teaches localrepo.instance() to handle the create=True
logic. Most of the code for repo construction has been moved to a
standalone function. This allows extensions to monkeypatch the function
to further customize freshly-created repositories.
A few calls to localrepo.localrepository.__init__ that were passing
create=True were converted to call localrepo.instance().
.. api:: local repo creation moved out of constructor
``localrepo.localrepository.__init__`` no longer accepts a
``create`` argument to create a new repository. New repository
creation is now performed as part of ``localrepo.instance()``
and the bulk of the work is performed by
``localrepo.createrepository()``.
Differential Revision: https://phab.mercurial-scm.org/D4534
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 11 Sep 2018 13:46:59 -0700 |
parents | 4441705b7111 |
children | 5abc47d4ca6b |
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 |
7c11869cf23a
tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29219
diff
changeset
|
27 > mercurial/help/config.txt |
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 | |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
32851
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' | |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
32851
diff
changeset
|
47 > $PYTHON contrib/check-config.py |