##// END OF EJS Templates
py3: add some b'' to make test-lock-badness.t happy
Yuya Nishihara -
r36661:1e1c1bfb default
parent child Browse files
Show More
@@ -1,349 +1,350
1 1 test-abort-checkin.t
2 2 test-add.t
3 3 test-addremove-similar.t
4 4 test-addremove.t
5 5 test-amend-subrepo.t
6 6 test-ancestor.py
7 7 test-annotate.py
8 8 test-annotate.t
9 9 test-automv.t
10 10 test-backout.t
11 11 test-backwards-remove.t
12 12 test-basic.t
13 13 test-bheads.t
14 14 test-bisect2.t
15 15 test-bookmarks-current.t
16 16 test-bookmarks-merge.t
17 17 test-bookmarks-rebase.t
18 18 test-bookmarks-strip.t
19 19 test-bookmarks.t
20 20 test-branch-option.t
21 21 test-branch-tag-confict.t
22 22 test-branches.t
23 23 test-bundle-phases.t
24 24 test-bundle-vs-outgoing.t
25 25 test-bundle2-multiple-changegroups.t
26 26 test-cappedreader.py
27 27 test-casecollision.t
28 28 test-cat.t
29 29 test-censor.t
30 30 test-changelog-exec.t
31 31 test-check-commit.t
32 32 test-check-execute.t
33 33 test-check-module-imports.t
34 34 test-check-pyflakes.t
35 35 test-check-pylint.t
36 36 test-check-shbang.t
37 37 test-children.t
38 38 test-clone-pull-corruption.t
39 39 test-clone-r.t
40 40 test-clone-update-order.t
41 41 test-command-template.t
42 42 test-commit-amend.t
43 43 test-commit-unresolved.t
44 44 test-commit.t
45 45 test-completion.t
46 46 test-conflict.t
47 47 test-confused-revert.t
48 48 test-contrib-check-code.t
49 49 test-contrib-check-commit.t
50 50 test-convert-authormap.t
51 51 test-convert-clonebranches.t
52 52 test-convert-datesort.t
53 53 test-convert-filemap.t
54 54 test-convert-hg-sink.t
55 55 test-convert-hg-source.t
56 56 test-convert-hg-startrev.t
57 57 test-copy-move-merge.t
58 58 test-copytrace-heuristics.t
59 59 test-debugbuilddag.t
60 60 test-debugbundle.t
61 61 test-debugextensions.t
62 62 test-debugindexdot.t
63 63 test-debugrename.t
64 64 test-diff-binary-file.t
65 65 test-diff-change.t
66 66 test-diff-copy-depth.t
67 67 test-diff-hashes.t
68 68 test-diff-issue2761.t
69 69 test-diff-newlines.t
70 70 test-diff-reverse.t
71 71 test-diff-subdir.t
72 72 test-diffdir.t
73 73 test-directaccess.t
74 74 test-dirstate-backup.t
75 75 test-dirstate-nonnormalset.t
76 76 test-doctest.py
77 77 test-double-merge.t
78 78 test-drawdag.t
79 79 test-duplicateoptions.py
80 80 test-empty-dir.t
81 81 test-empty-file.t
82 82 test-empty-group.t
83 83 test-empty.t
84 84 test-encoding-func.py
85 85 test-encoding.t
86 86 test-eol-add.t
87 87 test-eol-clone.t
88 88 test-eol-tag.t
89 89 test-eol-update.t
90 90 test-excessive-merge.t
91 91 test-exchange-obsmarkers-case-A1.t
92 92 test-exchange-obsmarkers-case-A2.t
93 93 test-exchange-obsmarkers-case-A3.t
94 94 test-exchange-obsmarkers-case-A4.t
95 95 test-exchange-obsmarkers-case-A5.t
96 96 test-exchange-obsmarkers-case-A6.t
97 97 test-exchange-obsmarkers-case-A7.t
98 98 test-exchange-obsmarkers-case-B1.t
99 99 test-exchange-obsmarkers-case-B2.t
100 100 test-exchange-obsmarkers-case-B3.t
101 101 test-exchange-obsmarkers-case-B4.t
102 102 test-exchange-obsmarkers-case-B5.t
103 103 test-exchange-obsmarkers-case-B6.t
104 104 test-exchange-obsmarkers-case-B7.t
105 105 test-exchange-obsmarkers-case-C1.t
106 106 test-exchange-obsmarkers-case-C2.t
107 107 test-exchange-obsmarkers-case-C3.t
108 108 test-exchange-obsmarkers-case-C4.t
109 109 test-exchange-obsmarkers-case-D1.t
110 110 test-exchange-obsmarkers-case-D2.t
111 111 test-exchange-obsmarkers-case-D3.t
112 112 test-exchange-obsmarkers-case-D4.t
113 113 test-execute-bit.t
114 114 test-extdiff.t
115 115 test-extra-filelog-entry.t
116 116 test-filebranch.t
117 117 test-fileset-generated.t
118 118 test-flags.t
119 119 test-generaldelta.t
120 120 test-getbundle.t
121 121 test-git-export.t
122 122 test-glog-topological.t
123 123 test-gpg.t
124 124 test-graft.t
125 125 test-hghave.t
126 126 test-hgignore.t
127 127 test-hgk.t
128 128 test-hgweb-removed.t
129 129 test-histedit-arguments.t
130 130 test-histedit-base.t
131 131 test-histedit-bookmark-motion.t
132 132 test-histedit-commute.t
133 133 test-histedit-drop.t
134 134 test-histedit-edit.t
135 135 test-histedit-fold-non-commute.t
136 136 test-histedit-fold.t
137 137 test-histedit-no-change.t
138 138 test-histedit-non-commute-abort.t
139 139 test-histedit-non-commute.t
140 140 test-histedit-obsolete.t
141 141 test-histedit-outgoing.t
142 142 test-histedit-templates.t
143 143 test-http-branchmap.t
144 144 test-http-clone-r.t
145 145 test-identify.t
146 146 test-imports-checker.t
147 147 test-inherit-mode.t
148 148 test-issue1089.t
149 149 test-issue1102.t
150 150 test-issue1175.t
151 151 test-issue1306.t
152 152 test-issue1438.t
153 153 test-issue1502.t
154 154 test-issue1802.t
155 155 test-issue1877.t
156 156 test-issue1993.t
157 157 test-issue2137.t
158 158 test-issue3084.t
159 159 test-issue4074.t
160 160 test-issue522.t
161 161 test-issue586.t
162 162 test-issue612.t
163 163 test-issue619.t
164 164 test-issue672.t
165 165 test-issue842.t
166 166 test-journal-exists.t
167 167 test-largefiles-small-disk.t
168 168 test-locate.t
169 test-lock-badness.t
169 170 test-logexchange.t
170 171 test-lrucachedict.py
171 172 test-mactext.t
172 173 test-manifest-merging.t
173 174 test-manifest.py
174 175 test-manifest.t
175 176 test-match.py
176 177 test-mdiff.py
177 178 test-merge-closedheads.t
178 179 test-merge-commit.t
179 180 test-merge-criss-cross.t
180 181 test-merge-default.t
181 182 test-merge-internal-tools-pattern.t
182 183 test-merge-local.t
183 184 test-merge-remove.t
184 185 test-merge-revert.t
185 186 test-merge-revert2.t
186 187 test-merge-subrepos.t
187 188 test-merge-symlinks.t
188 189 test-merge-types.t
189 190 test-merge1.t
190 191 test-merge10.t
191 192 test-merge2.t
192 193 test-merge4.t
193 194 test-merge5.t
194 195 test-merge6.t
195 196 test-merge7.t
196 197 test-merge8.t
197 198 test-merge9.t
198 199 test-mq-git.t
199 200 test-mq-pull-from-bundle.t
200 201 test-mq-qdiff.t
201 202 test-mq-qimport-fail-cleanup.t
202 203 test-mq-qqueue.t
203 204 test-mq-qrefresh.t
204 205 test-mq-qsave.t
205 206 test-narrow-clone-no-ellipsis.t
206 207 test-narrow-clone-nonlinear.t
207 208 test-narrow-clone.t
208 209 test-narrow-commit.t
209 210 test-narrow-copies.t
210 211 test-narrow-debugrebuilddirstate.t
211 212 test-narrow-exchange-merges.t
212 213 test-narrow-exchange.t
213 214 test-narrow-merge.t
214 215 test-narrow-patch.t
215 216 test-narrow-patterns.t
216 217 test-narrow-pull.t
217 218 test-narrow-rebase.t
218 219 test-narrow-shallow-merges.t
219 220 test-narrow-shallow.t
220 221 test-narrow-update.t
221 222 test-newbranch.t
222 223 test-obshistory.t
223 224 test-obsmarker-template.t
224 225 test-obsmarkers-effectflag.t
225 226 test-obsolete-bundle-strip.t
226 227 test-obsolete-changeset-exchange.t
227 228 test-obsolete-checkheads.t
228 229 test-obsolete-distributed.t
229 230 test-obsolete-tag-cache.t
230 231 test-parents.t
231 232 test-pathconflicts-merge.t
232 233 test-pathconflicts-update.t
233 234 test-pending.t
234 235 test-permissions.t
235 236 test-phases.t
236 237 test-pull-branch.t
237 238 test-pull-http.t
238 239 test-pull-permission.t
239 240 test-pull-pull-corruption.t
240 241 test-pull-r.t
241 242 test-pull-update.t
242 243 test-purge.t
243 244 test-push-checkheads-partial-C1.t
244 245 test-push-checkheads-partial-C2.t
245 246 test-push-checkheads-partial-C3.t
246 247 test-push-checkheads-partial-C4.t
247 248 test-push-checkheads-pruned-B1.t
248 249 test-push-checkheads-pruned-B2.t
249 250 test-push-checkheads-pruned-B3.t
250 251 test-push-checkheads-pruned-B4.t
251 252 test-push-checkheads-pruned-B5.t
252 253 test-push-checkheads-pruned-B6.t
253 254 test-push-checkheads-pruned-B7.t
254 255 test-push-checkheads-pruned-B8.t
255 256 test-push-checkheads-superceed-A1.t
256 257 test-push-checkheads-superceed-A2.t
257 258 test-push-checkheads-superceed-A3.t
258 259 test-push-checkheads-superceed-A4.t
259 260 test-push-checkheads-superceed-A5.t
260 261 test-push-checkheads-superceed-A6.t
261 262 test-push-checkheads-superceed-A7.t
262 263 test-push-checkheads-superceed-A8.t
263 264 test-push-checkheads-unpushed-D1.t
264 265 test-push-checkheads-unpushed-D2.t
265 266 test-push-checkheads-unpushed-D3.t
266 267 test-push-checkheads-unpushed-D4.t
267 268 test-push-checkheads-unpushed-D5.t
268 269 test-push-checkheads-unpushed-D6.t
269 270 test-push-checkheads-unpushed-D7.t
270 271 test-push-http.t
271 272 test-push-warn.t
272 273 test-pushvars.t
273 274 test-rebase-abort.t
274 275 test-rebase-base-flag.t
275 276 test-rebase-bookmarks.t
276 277 test-rebase-brute-force.t
277 278 test-rebase-cache.t
278 279 test-rebase-check-restore.t
279 280 test-rebase-collapse.t
280 281 test-rebase-dest.t
281 282 test-rebase-detach.t
282 283 test-rebase-emptycommit.t
283 284 test-rebase-inmemory.t
284 285 test-rebase-interruptions.t
285 286 test-rebase-issue-noparam-single-rev.t
286 287 test-rebase-legacy.t
287 288 test-rebase-named-branches.t
288 289 test-rebase-newancestor.t
289 290 test-rebase-obsolete.t
290 291 test-rebase-parameters.t
291 292 test-rebase-partial.t
292 293 test-rebase-pull.t
293 294 test-rebase-rename.t
294 295 test-rebase-scenario-global.t
295 296 test-rebase-templates.t
296 297 test-rebase-transaction.t
297 298 test-record.t
298 299 test-relink.t
299 300 test-remove.t
300 301 test-rename-after-merge.t
301 302 test-rename-dir-merge.t
302 303 test-rename-merge1.t
303 304 test-rename.t
304 305 test-repair-strip.t
305 306 test-repo-compengines.t
306 307 test-resolve.t
307 308 test-revert-flags.t
308 309 test-revert-unknown.t
309 310 test-revlog-ancestry.py
310 311 test-revlog-group-emptyiter.t
311 312 test-revlog-mmapindex.t
312 313 test-revlog-packentry.t
313 314 test-revset-dirstate-parents.t
314 315 test-revset-outgoing.t
315 316 test-run-tests.py
316 317 test-serve.t
317 318 test-share.t
318 319 test-show-stack.t
319 320 test-show-work.t
320 321 test-show.t
321 322 test-simple-update.t
322 323 test-single-head.t
323 324 test-sparse-clear.t
324 325 test-sparse-merges.t
325 326 test-sparse-requirement.t
326 327 test-sparse-verbose-json.t
327 328 test-ssh-clone-r.t
328 329 test-ssh-proto.t
329 330 test-sshserver.py
330 331 test-status-rev.t
331 332 test-status-terse.t
332 333 test-strip-cross.t
333 334 test-strip.t
334 335 test-unamend.t
335 336 test-uncommit.t
336 337 test-unified-test.t
337 338 test-unrelated-pull.t
338 339 test-up-local-change.t
339 340 test-update-branches.t
340 341 test-update-dest.t
341 342 test-update-issue1456.t
342 343 test-update-names.t
343 344 test-update-reverse.t
344 345 test-url-rev.t
345 346 test-username-newline.t
346 347 test-verify.t
347 348 test-websub.t
348 349 test-win32text.t
349 350 test-xdg.t
@@ -1,141 +1,141
1 1 #require unix-permissions no-root no-windows
2 2
3 3 Prepare
4 4
5 5 $ hg init a
6 6 $ echo a > a/a
7 7 $ hg -R a ci -A -m a
8 8 adding a
9 9
10 10 $ hg clone a b
11 11 updating to branch default
12 12 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
13 13
14 14 Test that raising an exception in the release function doesn't cause the lock to choke
15 15
16 16 $ cat > testlock.py << EOF
17 17 > from mercurial import error, registrar
18 18 >
19 19 > cmdtable = {}
20 20 > command = registrar.command(cmdtable)
21 21 >
22 22 > def acquiretestlock(repo, releaseexc):
23 23 > def unlock():
24 24 > if releaseexc:
25 > raise error.Abort('expected release exception')
26 > l = repo._lock(repo.vfs, 'testlock', False, unlock, None, 'test lock')
25 > raise error.Abort(b'expected release exception')
26 > l = repo._lock(repo.vfs, b'testlock', False, unlock, None, b'test lock')
27 27 > return l
28 28 >
29 29 > @command(b'testlockexc')
30 30 > def testlockexc(ui, repo):
31 31 > testlock = acquiretestlock(repo, True)
32 32 > try:
33 33 > testlock.release()
34 34 > finally:
35 35 > try:
36 36 > testlock = acquiretestlock(repo, False)
37 37 > except error.LockHeld:
38 > raise error.Abort('lockfile on disk even after releasing!')
38 > raise error.Abort(b'lockfile on disk even after releasing!')
39 39 > testlock.release()
40 40 > EOF
41 41 $ cat >> $HGRCPATH << EOF
42 42 > [extensions]
43 43 > testlock=$TESTTMP/testlock.py
44 44 > EOF
45 45
46 46 $ hg -R b testlockexc
47 47 abort: expected release exception
48 48 [255]
49 49
50 50 One process waiting for another
51 51
52 52 $ cat > hooks.py << EOF
53 53 > import time
54 54 > def sleepone(**x): time.sleep(1)
55 55 > def sleephalf(**x): time.sleep(0.5)
56 56 > EOF
57 57 $ echo b > b/b
58 58 $ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
59 59 $ hg -R b up -q --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" \
60 60 > > preup-stdout 2>preup-stderr
61 61 $ wait
62 62 $ cat preup-stdout
63 63 $ cat preup-stderr
64 64 waiting for lock on working directory of b held by process '*' on host '*' (glob)
65 65 got lock after * seconds (glob)
66 66 $ cat stdout
67 67 adding b
68 68
69 69 On processs waiting on another, warning after a long time.
70 70
71 71 $ echo b > b/c
72 72 $ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
73 73 $ hg -R b up -q --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" \
74 74 > --config ui.timeout.warn=250 \
75 75 > > preup-stdout 2>preup-stderr
76 76 $ wait
77 77 $ cat preup-stdout
78 78 $ cat preup-stderr
79 79 $ cat stdout
80 80 adding c
81 81
82 82 On processs waiting on another, warning disabled.
83 83
84 84 $ echo b > b/d
85 85 $ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
86 86 $ hg -R b up -q --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" \
87 87 > --config ui.timeout.warn=-1 \
88 88 > > preup-stdout 2>preup-stderr
89 89 $ wait
90 90 $ cat preup-stdout
91 91 $ cat preup-stderr
92 92 $ cat stdout
93 93 adding d
94 94
95 95 check we still print debug output
96 96
97 97 On processs waiting on another, warning after a long time (debug output on)
98 98
99 99 $ echo b > b/e
100 100 $ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
101 101 $ hg -R b up --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" \
102 102 > --config ui.timeout.warn=250 --debug\
103 103 > > preup-stdout 2>preup-stderr
104 104 $ wait
105 105 $ cat preup-stdout
106 106 calling hook pre-update: hghook_pre-update.sleephalf
107 107 waiting for lock on working directory of b held by process '*' on host '*' (glob)
108 108 got lock after * seconds (glob)
109 109 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
110 110 $ cat preup-stderr
111 111 $ cat stdout
112 112 adding e
113 113
114 114 On processs waiting on another, warning disabled, (debug output on)
115 115
116 116 $ echo b > b/f
117 117 $ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
118 118 $ hg -R b up --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" \
119 119 > --config ui.timeout.warn=-1 --debug\
120 120 > > preup-stdout 2>preup-stderr
121 121 $ wait
122 122 $ cat preup-stdout
123 123 calling hook pre-update: hghook_pre-update.sleephalf
124 124 waiting for lock on working directory of b held by process '*' on host '*' (glob)
125 125 got lock after * seconds (glob)
126 126 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
127 127 $ cat preup-stderr
128 128 $ cat stdout
129 129 adding f
130 130
131 131 Pushing to a local read-only repo that can't be locked
132 132
133 133 $ chmod 100 a/.hg/store
134 134
135 135 $ hg -R b push a
136 136 pushing to a
137 137 searching for changes
138 138 abort: could not lock repository a: Permission denied
139 139 [255]
140 140
141 141 $ chmod 700 a/.hg/store
General Comments 0
You need to be logged in to leave comments. Login now