annotate tests/test-identify.t @ 32383:f928d53b687c stable

dispatch: setup color before pager for correct console information on windows Before this patch, "hg CMD --pager on" on Windows shows output unintentionally decorated with ANSI color escape sequences, if color mode is "auto". This issue occurs in steps below. 1. dispatch() invokes ui.pager() at detection of "--pager on" 2. stdout of hg process is redirected into stdin of pager process 3. "ui.formatted" = True, because isatty(stdout) is so before (2) 4. color module is loaded for colorization 5. color.w32effects = None, because GetConsoleScreenBufferInfo() fails on stdout redirected at (2) 6. "ansi" color mode is chosen, because of "not w32effects" 7. output is colorized in "ansi" mode because of "ui.formatted" = True Even if "ansi" color mode is chosen, ordinarily redirected stdout makes ui.formatted() return False, and colorization is avoided. But in this issue case, "ui.formatted" = True at (3) forces output to be colorized. For correct console information on win32, it is needed to ensure that color module is loaded before redirection of stdout for pagination. BTW, if any of enabled extensions has "colortable" attribute, this issue is avoided even before this patch, because color module is imported as a part of loading such extension, and extension loading occurs before setting up pager. For example, mq and keyword have "colortable".
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Tue, 23 May 2017 03:29:23 +0900
parents 4b0fc75f9403
children 15a79ac823e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21188
diff changeset
1 #require serve
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
2
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
3 #if no-outer-repo
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
4
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
5 no repo
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
6
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
7 $ hg id
12070
fddacca3202e Merge with stable
Martin Geisler <mg@lazybytes.net>
parents: 11796
diff changeset
8 abort: there is no Mercurial repository here (.hg not found)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12070
diff changeset
9 [255]
7830
55bd03e2e13c test-identify: require no-outer-repo
Mads Kiilerich <mads@kiilerich.com>
parents: 7759
diff changeset
10
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
11 #endif
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
12
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
13 create repo
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
14
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
15 $ hg init test
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
16 $ cd test
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
17 $ echo a > a
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
18 $ hg ci -Ama
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
19 adding a
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
20
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
21 basic id usage
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
22
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
23 $ hg id
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
24 cb9a9f314b8b tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
25 $ hg id --debug
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
26 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
27 $ hg id -q
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
28 cb9a9f314b8b
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
29 $ hg id -v
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
30 cb9a9f314b8b tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
31
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
32 with options
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
33
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
34 $ hg id -r.
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
35 cb9a9f314b8b tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
36 $ hg id -n
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
37 0
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
38 $ hg id -t
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
39 tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
40 $ hg id -b
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
41 default
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
42 $ hg id -i
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
43 cb9a9f314b8b
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
44 $ hg id -n -t -b -i
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
45 cb9a9f314b8b 0 default tip
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
46
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
47 with modifications
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
48
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
49 $ echo b > a
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
50 $ hg id -n -t -b -i
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
51 cb9a9f314b8b+ 0+ default tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
52
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
53 other local repo
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
54
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
55 $ cd ..
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
56 $ hg -R test id
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
57 cb9a9f314b8b+ tip
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
58 #if no-outer-repo
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
59 $ hg id test
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
60 cb9a9f314b8b+ tip
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
61 #endif
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
62
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
63 with remote http repo
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
64
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
65 $ cd test
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
66 $ hg serve -p $HGPORT1 -d --pid-file=hg.pid
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
67 $ cat hg.pid >> $DAEMON_PIDS
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
68 $ hg id http://localhost:$HGPORT1/
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
69 cb9a9f314b8b
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
70
13477
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
71 remote with rev number?
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
72
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
73 $ hg id -n http://localhost:$HGPORT1/
13644
7e6c2f58ad56 identify: list bookmarks for remote repositories
Nils Adermann <naderman@naderman.de>
parents: 13477
diff changeset
74 abort: can't query remote revision number, branch, or tags
13477
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
75 [255]
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
76
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
77 remote with tags?
7759
50baf8215942 tests: fix for test-identify returning 255
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7757
diff changeset
78
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
79 $ hg id -t http://localhost:$HGPORT1/
13644
7e6c2f58ad56 identify: list bookmarks for remote repositories
Nils Adermann <naderman@naderman.de>
parents: 13477
diff changeset
80 abort: can't query remote revision number, branch, or tags
13477
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
81 [255]
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
82
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
83 remote with branch?
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
84
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
85 $ hg id -b http://localhost:$HGPORT1/
13644
7e6c2f58ad56 identify: list bookmarks for remote repositories
Nils Adermann <naderman@naderman.de>
parents: 13477
diff changeset
86 abort: can't query remote revision number, branch, or tags
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12070
diff changeset
87 [255]
13447
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
88
13645
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
89 test bookmark support
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
90
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
91 $ hg bookmark Y
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
92 $ hg bookmark Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
93 $ hg bookmarks
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
94 Y 0:cb9a9f314b8b
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
95 * Z 0:cb9a9f314b8b
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
96 $ hg id
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
97 cb9a9f314b8b+ tip Y/Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
98 $ hg id --bookmarks
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
99 Y Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
100
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
101 test remote identify with bookmarks
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
102
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
103 $ hg id http://localhost:$HGPORT1/
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
104 cb9a9f314b8b Y/Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
105 $ hg id --bookmarks http://localhost:$HGPORT1/
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
106 Y Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
107 $ hg id -r . http://localhost:$HGPORT1/
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
108 cb9a9f314b8b Y/Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
109 $ hg id --bookmarks -r . http://localhost:$HGPORT1/
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
110 Y Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
111
21188
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
112 test invalid lookup
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
113
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
114 $ hg id -r noNoNO http://localhost:$HGPORT1/
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
115 abort: unknown revision 'noNoNO'!
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
116 [255]
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
117
13447
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
118 Make sure we do not obscure unknown requires file entries (issue2649)
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
119
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
120 $ echo fake >> .hg/requires
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
121 $ hg id
20820
f8e531a3a77c repo: rephrase the "missing requirement" error message
Mads Kiilerich <madski@unity3d.com>
parents: 20715
diff changeset
122 abort: repository requires features unknown to this Mercurial: fake!
26421
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
123 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
13447
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
124 [255]
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
125
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
126 $ cd ..
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
127 #if no-outer-repo
13447
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
128 $ hg id test
20820
f8e531a3a77c repo: rephrase the "missing requirement" error message
Mads Kiilerich <madski@unity3d.com>
parents: 20715
diff changeset
129 abort: repository requires features unknown to this Mercurial: fake!
26421
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
130 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
13447
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
131 [255]
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
132 #endif