##// END OF EJS Templates
tests: add a test for blackbox with nested alias configurations...
Augie Fackler -
r34299:25e1a887 default
parent child Browse files
Show More
@@ -1,323 +1,334 b''
1 setup
1 setup
2 $ cat >> $HGRCPATH <<EOF
2 $ cat >> $HGRCPATH <<EOF
3 > [extensions]
3 > [extensions]
4 > blackbox=
4 > blackbox=
5 > mock=$TESTDIR/mockblackbox.py
5 > mock=$TESTDIR/mockblackbox.py
6 > mq=
6 > mq=
7 > [alias]
7 > [alias]
8 > confuse = log --limit 3
8 > confuse = log --limit 3
9 > so-confusing = confuse --style compact
9 > EOF
10 > EOF
10 $ hg init blackboxtest
11 $ hg init blackboxtest
11 $ cd blackboxtest
12 $ cd blackboxtest
12
13
13 command, exit codes, and duration
14 command, exit codes, and duration
14
15
15 $ echo a > a
16 $ echo a > a
16 $ hg add a
17 $ hg add a
17 $ hg blackbox --config blackbox.dirty=True
18 $ hg blackbox --config blackbox.dirty=True
18 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> init blackboxtest exited 0 after * seconds (glob)
19 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> init blackboxtest exited 0 after * seconds (glob)
19 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a
20 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a
20 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob)
21 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob)
21 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox
22 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox
22
23
23 alias expansion is logged
24 alias expansion is logged
24 $ rm ./.hg/blackbox.log
25 $ rm ./.hg/blackbox.log
25 $ hg confuse
26 $ hg confuse
26 $ hg blackbox
27 $ hg blackbox
27 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse
28 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse
28 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'confuse' expands to 'log --limit 3'
29 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'confuse' expands to 'log --limit 3'
29 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse exited 0 after * seconds (glob)
30 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse exited 0 after * seconds (glob)
30 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox
31 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox
31
32
33 recursive aliases work correctly
34 $ rm ./.hg/blackbox.log
35 $ hg so-confusing
36 $ hg blackbox
37 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> so-confusing
38 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'so-confusing' expands to 'confuse --style compact'
39 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'confuse' expands to 'log --limit 3'
40 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> so-confusing exited 0 after * seconds (glob)
41 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox
42
32 incoming change tracking
43 incoming change tracking
33
44
34 create two heads to verify that we only see one change in the log later
45 create two heads to verify that we only see one change in the log later
35 $ hg commit -ma
46 $ hg commit -ma
36 $ hg up null
47 $ hg up null
37 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
48 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
38 $ echo b > b
49 $ echo b > b
39 $ hg commit -Amb
50 $ hg commit -Amb
40 adding b
51 adding b
41 created new head
52 created new head
42
53
43 clone, commit, pull
54 clone, commit, pull
44 $ hg clone . ../blackboxtest2
55 $ hg clone . ../blackboxtest2
45 updating to branch default
56 updating to branch default
46 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
57 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
47 $ echo c > c
58 $ echo c > c
48 $ hg commit -Amc
59 $ hg commit -Amc
49 adding c
60 adding c
50 $ cd ../blackboxtest2
61 $ cd ../blackboxtest2
51 $ hg pull
62 $ hg pull
52 pulling from $TESTTMP/blackboxtest (glob)
63 pulling from $TESTTMP/blackboxtest (glob)
53 searching for changes
64 searching for changes
54 adding changesets
65 adding changesets
55 adding manifests
66 adding manifests
56 adding file changes
67 adding file changes
57 added 1 changesets with 1 changes to 1 files
68 added 1 changesets with 1 changes to 1 files
58 (run 'hg update' to get a working copy)
69 (run 'hg update' to get a working copy)
59 $ hg blackbox -l 6
70 $ hg blackbox -l 6
60 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull
71 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull
61 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated served branch cache in * seconds (glob)
72 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated served branch cache in * seconds (glob)
62 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote served branch cache with 1 labels and 2 nodes
73 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote served branch cache with 1 labels and 2 nodes
63 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> 1 incoming changes - new heads: d02f48003e62
74 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> 1 incoming changes - new heads: d02f48003e62
64 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull exited 0 after * seconds (glob)
75 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull exited 0 after * seconds (glob)
65 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6
76 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6
66
77
67 we must not cause a failure if we cannot write to the log
78 we must not cause a failure if we cannot write to the log
68
79
69 $ hg rollback
80 $ hg rollback
70 repository tip rolled back to revision 1 (undo pull)
81 repository tip rolled back to revision 1 (undo pull)
71
82
72 $ mv .hg/blackbox.log .hg/blackbox.log-
83 $ mv .hg/blackbox.log .hg/blackbox.log-
73 $ mkdir .hg/blackbox.log
84 $ mkdir .hg/blackbox.log
74 $ hg --debug incoming
85 $ hg --debug incoming
75 warning: cannot write to blackbox.log: * (glob)
86 warning: cannot write to blackbox.log: * (glob)
76 comparing with $TESTTMP/blackboxtest (glob)
87 comparing with $TESTTMP/blackboxtest (glob)
77 query 1; heads
88 query 1; heads
78 searching for changes
89 searching for changes
79 all local heads known remotely
90 all local heads known remotely
80 changeset: 2:d02f48003e62c24e2659d97d30f2a83abe5d5d51
91 changeset: 2:d02f48003e62c24e2659d97d30f2a83abe5d5d51
81 tag: tip
92 tag: tip
82 phase: draft
93 phase: draft
83 parent: 1:6563da9dcf87b1949716e38ff3e3dfaa3198eb06
94 parent: 1:6563da9dcf87b1949716e38ff3e3dfaa3198eb06
84 parent: -1:0000000000000000000000000000000000000000
95 parent: -1:0000000000000000000000000000000000000000
85 manifest: 2:ab9d46b053ebf45b7996f2922b9893ff4b63d892
96 manifest: 2:ab9d46b053ebf45b7996f2922b9893ff4b63d892
86 user: test
97 user: test
87 date: Thu Jan 01 00:00:00 1970 +0000
98 date: Thu Jan 01 00:00:00 1970 +0000
88 files+: c
99 files+: c
89 extra: branch=default
100 extra: branch=default
90 description:
101 description:
91 c
102 c
92
103
93
104
94 $ hg pull
105 $ hg pull
95 pulling from $TESTTMP/blackboxtest (glob)
106 pulling from $TESTTMP/blackboxtest (glob)
96 searching for changes
107 searching for changes
97 adding changesets
108 adding changesets
98 adding manifests
109 adding manifests
99 adding file changes
110 adding file changes
100 added 1 changesets with 1 changes to 1 files
111 added 1 changesets with 1 changes to 1 files
101 (run 'hg update' to get a working copy)
112 (run 'hg update' to get a working copy)
102
113
103 a failure reading from the log is fatal
114 a failure reading from the log is fatal
104
115
105 $ hg blackbox -l 3
116 $ hg blackbox -l 3
106 abort: *$TESTTMP/blackboxtest2/.hg/blackbox.log* (glob)
117 abort: *$TESTTMP/blackboxtest2/.hg/blackbox.log* (glob)
107 [255]
118 [255]
108
119
109 $ rmdir .hg/blackbox.log
120 $ rmdir .hg/blackbox.log
110 $ mv .hg/blackbox.log- .hg/blackbox.log
121 $ mv .hg/blackbox.log- .hg/blackbox.log
111
122
112 backup bundles get logged
123 backup bundles get logged
113
124
114 $ touch d
125 $ touch d
115 $ hg commit -Amd
126 $ hg commit -Amd
116 adding d
127 adding d
117 created new head
128 created new head
118 $ hg strip tip
129 $ hg strip tip
119 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
130 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
120 saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/*-backup.hg (glob)
131 saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/*-backup.hg (glob)
121 $ hg blackbox -l 6
132 $ hg blackbox -l 6
122 1970/01/01 00:00:00 bob @73f6ee326b27d820b0472f1a825e3a50f3dc489b (5000)> strip tip
133 1970/01/01 00:00:00 bob @73f6ee326b27d820b0472f1a825e3a50f3dc489b (5000)> strip tip
123 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/73f6ee326b27-7612e004-backup.hg (glob)
134 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/73f6ee326b27-7612e004-backup.hg (glob)
124 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated base branch cache in * seconds (glob)
135 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated base branch cache in * seconds (glob)
125 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote base branch cache with 1 labels and 2 nodes
136 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote base branch cache with 1 labels and 2 nodes
126 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> strip tip exited 0 after * seconds (glob)
137 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> strip tip exited 0 after * seconds (glob)
127 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6
138 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6
128
139
129 extension and python hooks - use the eol extension for a pythonhook
140 extension and python hooks - use the eol extension for a pythonhook
130
141
131 $ echo '[extensions]' >> .hg/hgrc
142 $ echo '[extensions]' >> .hg/hgrc
132 $ echo 'eol=' >> .hg/hgrc
143 $ echo 'eol=' >> .hg/hgrc
133 $ echo '[hooks]' >> .hg/hgrc
144 $ echo '[hooks]' >> .hg/hgrc
134 $ echo 'update = echo hooked' >> .hg/hgrc
145 $ echo 'update = echo hooked' >> .hg/hgrc
135 $ hg update
146 $ hg update
136 The fsmonitor extension is incompatible with the eol extension and has been disabled. (fsmonitor !)
147 The fsmonitor extension is incompatible with the eol extension and has been disabled. (fsmonitor !)
137 hooked
148 hooked
138 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
149 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
139 updated to "d02f48003e62: c"
150 updated to "d02f48003e62: c"
140 1 other heads for branch "default"
151 1 other heads for branch "default"
141 $ cat >> .hg/hgrc <<EOF
152 $ cat >> .hg/hgrc <<EOF
142 > [extensions]
153 > [extensions]
143 > # disable eol, because it is not needed for subsequent tests
154 > # disable eol, because it is not needed for subsequent tests
144 > # (in addition, keeping it requires extra care for fsmonitor)
155 > # (in addition, keeping it requires extra care for fsmonitor)
145 > eol=!
156 > eol=!
146 > EOF
157 > EOF
147 $ hg blackbox -l 6
158 $ hg blackbox -l 6
148 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> update (no-chg !)
159 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> update (no-chg !)
149 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> writing .hg/cache/tags2-visible with 0 tags
160 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> writing .hg/cache/tags2-visible with 0 tags
150 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pythonhook-preupdate: hgext.eol.preupdate finished in * seconds (glob)
161 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pythonhook-preupdate: hgext.eol.preupdate finished in * seconds (glob)
151 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> exthook-update: echo hooked finished in * seconds (glob)
162 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> exthook-update: echo hooked finished in * seconds (glob)
152 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> update exited 0 after * seconds (glob)
163 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> update exited 0 after * seconds (glob)
153 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> serve --cmdserver chgunix --address $TESTTMP.chgsock/server.* --daemon-postexec 'chdir:/' (glob) (chg !)
164 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> serve --cmdserver chgunix --address $TESTTMP.chgsock/server.* --daemon-postexec 'chdir:/' (glob) (chg !)
154 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> blackbox -l 6
165 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> blackbox -l 6
155
166
156 log rotation
167 log rotation
157
168
158 $ echo '[blackbox]' >> .hg/hgrc
169 $ echo '[blackbox]' >> .hg/hgrc
159 $ echo 'maxsize = 20 b' >> .hg/hgrc
170 $ echo 'maxsize = 20 b' >> .hg/hgrc
160 $ echo 'maxfiles = 3' >> .hg/hgrc
171 $ echo 'maxfiles = 3' >> .hg/hgrc
161 $ hg status
172 $ hg status
162 $ hg status
173 $ hg status
163 $ hg status
174 $ hg status
164 $ hg tip -q
175 $ hg tip -q
165 2:d02f48003e62
176 2:d02f48003e62
166 $ ls .hg/blackbox.log*
177 $ ls .hg/blackbox.log*
167 .hg/blackbox.log
178 .hg/blackbox.log
168 .hg/blackbox.log.1
179 .hg/blackbox.log.1
169 .hg/blackbox.log.2
180 .hg/blackbox.log.2
170 $ cd ..
181 $ cd ..
171
182
172 $ hg init blackboxtest3
183 $ hg init blackboxtest3
173 $ cd blackboxtest3
184 $ cd blackboxtest3
174 $ hg blackbox
185 $ hg blackbox
175 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> init blackboxtest3 exited 0 after * seconds (glob)
186 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> init blackboxtest3 exited 0 after * seconds (glob)
176 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox
187 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox
177 $ mv .hg/blackbox.log .hg/blackbox.log-
188 $ mv .hg/blackbox.log .hg/blackbox.log-
178 $ mkdir .hg/blackbox.log
189 $ mkdir .hg/blackbox.log
179 $ sed -e 's/\(.*test1.*\)/#\1/; s#\(.*commit2.*\)#os.rmdir(".hg/blackbox.log")\
190 $ sed -e 's/\(.*test1.*\)/#\1/; s#\(.*commit2.*\)#os.rmdir(".hg/blackbox.log")\
180 > os.rename(".hg/blackbox.log-", ".hg/blackbox.log")\
191 > os.rename(".hg/blackbox.log-", ".hg/blackbox.log")\
181 > \1#' $TESTDIR/test-dispatch.py > ../test-dispatch.py
192 > \1#' $TESTDIR/test-dispatch.py > ../test-dispatch.py
182 $ $PYTHON $TESTDIR/blackbox-readonly-dispatch.py
193 $ $PYTHON $TESTDIR/blackbox-readonly-dispatch.py
183 running: add foo
194 running: add foo
184 result: 0
195 result: 0
185 running: commit -m commit1 -d 2000-01-01 foo
196 running: commit -m commit1 -d 2000-01-01 foo
186 result: None
197 result: None
187 running: commit -m commit2 -d 2000-01-02 foo
198 running: commit -m commit2 -d 2000-01-02 foo
188 result: None
199 result: None
189 running: log -r 0
200 running: log -r 0
190 changeset: 0:0e4634943879
201 changeset: 0:0e4634943879
191 user: test
202 user: test
192 date: Sat Jan 01 00:00:00 2000 +0000
203 date: Sat Jan 01 00:00:00 2000 +0000
193 summary: commit1
204 summary: commit1
194
205
195 result: None
206 result: None
196 running: log -r tip
207 running: log -r tip
197 changeset: 1:45589e459b2e
208 changeset: 1:45589e459b2e
198 tag: tip
209 tag: tip
199 user: test
210 user: test
200 date: Sun Jan 02 00:00:00 2000 +0000
211 date: Sun Jan 02 00:00:00 2000 +0000
201 summary: commit2
212 summary: commit2
202
213
203 result: None
214 result: None
204 $ hg blackbox
215 $ hg blackbox
205 1970/01/01 00:00:00 bob @0e46349438790c460c5c9f7546bfcd39b267bbd2 (5000)> commit -m commit2 -d 2000-01-02 foo
216 1970/01/01 00:00:00 bob @0e46349438790c460c5c9f7546bfcd39b267bbd2 (5000)> commit -m commit2 -d 2000-01-02 foo
206 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> updated served branch cache in * seconds (glob)
217 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> updated served branch cache in * seconds (glob)
207 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> wrote served branch cache with 1 labels and 1 nodes
218 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> wrote served branch cache with 1 labels and 1 nodes
208 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> commit -m commit2 -d 2000-01-02 foo exited 0 after * seconds (glob)
219 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> commit -m commit2 -d 2000-01-02 foo exited 0 after * seconds (glob)
209 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0
220 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0
210 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> writing .hg/cache/tags2-visible with 0 tags
221 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> writing .hg/cache/tags2-visible with 0 tags
211 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0 exited 0 after * seconds (glob)
222 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0 exited 0 after * seconds (glob)
212 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r tip
223 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r tip
213 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r tip exited 0 after * seconds (glob)
224 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r tip exited 0 after * seconds (glob)
214 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> blackbox
225 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> blackbox
215
226
216 Test log recursion from dirty status check
227 Test log recursion from dirty status check
217
228
218 $ cat > ../r.py <<EOF
229 $ cat > ../r.py <<EOF
219 > from mercurial import context, error, extensions
230 > from mercurial import context, error, extensions
220 > x=[False]
231 > x=[False]
221 > def status(orig, *args, **opts):
232 > def status(orig, *args, **opts):
222 > args[0].repo().ui.log("broken", "recursion?")
233 > args[0].repo().ui.log("broken", "recursion?")
223 > return orig(*args, **opts)
234 > return orig(*args, **opts)
224 > def reposetup(ui, repo):
235 > def reposetup(ui, repo):
225 > extensions.wrapfunction(context.basectx, 'status', status)
236 > extensions.wrapfunction(context.basectx, 'status', status)
226 > EOF
237 > EOF
227 $ hg id --config extensions.x=../r.py --config blackbox.dirty=True
238 $ hg id --config extensions.x=../r.py --config blackbox.dirty=True
228 45589e459b2e tip
239 45589e459b2e tip
229
240
230 cleanup
241 cleanup
231 $ cd ..
242 $ cd ..
232
243
233 #if chg
244 #if chg
234
245
235 when using chg, blackbox.log should get rotated correctly
246 when using chg, blackbox.log should get rotated correctly
236
247
237 $ cat > $TESTTMP/noop.py << EOF
248 $ cat > $TESTTMP/noop.py << EOF
238 > from __future__ import absolute_import
249 > from __future__ import absolute_import
239 > import time
250 > import time
240 > from mercurial import registrar, scmutil
251 > from mercurial import registrar, scmutil
241 > cmdtable = {}
252 > cmdtable = {}
242 > command = registrar.command(cmdtable)
253 > command = registrar.command(cmdtable)
243 > @command('noop')
254 > @command('noop')
244 > def noop(ui, repo):
255 > def noop(ui, repo):
245 > pass
256 > pass
246 > EOF
257 > EOF
247
258
248 $ hg init blackbox-chg
259 $ hg init blackbox-chg
249 $ cd blackbox-chg
260 $ cd blackbox-chg
250
261
251 $ cat > .hg/hgrc << EOF
262 $ cat > .hg/hgrc << EOF
252 > [blackbox]
263 > [blackbox]
253 > maxsize = 500B
264 > maxsize = 500B
254 > [extensions]
265 > [extensions]
255 > # extension change forces chg to restart
266 > # extension change forces chg to restart
256 > noop=$TESTTMP/noop.py
267 > noop=$TESTTMP/noop.py
257 > EOF
268 > EOF
258
269
259 $ $PYTHON -c 'print("a" * 400)' > .hg/blackbox.log
270 $ $PYTHON -c 'print("a" * 400)' > .hg/blackbox.log
260 $ chg noop
271 $ chg noop
261 $ chg noop
272 $ chg noop
262 $ chg noop
273 $ chg noop
263 $ chg noop
274 $ chg noop
264 $ chg noop
275 $ chg noop
265
276
266 $ cat > showsize.py << 'EOF'
277 $ cat > showsize.py << 'EOF'
267 > import os, sys
278 > import os, sys
268 > limit = 500
279 > limit = 500
269 > for p in sys.argv[1:]:
280 > for p in sys.argv[1:]:
270 > size = os.stat(p).st_size
281 > size = os.stat(p).st_size
271 > if size >= limit:
282 > if size >= limit:
272 > desc = '>='
283 > desc = '>='
273 > else:
284 > else:
274 > desc = '<'
285 > desc = '<'
275 > print('%s: %s %d' % (p, desc, limit))
286 > print('%s: %s %d' % (p, desc, limit))
276 > EOF
287 > EOF
277
288
278 $ $PYTHON showsize.py .hg/blackbox*
289 $ $PYTHON showsize.py .hg/blackbox*
279 .hg/blackbox.log: < 500
290 .hg/blackbox.log: < 500
280 .hg/blackbox.log.1: >= 500
291 .hg/blackbox.log.1: >= 500
281 .hg/blackbox.log.2: >= 500
292 .hg/blackbox.log.2: >= 500
282
293
283 $ cd ..
294 $ cd ..
284
295
285 #endif
296 #endif
286
297
287 blackbox should work if repo.ui.log is not called (issue5518)
298 blackbox should work if repo.ui.log is not called (issue5518)
288
299
289 $ cat > $TESTTMP/raise.py << EOF
300 $ cat > $TESTTMP/raise.py << EOF
290 > from __future__ import absolute_import
301 > from __future__ import absolute_import
291 > from mercurial import registrar, scmutil
302 > from mercurial import registrar, scmutil
292 > cmdtable = {}
303 > cmdtable = {}
293 > command = registrar.command(cmdtable)
304 > command = registrar.command(cmdtable)
294 > @command('raise')
305 > @command('raise')
295 > def raisecmd(*args):
306 > def raisecmd(*args):
296 > raise RuntimeError('raise')
307 > raise RuntimeError('raise')
297 > EOF
308 > EOF
298
309
299 $ cat >> $HGRCPATH << EOF
310 $ cat >> $HGRCPATH << EOF
300 > [blackbox]
311 > [blackbox]
301 > track = commandexception
312 > track = commandexception
302 > [extensions]
313 > [extensions]
303 > raise=$TESTTMP/raise.py
314 > raise=$TESTTMP/raise.py
304 > EOF
315 > EOF
305
316
306 $ hg init $TESTTMP/blackbox-exception-only
317 $ hg init $TESTTMP/blackbox-exception-only
307 $ cd $TESTTMP/blackbox-exception-only
318 $ cd $TESTTMP/blackbox-exception-only
308
319
309 #if chg
320 #if chg
310 (chg exits 255 because it fails to receive an exit code)
321 (chg exits 255 because it fails to receive an exit code)
311 $ hg raise 2>/dev/null
322 $ hg raise 2>/dev/null
312 [255]
323 [255]
313 #else
324 #else
314 (hg exits 1 because Python default exit code for uncaught exception is 1)
325 (hg exits 1 because Python default exit code for uncaught exception is 1)
315 $ hg raise 2>/dev/null
326 $ hg raise 2>/dev/null
316 [1]
327 [1]
317 #endif
328 #endif
318
329
319 $ head -1 .hg/blackbox.log
330 $ head -1 .hg/blackbox.log
320 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> ** Unknown exception encountered with possibly-broken third-party extension mock
331 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> ** Unknown exception encountered with possibly-broken third-party extension mock
321 $ tail -2 .hg/blackbox.log
332 $ tail -2 .hg/blackbox.log
322 RuntimeError: raise
333 RuntimeError: raise
323
334
General Comments 0
You need to be logged in to leave comments. Login now