Mercurial > hg
annotate tests/test-extdata.t @ 42194:0da689a60163
fix: allow fixer tools to return metadata in addition to the file content
With this change, fixer tools can be configured to output a JSON object that
will be parsed and passed to hooks that can be used to print summaries of what
code was formatted or perform other post-fixing work.
The motivation for this change is to allow parallel executions of a
"meta-formatter" tool to report back statistics, which are then aggregated and
processed after all formatting has completed. Providing an extensible mechanism
inside fix.py is far simpler, and more portable, than trying to make a tool
like this communicate through some other channel.
Differential Revision: https://phab.mercurial-scm.org/D6167
author | Danny Hooper <hooper@google.com> |
---|---|
date | Thu, 21 Mar 2019 18:32:45 -0700 |
parents | faa41fd282d1 |
children | eec65b706caf |
rev | line source |
---|---|
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
1 $ hg init repo |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
2 $ cd repo |
34459
d5c5cc767b7e
extdata: ignore ambiguous identifier as well
Yuya Nishihara <yuya@tcha.org>
parents:
34458
diff
changeset
|
3 $ for n in 0 1 2 3 4 5 6 7 8 9 10 11; do |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
4 > echo $n > $n |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
5 > hg ci -qAm $n |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
6 > done |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
7 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
8 test revset support |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
9 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
10 $ cat <<'EOF' >> .hg/hgrc |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
11 > [extdata] |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
12 > filedata = file:extdata.txt |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
13 > notes = notes.txt |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
14 > shelldata = shell:cat extdata.txt | grep 2 |
34542
153e4e05e9b3
extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org>
parents:
34459
diff
changeset
|
15 > emptygrep = shell:cat extdata.txt | grep empty |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
16 > EOF |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
17 $ cat <<'EOF' > extdata.txt |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
18 > 2 another comment on 2 |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
19 > 3 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
20 > EOF |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
21 $ cat <<'EOF' > notes.txt |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
22 > f6ed this change is great! |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
23 > e834 this is buggy :( |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
24 > 0625 first post |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
25 > bogusnode gives no error |
34459
d5c5cc767b7e
extdata: ignore ambiguous identifier as well
Yuya Nishihara <yuya@tcha.org>
parents:
34458
diff
changeset
|
26 > a ambiguous node gives no error |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
27 > EOF |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
28 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
29 $ hg log -qr "extdata(filedata)" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
30 2:f6ed99a58333 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
31 3:9de260b1e88e |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
32 $ hg log -qr "extdata(shelldata)" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
33 2:f6ed99a58333 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
34 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
35 test weight of extdata() revset |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
36 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
37 $ hg debugrevspec -p optimized "extdata(filedata) & 3" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
38 * optimized: |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
39 (andsmally |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
40 (func |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
41 (symbol 'extdata') |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
42 (symbol 'filedata')) |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
43 (symbol '3')) |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
44 3 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
45 |
34542
153e4e05e9b3
extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org>
parents:
34459
diff
changeset
|
46 test non-zero exit of shell command |
153e4e05e9b3
extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org>
parents:
34459
diff
changeset
|
47 |
153e4e05e9b3
extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org>
parents:
34459
diff
changeset
|
48 $ hg log -qr "extdata(emptygrep)" |
35412
b1959391a088
extdata: abort if external command exits with non-zero status (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
35230
diff
changeset
|
49 abort: extdata command 'cat extdata.txt | grep empty' failed: exited with status 1 |
b1959391a088
extdata: abort if external command exits with non-zero status (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
35230
diff
changeset
|
50 [255] |
34542
153e4e05e9b3
extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org>
parents:
34459
diff
changeset
|
51 |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
52 test bad extdata() revset source |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
53 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
54 $ hg log -qr "extdata()" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
55 hg: parse error: extdata takes at least 1 string argument |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
56 [255] |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
57 $ hg log -qr "extdata(unknown)" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
58 abort: unknown extdata source 'unknown' |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
59 [255] |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
60 |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
61 test template support: |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
62 |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
63 $ hg log -r:3 -T "{node|short}{if(extdata('notes'), ' # {extdata('notes')}')}\n" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
64 06254b906311 # first post |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
65 e8342c9a2ed1 # this is buggy :( |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
66 f6ed99a58333 # this change is great! |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
67 9de260b1e88e |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
68 |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
69 test template cache: |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
70 |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
71 $ hg log -r:3 -T '{rev} "{extdata("notes")}" "{extdata("shelldata")}"\n' |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
72 0 "first post" "" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
73 1 "this is buggy :(" "" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
74 2 "this change is great!" "another comment on 2" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
75 3 "" "" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
76 |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
77 test bad extdata() template source |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
78 |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
79 $ hg log -T "{extdata()}\n" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
80 hg: parse error: extdata expects one argument |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
81 [255] |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
82 $ hg log -T "{extdata('unknown')}\n" |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
83 abort: unknown extdata source 'unknown' |
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
84 [255] |
37931
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
85 $ hg log -T "{extdata(unknown)}\n" |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
86 hg: parse error: empty data source specified |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
87 (did you mean extdata('unknown')?) |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
88 [255] |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
89 $ hg log -T "{extdata('{unknown}')}\n" |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
90 hg: parse error: empty data source specified |
faa41fd282d1
templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
Yuya Nishihara <yuya@tcha.org>
parents:
35412
diff
changeset
|
91 [255] |
34458
a1b89c8ad32d
templater: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
34457
diff
changeset
|
92 |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
93 we don't fix up relative file URLs, but we do run shell commands in repo root |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
94 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
95 $ mkdir sub |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
96 $ cd sub |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
97 $ hg log -qr "extdata(filedata)" |
35230
feecfefeba25
tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents:
34690
diff
changeset
|
98 abort: error: $ENOENT$ |
34457
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
99 [255] |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
100 $ hg log -qr "extdata(shelldata)" |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
101 2:f6ed99a58333 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
102 |
2c3b8fa3211b
revset: add experimental support for extdata
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
103 $ cd .. |