annotate tests/test-pager.t @ 49603:3eda36e9b3d6 stable

matcher: fix issues regex flag contained in pattern (issue6759) Python 3.11 is now enforcing that flag must be at the beginning of the regex This creates a serious regression for people using Python 3.11 with an hgignore using flag in a "relre" pattern. We now detect any flags in such pattern and "prepend" our ".*" pattern after them. In addition, we now insert the flag in the regexp to only affect the pattern we are rewriting. Otherwise, the regex built from the combined pattern would these flags in the middle of it anyway. As a side effect of this last change, we fix a bug… before this change regex flag in a pattern would affect all combined patterns. That was bad and is not longer the case. The Rust code needs to be updated to fix that very bug, but we will do it in another changeset.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 16 Nov 2022 13:05:01 +0100
parents 42d2b31cee0b
children
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]
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38074
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'
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38074
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
33620
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
83 explicit --pager=on should take precedence over other configurations
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
84 (issue5580)
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
85
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
86 $ cat >> $HGRCPATH <<EOF
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
87 > [ui]
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
88 > paginate = false
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
89 > EOF
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
90 $ hg log --limit 1 --pager=on
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
91 paged! 'changeset: 10:46106edeeb38\n'
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
92 paged! 'tag: tip\n'
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
93 paged! 'user: test\n'
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
94 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
95 paged! 'summary: modify a 10\n'
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
96 paged! '\n'
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
97
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
98 $ cat >> $HGRCPATH <<EOF
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
99 > [ui]
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
100 > # true is default value of ui.paginate
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
101 > paginate = true
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
102 > EOF
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
103 $ hg log --limit 1 --pager=off
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
104 changeset: 10:46106edeeb38
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
105 tag: tip
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
106 user: test
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
107 date: Thu Jan 01 00:00:00 1970 +0000
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
108 summary: modify a 10
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
109
cc047a733f69 ui: enable pager always for explicit --pager=on (issue5580)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
110
30944
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30942
diff changeset
111 We can enable the pager on id:
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
112
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
113 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
114 $ 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
115 46106edeeb38 tip
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
116
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
117 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
118 core:
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
119 $ hg --config pager.attend-diff=no diff -c 2
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
120 diff -r f4be7687d414 -r bce265549556 a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
121 --- a/a Thu Jan 01 00:00:00 1970 +0000
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
122 +++ b/a Thu Jan 01 00:00:00 1970 +0000
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
123 @@ -1,2 +1,3 @@
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
124 a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
125 a 1
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
126 +a 2
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
127
32072
05cdd5678c6b tests: drop unnecessary pager attend in test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32026
diff changeset
128 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
129
05cdd5678c6b tests: drop unnecessary pager attend in test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32026
diff changeset
130 $ hg history --limit 2
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
131 paged! 'changeset: 10:46106edeeb38\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
132 paged! 'tag: tip\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
133 paged! 'user: test\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
134 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
135 paged! 'summary: modify a 10\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
136 paged! '\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
137 paged! 'changeset: 9:6dd8ea7dd621\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
138 paged! 'user: test\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
139 paged! 'date: Thu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
140 paged! 'summary: modify a 9\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
141 paged! '\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
142
32073
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
143 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
144
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
145 $ hg hist -l 1
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
146 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
147 paged! 'tag: tip\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
148 paged! 'user: test\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
149 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
150 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
151 paged! '\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
152
32074
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
153 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
154
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
155 $ 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
156 46106edeeb38 tip
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
157
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
158 $ 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
159 46106edeeb38 tip
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
160
30847
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
161 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
162
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
163 $ 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
164 10:46106edeeb38
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
165
31079
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31000
diff changeset
166 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
167 be silently lost.)
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31000
diff changeset
168
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31000
diff changeset
169 $ 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
170 10:46106edeeb38
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31000
diff changeset
171
28531
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
172 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
173 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
174 $ 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
175 > [ui]
32103
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
176 > color = always
28531
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
177 > [color]
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
178 > mode = ansi
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
179 > EOF
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
180 $ hg log --limit 3
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
181 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
182 paged! 'tag: tip\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
183 paged! 'user: test\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
184 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
185 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
186 paged! '\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
187 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
188 paged! 'user: test\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
189 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
190 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
191 paged! '\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
192 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
193 paged! 'user: test\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
194 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
195 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
196 paged! '\n'
29132
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
197
34442
73d8a5283f87 test-pager: make it compatible with chg
Jun Wu <quark@fb.com>
parents: 34021
diff changeset
198 #if no-chg
31478
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
199 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
200 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
201 $ 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
202 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
203 \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
204 tag: tip
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
205 user: test
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
206 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
207 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
208
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
209 \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
210 user: test
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
211 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
212 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
213
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
214 \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
215 user: test
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
216 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
217 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
218
34442
73d8a5283f87 test-pager: make it compatible with chg
Jun Wu <quark@fb.com>
parents: 34021
diff changeset
219 #endif
31478
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
220
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
221 A complicated pager command gets worse behavior. Bonus points if you can
48256
56d037d07395 backout: backed out changeset 2f2107c01dee
Raphaël Gomès <rgomes@octobus.net>
parents: 48185
diff changeset
222 improve this. Windows apparently does this better, but only sometimes?
56d037d07395 backout: backed out changeset 2f2107c01dee
Raphaël Gomès <rgomes@octobus.net>
parents: 48185
diff changeset
223 #if windows
31478
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
224 $ 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
225 > --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
226 > 2>/dev/null || true
47807
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
227 \x1b[0;33mchangeset: 10:46106edeeb38\x1b[0m (esc) (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
228 tag: tip (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
229 user: test (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
230 date: Thu Jan 01 00:00:00 1970 +0000 (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
231 summary: modify a 10 (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
232 (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
233 \x1b[0;33mchangeset: 9:6dd8ea7dd621\x1b[0m (esc) (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
234 user: test (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
235 date: Thu Jan 01 00:00:00 1970 +0000 (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
236 summary: modify a 9 (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
237 (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
238 \x1b[0;33mchangeset: 8:cff05a6312fe\x1b[0m (esc) (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
239 user: test (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
240 date: Thu Jan 01 00:00:00 1970 +0000 (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
241 summary: modify a 8 (?)
bc74cb9a8e40 pager: account for flakiness in Windows output
Raphaël Gomès <rgomes@octobus.net>
parents: 47614
diff changeset
242 (?)
48256
56d037d07395 backout: backed out changeset 2f2107c01dee
Raphaël Gomès <rgomes@octobus.net>
parents: 48185
diff changeset
243 #else
56d037d07395 backout: backed out changeset 2f2107c01dee
Raphaël Gomès <rgomes@octobus.net>
parents: 48185
diff changeset
244 $ hg log --limit 3 \
56d037d07395 backout: backed out changeset 2f2107c01dee
Raphaël Gomès <rgomes@octobus.net>
parents: 48185
diff changeset
245 > --config pager.pager='this-command-better-never-exist --seriously' \
56d037d07395 backout: backed out changeset 2f2107c01dee
Raphaël Gomès <rgomes@octobus.net>
parents: 48185
diff changeset
246 > 2>/dev/null || true
56d037d07395 backout: backed out changeset 2f2107c01dee
Raphaël Gomès <rgomes@octobus.net>
parents: 48185
diff changeset
247 #endif
31478
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31405
diff changeset
248
29132
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
249 Pager works with shell aliases.
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
250
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
251 $ cat >> $HGRCPATH <<EOF
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
252 > [alias]
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
253 > echoa = !echo a
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
254 > EOF
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
255
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
256 $ hg echoa
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
257 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
258 BROKEN: should be paged
29132
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
259 $ 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
260 a
29343
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
261
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
262 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
263
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
264 $ cat >> $HGRCPATH <<'EOF'
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
265 > [alias]
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
266 > 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
267 > EOF
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
268
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
269 $ 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
270 paged! '1\n'
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
271 $ 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
272 paged! '2\n'
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
273
30942
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
274 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
275 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
276 $ 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
277 2
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
278
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
279 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
280
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
281 $ cat >> $TESTTMP/fortytwo.py <<'EOF'
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 32104
diff changeset
282 > from mercurial import commands, registrar
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
283 > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 32104
diff changeset
284 > command = registrar.command(cmdtable)
38074
5a3feb2bc9dd py3: add b'' prefixes in tests/test-pager.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37598
diff changeset
285 > @command(b'fortytwo', [], b'fortytwo', norepo=True)
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
286 > def fortytwo(ui, *opts):
38074
5a3feb2bc9dd py3: add b'' prefixes in tests/test-pager.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37598
diff changeset
287 > ui.write(b'42\n')
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
288 > return 42
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
289 > EOF
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
290
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
291 $ cat >> $HGRCPATH <<'EOF'
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
292 > [extensions]
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
293 > fortytwo = $TESTTMP/fortytwo.py
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
294 > EOF
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
295
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
296 $ hg fortytwo --pager=on
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
297 paged! '42\n'
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
298 [42]
30999
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
299
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
300 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
301 $ hg blame a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
302 paged! ' 0: a\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
303 paged! ' 1: a 1\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
304 paged! ' 2: a 2\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
305 paged! ' 3: a 3\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
306 paged! ' 4: a 4\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
307 paged! ' 5: a 5\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
308 paged! ' 6: a 6\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
309 paged! ' 7: a 7\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
310 paged! ' 8: a 8\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
311 paged! ' 9: a 9\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
312 paged! '10: a 10\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
313 but not with HGPLAIN
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
314 $ HGPLAIN=1 hg blame a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
315 0: a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
316 1: a 1
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
317 2: a 2
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
318 3: a 3
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
319 4: a 4
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
320 5: a 5
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
321 6: a 6
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
322 7: a 7
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
323 8: a 8
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
324 9: a 9
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
325 10: a 10
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
326 explicit flags work too:
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
327 $ hg blame --pager=no a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
328 0: a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
329 1: a 1
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
330 2: a 2
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
331 3: a 3
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
332 4: a 4
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
333 5: a 5
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
334 6: a 6
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
335 7: a 7
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
336 8: a 8
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
337 9: a 9
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 30996
diff changeset
338 10: a 10
31000
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
339
32541
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
340 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
341
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
342 $ 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
343 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
344 $ 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
345 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
346 $ hg cat -r0 a --output=out
37598
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
347
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
348 $ hg export -r0
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
349 paged! '# HG changeset patch\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
350 paged! '# User test\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
351 paged! '# Date 0 0\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
352 paged! '# Thu Jan 01 00:00:00 1970 +0000\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
353 paged! '# Node ID 1f0dee641bb7258c56bd60e93edfa2405381c41e\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
354 paged! '# Parent 0000000000000000000000000000000000000000\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
355 paged! 'add a\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
356 paged! '\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
357 paged! '\x1b[0;1mdiff -r 000000000000 -r 1f0dee641bb7 a\x1b[0m\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
358 paged! '\x1b[0;31;1m--- /dev/null\tThu Jan 01 00:00:00 1970 +0000\x1b[0m\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
359 paged! '\x1b[0;32;1m+++ b/a\tThu Jan 01 00:00:00 1970 +0000\x1b[0m\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
360 paged! '\x1b[0;35m@@ -0,0 +1,1 @@\x1b[0m\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
361 paged! '\x1b[0;32m+a\x1b[0m\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
362 $ hg export -r0 -o -
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
363 paged! '# HG changeset patch\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
364 paged! '# User test\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
365 paged! '# Date 0 0\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
366 paged! '# Thu Jan 01 00:00:00 1970 +0000\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
367 paged! '# Node ID 1f0dee641bb7258c56bd60e93edfa2405381c41e\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
368 paged! '# Parent 0000000000000000000000000000000000000000\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
369 paged! 'add a\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
370 paged! '\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
371 paged! '\x1b[0;1mdiff -r 000000000000 -r 1f0dee641bb7 a\x1b[0m\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
372 paged! '\x1b[0;31;1m--- /dev/null\tThu Jan 01 00:00:00 1970 +0000\x1b[0m\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
373 paged! '\x1b[0;32;1m+++ b/a\tThu Jan 01 00:00:00 1970 +0000\x1b[0m\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
374 paged! '\x1b[0;35m@@ -0,0 +1,1 @@\x1b[0m\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
375 paged! '\x1b[0;32m+a\x1b[0m\n'
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
376 $ hg export -r0 -o out
7a9c905e51f9 export: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 34791
diff changeset
377
32541
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
378 $ rm out
3b569745af6c cat: do not start pager if output will be written to file
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
379
31000
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
380 Put annotate in the ignore list for pager:
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
381 $ cat >> $HGRCPATH <<EOF
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
382 > [pager]
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
383 > ignore = annotate
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
384 > EOF
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
385 $ hg blame a
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
386 0: a
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
387 1: a 1
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
388 2: a 2
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
389 3: a 3
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
390 4: a 4
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
391 5: a 5
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
392 6: a 6
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
393 7: a 7
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
394 8: a 8
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
395 9: a 9
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 30999
diff changeset
396 10: a 10
31954
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
397
34021
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
398 During pushbuffer, pager should not start:
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
399 $ cat > $TESTTMP/pushbufferpager.py <<EOF
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
400 > def uisetup(ui):
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
401 > ui.pushbuffer()
38074
5a3feb2bc9dd py3: add b'' prefixes in tests/test-pager.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37598
diff changeset
402 > ui.pager(b'mycmd')
5a3feb2bc9dd py3: add b'' prefixes in tests/test-pager.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37598
diff changeset
403 > ui.write(b'content\n')
34021
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
404 > ui.write(ui.popbuffer())
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
405 > EOF
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
406
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
407 $ echo append >> a
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
408 $ hg --config extensions.pushbuffer=$TESTTMP/pushbufferpager.py status --color=off
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
409 content
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
410 paged! 'M a\n'
31a2eb0f74e5 pager: do not start pager if `ui` has been `pushbuffer`-ed
Jun Wu <quark@fb.com>
parents: 33971
diff changeset
411
31954
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
412 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
413 $ cat > $TESTTMP/printlesslv.py <<EOF
33971
dcfa83652744 tests: update test-pager to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33620
diff changeset
414 > import os
dcfa83652744 tests: update test-pager to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33620
diff changeset
415 > import sys
31954
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
416 > sys.stdin.read()
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
417 > 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
418 > 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
419 > sys.stdout.flush()
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
420 > EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
421
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
422 $ cat >> $HGRCPATH <<EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
423 > [alias]
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
424 > 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
425 > [ui]
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
426 > formatted=1
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
427 > [pager]
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38074
diff changeset
428 > pager = "$PYTHON" $TESTTMP/printlesslv.py
31954
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
429 > EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
430 $ unset LESS
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
431 $ unset LV
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
432 $ hg noop --pager=on
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
433 LESS=FRX
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
434 LV=-c
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
435 $ 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
436 LESS=EFGH
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31478
diff changeset
437 LV=-c