annotate tests/test-pager.t @ 33116:6c113a7dec52

tests: use the system hg for examining the local repository Most test scripts use "hg" to interact with a temporary test repository. However a few tests also want to run hg commands to interact with the local repository containing the mercurial source code. Notably, many of the test-check-* tests want to check local files and commit messages. These tests were previously using the version of hg being tested to query the source repository. However, this will fail if the source repository requires extensions or other settings not supported by the version of mercurial being tested. The source repository was typically initially cloned using the system hg installation, so we should use the system hg installation to query it. There was already a helpers-testrepo.sh script designed to help cope with different requirements for the source repository versus the test repositories. However, it only handled the evolve extension. This new behavior works with any extensions that are different between the system installation and the test installation.
author Adam Simpkins <simpkins@fb.com>
date Tue, 27 Jun 2017 17:24:31 -0700
parents fce4ed2912bb
children cc047a733f69
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
1 $ cat >> fakepager.py <<EOF
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
2 > import sys
32541
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
3 > printed = False
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
4 > for line in sys.stdin:
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
5 > sys.stdout.write('paged! %r\n' % line)
32541
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
6 > printed = True
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
7 > if not printed:
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
8 > sys.stdout.write('paged empty output!\n')
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
9 > EOF
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
10
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
11 Enable ui.formatted because pager won't fire without it, and set up
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
12 pager and tell it to use our fake pager that lets us see when the
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
13 pager was running.
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
14 $ cat >> $HGRCPATH <<EOF
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
15 > [ui]
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
16 > formatted = yes
32026
57042e91521a color: turn on by default (but for windows)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32025
diff changeset
17 > color = no
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
18 > [pager]
32940
75be14993fda cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents: 32541
diff changeset
19 > pager = $PYTHON $TESTTMP/fakepager.py
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
20 > EOF
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
21
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
22 $ hg init repo
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
23 $ cd repo
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
24 $ echo a >> a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
25 $ hg add a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
26 $ hg ci -m 'add a'
32940
75be14993fda cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents: 32541
diff changeset
27 $ for x in `$PYTHON $TESTDIR/seq.py 1 10`; do
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
28 > echo a $x >> a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
29 > hg ci -m "modify a $x"
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
30 > done
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
31
30944
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30942
diff changeset
32 By default diff and log are paged, but id is not:
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
33
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
34 $ hg diff -c 2 --pager=yes
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
35 paged! 'diff -r f4be7687d414 -r bce265549556 a\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
36 paged! '--- a/a\tThu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
37 paged! '+++ b/a\tThu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
38 paged! '@@ -1,2 +1,3 @@\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
39 paged! ' a\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
40 paged! ' a 1\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
41 paged! '+a 2\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
42
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
43 $ hg log --limit 2
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
44 paged! 'changeset: 10:46106edeeb38\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
45 paged! 'tag: tip\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
46 paged! 'user: test\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
47 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
48 paged! 'summary: modify a 10\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
49 paged! '\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
50 paged! 'changeset: 9:6dd8ea7dd621\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
51 paged! 'user: test\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
52 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
53 paged! 'summary: modify a 9\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
54 paged! '\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
55
30944
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30942
diff changeset
56 $ hg id
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30942
diff changeset
57 46106edeeb38 tip
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
58
32098
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
59 We can control the pager from the config
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
60
32104
f06d23af6cdf pager: rename 'pager.enable' to 'ui.paginate'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32103
diff changeset
61 $ hg log --limit 1 --config 'ui.paginate=False'
32098
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
62 changeset: 10:46106edeeb38
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
63 tag: tip
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
64 user: test
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
65 date: Thu Jan 01 00:00:00 1970 +0000
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
66 summary: modify a 10
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
67
32104
f06d23af6cdf pager: rename 'pager.enable' to 'ui.paginate'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32103
diff changeset
68 $ hg log --limit 1 --config 'ui.paginate=0'
32098
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
69 changeset: 10:46106edeeb38
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
70 tag: tip
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
71 user: test
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
72 date: Thu Jan 01 00:00:00 1970 +0000
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
73 summary: modify a 10
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
74
32104
f06d23af6cdf pager: rename 'pager.enable' to 'ui.paginate'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32103
diff changeset
75 $ hg log --limit 1 --config 'ui.paginate=1'
32098
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
76 paged! 'changeset: 10:46106edeeb38\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
77 paged! 'tag: tip\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
78 paged! 'user: test\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
79 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
80 paged! 'summary: modify a 10\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
81 paged! '\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
82
30944
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30942
diff changeset
83 We can enable the pager on id:
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
84
31405
d5eb20934c36 tests: duplicate test for pager for old extension and for in-core pager
Martin von Zweigbergk <martinvonz@google.com>
parents: 31079
diff changeset
85 BROKEN: should be paged
30944
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30942
diff changeset
86 $ hg --config pager.attend-id=yes id
31405
d5eb20934c36 tests: duplicate test for pager for old extension and for in-core pager
Martin von Zweigbergk <martinvonz@google.com>
parents: 31079
diff changeset
87 46106edeeb38 tip
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
88
30996
cc3c9b6f1e09 tests: clean up a bunch of pager testing that is about to be invalidated
Augie Fackler <augie@google.com>
parents: 30944
diff changeset
89 Setting attend-$COMMAND to a false value works, even with pager in
cc3c9b6f1e09 tests: clean up a bunch of pager testing that is about to be invalidated
Augie Fackler <augie@google.com>
parents: 30944
diff changeset
90 core:
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
91 $ hg --config pager.attend-diff=no diff -c 2
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
92 diff -r f4be7687d414 -r bce265549556 a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
93 --- a/a Thu Jan 01 00:00:00 1970 +0000
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
94 +++ b/a Thu Jan 01 00:00:00 1970 +0000
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
95 @@ -1,2 +1,3 @@
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
96 a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
97 a 1
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
98 +a 2
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
99
32072
05cdd5678c6b tests: drop unnecessary pager attend in test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32026
diff changeset
100 Command aliases should have same behavior as main command
05cdd5678c6b tests: drop unnecessary pager attend in test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32026
diff changeset
101
05cdd5678c6b tests: drop unnecessary pager attend in test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32026
diff changeset
102 $ hg history --limit 2
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
103 paged! 'changeset: 10:46106edeeb38\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
104 paged! 'tag: tip\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
105 paged! 'user: test\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
106 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
107 paged! 'summary: modify a 10\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
108 paged! '\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
109 paged! 'changeset: 9:6dd8ea7dd621\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
110 paged! 'user: test\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
111 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
112 paged! 'summary: modify a 9\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
113 paged! '\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
114
32073
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
115 Abbreviated command alias should also be paged
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
116
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
117 $ hg hist -l 1
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
118 paged! 'changeset: 10:46106edeeb38\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
119 paged! 'tag: tip\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
120 paged! 'user: test\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
121 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
122 paged! 'summary: modify a 10\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
123 paged! '\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
124
32074
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
125 Attend for an abbreviated command does not work
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
126
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
127 $ hg --config pager.attend-ident=true ident
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
128 46106edeeb38 tip
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
129
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
130 $ hg --config extensions.pager= --config pager.attend-ident=true ident
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
131 46106edeeb38 tip
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
132
30847
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
133 Pager should not start if stdout is not a tty.
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
134
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
135 $ hg log -l1 -q --config ui.formatted=False
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
136 10:46106edeeb38
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
137
31079
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31000
diff changeset
138 Pager should be disabled if pager.pager is empty (otherwise the output would
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31000
diff changeset
139 be silently lost.)
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31000
diff changeset
140
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31000
diff changeset
141 $ hg log -l1 -q --config pager.pager=
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31000
diff changeset
142 10:46106edeeb38
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31000
diff changeset
143
28531
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
144 Pager with color enabled allows colors to come through by default,
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
145 even though stdout is no longer a tty.
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
146 $ cat >> $HGRCPATH <<EOF
32025
d323d9e0d7b4 pager: stop using the color extension in tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31954
diff changeset
147 > [ui]
32103
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
148 > color = always
28531
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
149 > [color]
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
150 > mode = ansi
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
151 > EOF
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
152 $ hg log --limit 3
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
153 paged! '\x1b[0;33mchangeset: 10:46106edeeb38\x1b[0m\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
154 paged! 'tag: tip\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
155 paged! 'user: test\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
156 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
157 paged! 'summary: modify a 10\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
158 paged! '\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
159 paged! '\x1b[0;33mchangeset: 9:6dd8ea7dd621\x1b[0m\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
160 paged! 'user: test\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
161 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
162 paged! 'summary: modify a 9\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
163 paged! '\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
164 paged! '\x1b[0;33mchangeset: 8:cff05a6312fe\x1b[0m\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
165 paged! 'user: test\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
166 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
167 paged! 'summary: modify a 8\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
168 paged! '\n'
29132
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
169
31478
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
170 An invalid pager command name is reported sensibly if we don't have to
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
171 use shell=True in the subprocess call:
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
172 $ hg log --limit 3 --config pager.pager=this-command-better-never-exist
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
173 missing pager command 'this-command-better-never-exist', skipping pager
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
174 \x1b[0;33mchangeset: 10:46106edeeb38\x1b[0m (esc)
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
175 tag: tip
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
176 user: test
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
177 date: Thu Jan 01 00:00:00 1970 +0000
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
178 summary: modify a 10
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
179
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
180 \x1b[0;33mchangeset: 9:6dd8ea7dd621\x1b[0m (esc)
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
181 user: test
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
182 date: Thu Jan 01 00:00:00 1970 +0000
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
183 summary: modify a 9
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
184
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
185 \x1b[0;33mchangeset: 8:cff05a6312fe\x1b[0m (esc)
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
186 user: test
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
187 date: Thu Jan 01 00:00:00 1970 +0000
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
188 summary: modify a 8
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
189
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
190
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
191 A complicated pager command gets worse behavior. Bonus points if you can
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
192 improve this.
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
193 $ hg log --limit 3 \
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
194 > --config pager.pager='this-command-better-never-exist --seriously' \
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
195 > 2>/dev/null || true
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
196
29132
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
197 Pager works with shell aliases.
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
198
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
199 $ cat >> $HGRCPATH <<EOF
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
200 > [alias]
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
201 > echoa = !echo a
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
202 > EOF
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
203
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
204 $ hg echoa
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
205 a
31405
d5eb20934c36 tests: duplicate test for pager for old extension and for in-core pager
Martin von Zweigbergk <martinvonz@google.com>
parents: 31079
diff changeset
206 BROKEN: should be paged
29132
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
207 $ hg --config pager.attend-echoa=yes echoa
31405
d5eb20934c36 tests: duplicate test for pager for old extension and for in-core pager
Martin von Zweigbergk <martinvonz@google.com>
parents: 31079
diff changeset
208 a
29343
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
209
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
210 Pager works with hg aliases including environment variables.
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
211
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
212 $ cat >> $HGRCPATH <<'EOF'
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
213 > [alias]
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
214 > printa = log -T "$A\n" -r 0
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
215 > EOF
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
216
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
217 $ A=1 hg --config pager.attend-printa=yes printa
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
218 paged! '1\n'
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
219 $ A=2 hg --config pager.attend-printa=yes printa
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
220 paged! '2\n'
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
221
30942
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
222 Something that's explicitly attended is still not paginated if the
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
223 pager is globally set to off using a flag:
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
224 $ A=2 hg --config pager.attend-printa=yes printa --pager=no
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
225 2
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
226
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
227 Pager should not override the exit code of other commands
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
228
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
229 $ cat >> $TESTTMP/fortytwo.py <<'EOF'
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 32104
diff changeset
230 > from mercurial import commands, registrar
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
231 > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 32104
diff changeset
232 > command = registrar.command(cmdtable)
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
233 > @command(b'fortytwo', [], 'fortytwo', norepo=True)
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
234 > def fortytwo(ui, *opts):
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
235 > ui.write('42\n')
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
236 > return 42
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
237 > EOF
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
238
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
239 $ cat >> $HGRCPATH <<'EOF'
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
240 > [extensions]
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
241 > fortytwo = $TESTTMP/fortytwo.py
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
242 > EOF
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
243
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
244 $ hg fortytwo --pager=on
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
245 paged! '42\n'
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
246 [42]
30999
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
247
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
248 A command that asks for paging using ui.pager() directly works:
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
249 $ hg blame a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
250 paged! ' 0: a\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
251 paged! ' 1: a 1\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
252 paged! ' 2: a 2\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
253 paged! ' 3: a 3\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
254 paged! ' 4: a 4\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
255 paged! ' 5: a 5\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
256 paged! ' 6: a 6\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
257 paged! ' 7: a 7\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
258 paged! ' 8: a 8\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
259 paged! ' 9: a 9\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
260 paged! '10: a 10\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
261 but not with HGPLAIN
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
262 $ HGPLAIN=1 hg blame a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
263 0: a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
264 1: a 1
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
265 2: a 2
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
266 3: a 3
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
267 4: a 4
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
268 5: a 5
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
269 6: a 6
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
270 7: a 7
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
271 8: a 8
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
272 9: a 9
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
273 10: a 10
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
274 explicit flags work too:
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
275 $ hg blame --pager=no a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
276 0: a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
277 1: a 1
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
278 2: a 2
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
279 3: a 3
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
280 4: a 4
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
281 5: a 5
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
282 6: a 6
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
283 7: a 7
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
284 8: a 8
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
285 9: a 9
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
286 10: a 10
31000
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
287
32541
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
288 A command with --output option:
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
289
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
290 $ hg cat -r0 a
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
291 paged! 'a\n'
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
292 $ hg cat -r0 a --output=-
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
293 paged! 'a\n'
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
294 $ hg cat -r0 a --output=out
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
295 $ rm out
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
296
31000
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
297 Put annotate in the ignore list for pager:
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
298 $ cat >> $HGRCPATH <<EOF
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
299 > [pager]
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
300 > ignore = annotate
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
301 > EOF
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
302 $ hg blame a
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
303 0: a
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
304 1: a 1
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
305 2: a 2
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
306 3: a 3
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
307 4: a 4
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
308 5: a 5
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
309 6: a 6
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
310 7: a 7
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
311 8: a 8
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
312 9: a 9
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
313 10: a 10
31954
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
314
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
315 Environment variables like LESS and LV are set automatically:
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
316 $ cat > $TESTTMP/printlesslv.py <<EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
317 > import os, sys
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
318 > sys.stdin.read()
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
319 > for name in ['LESS', 'LV']:
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
320 > sys.stdout.write(('%s=%s\n') % (name, os.environ.get(name, '-')))
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
321 > sys.stdout.flush()
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
322 > EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
323
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
324 $ cat >> $HGRCPATH <<EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
325 > [alias]
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
326 > noop = log -r 0 -T ''
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
327 > [ui]
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
328 > formatted=1
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
329 > [pager]
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
330 > pager = $PYTHON $TESTTMP/printlesslv.py
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
331 > EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
332 $ unset LESS
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
333 $ unset LV
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
334 $ hg noop --pager=on
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
335 LESS=FRX
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
336 LV=-c
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
337 $ LESS=EFGH hg noop --pager=on
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
338 LESS=EFGH
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
339 LV=-c