Mercurial > hg
annotate tests/test-check-config.t @ 33198:36b3febd739f
phabricator: add a contrib script
The default Phabricator client arcanist is not friendly to send a stack of
changesets. It works better when a feature branch is reviewed as a single
review unit. However, we want multiple revisions per feature branch.
To be able to have an `hg email`-like UX to send and receive a stack of
commits easily, it seems we have to re-invent things. This patch adds
`phabricator.py` speaking Conduit API [1] in `contrib` as the first step.
This may also be an option for people who don't want to run PHP.
Config could be done in `hgrc` (instead of `arcrc` or `arcconfig`):
[phabricator]
# API token. Get it from https://phab.mercurial-scm.org/conduit/login/
token = cli-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
url = https://phab.mercurial-scm.org/
# callsign is used by the next patch
callsign = HG
This patch only adds a single command: `debugcallconduit` to keep the patch
size small. To test it, having the above config, and run:
$ hg debugcallconduit diffusion.repository.search <<EOF
> {"constraints": {"callsigns": ["HG"]}}
> EOF
The result will be printed in prettified JSON format.
[1]: Conduit APIs are listed at https://phab.mercurial-scm.org/conduit/
author | Jun Wu <quark@fb.com> |
---|---|
date | Sun, 02 Jul 2017 20:08:09 -0700 |
parents | 5d8942dbe49e |
children | ddd65b4f3ae6 |
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 |
5d8942dbe49e
check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33116
diff
changeset
|
36 conflict on ui.intdefault: ('int', '42') != ('int', '1') |
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 | |
33116
6c113a7dec52
tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents:
32940
diff
changeset
|
46 $ syshg 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 |