annotate tests/test-commandserver.t @ 47587:be496e3489b9

tests: blacklist a handful of test with `rhg` or `chg` The use of `alias` to enforce `chg` and `rhg` means we are actually using a mix of `rhg`/`chg` and `hg` when calling `hg` in the test. Fixing this breaks various tests. This would be a large detour to fix that. I am disabling them for now with an appropriate comment. We would hopefully get back to them by the 5.8 release. Differential Revision: https://phab.mercurial-scm.org/D11052
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 09 Jul 2021 20:42:26 +0200
parents 40b51c28b242
children 036b9b3cc79a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47587
be496e3489b9 tests: blacklist a handful of test with `rhg` or `chg`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47279
diff changeset
1 #require no-rhg no-chg
be496e3489b9 tests: blacklist a handful of test with `rhg` or `chg`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47279
diff changeset
2
be496e3489b9 tests: blacklist a handful of test with `rhg` or `chg`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47279
diff changeset
3 XXX-RHG this test hangs if `hg` is really `rhg`. This was hidden by the use of
be496e3489b9 tests: blacklist a handful of test with `rhg` or `chg`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47279
diff changeset
4 `alias hg=rhg` by run-tests.py. With such alias removed, this test is revealed
be496e3489b9 tests: blacklist a handful of test with `rhg` or `chg`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47279
diff changeset
5 buggy. This need to be resolved sooner than later.
be496e3489b9 tests: blacklist a handful of test with `rhg` or `chg`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47279
diff changeset
6
be496e3489b9 tests: blacklist a handful of test with `rhg` or `chg`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47279
diff changeset
7 XXX-CHG this test hangs if `hg` is really `chg`. This was hidden by the use of
be496e3489b9 tests: blacklist a handful of test with `rhg` or `chg`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47279
diff changeset
8 `alias hg=chg` by run-tests.py. With such alias removed, this test is revealed
be496e3489b9 tests: blacklist a handful of test with `rhg` or `chg`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47279
diff changeset
9 buggy. This need to be resolved sooner than later.
be496e3489b9 tests: blacklist a handful of test with `rhg` or `chg`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47279
diff changeset
10
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
11 #if windows
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
12 $ PYTHONPATH="$TESTDIR/../contrib;$PYTHONPATH"
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
13 #else
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
14 $ PYTHONPATH="$TESTDIR/../contrib:$PYTHONPATH"
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
15 #endif
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
16 $ export PYTHONPATH
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
17
23053
5ba11ab48fcf ui: separate option to show prompt echo, enabled only in tests (issue4417)
Yuya Nishihara <yuya@tcha.org>
parents: 23036
diff changeset
18 typical client does not want echo-back messages, so test without it:
5ba11ab48fcf ui: separate option to show prompt echo, enabled only in tests (issue4417)
Yuya Nishihara <yuya@tcha.org>
parents: 23036
diff changeset
19
5ba11ab48fcf ui: separate option to show prompt echo, enabled only in tests (issue4417)
Yuya Nishihara <yuya@tcha.org>
parents: 23036
diff changeset
20 $ grep -v '^promptecho ' < $HGRCPATH >> $HGRCPATH.new
5ba11ab48fcf ui: separate option to show prompt echo, enabled only in tests (issue4417)
Yuya Nishihara <yuya@tcha.org>
parents: 23036
diff changeset
21 $ mv $HGRCPATH.new $HGRCPATH
5ba11ab48fcf ui: separate option to show prompt echo, enabled only in tests (issue4417)
Yuya Nishihara <yuya@tcha.org>
parents: 23036
diff changeset
22
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
23 $ hg init repo
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
24 $ cd repo
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
25
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
26 >>> from __future__ import absolute_import
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
27 >>> import os
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
28 >>> import sys
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
29 >>> from hgclient import bprint, check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
30 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
31 ... def hellomessage(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
32 ... ch, data = readchannel(server)
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
33 ... bprint(b'%c, %r' % (ch, data))
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
34 ... # run an arbitrary command to make sure the next thing the server
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
35 ... # sends isn't part of the hello message
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
36 ... runcommand(server, [b'id'])
23036
19f5273c9f3e cmdserver: include pid of server handling requests in hello message
Yuya Nishihara <yuya@tcha.org>
parents: 22994
diff changeset
37 o, 'capabilities: getencoding runcommand\nencoding: *\npid: *' (glob)
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
38 *** runcommand id
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
39 000000000000 tip
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
40
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
41 >>> from hgclient import check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
42 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
43 ... def unknowncommand(server):
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
44 ... server.stdin.write(b'unknowncommand\n')
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
45 abort: unknown command unknowncommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
46
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
47 >>> from hgclient import check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
48 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
49 ... def checkruncommand(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
50 ... # hello block
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
51 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
52 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
53 ... # no args
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
54 ... runcommand(server, [])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
55 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
56 ... # global options
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
57 ... runcommand(server, [b'id', b'--quiet'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
58 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
59 ... # make sure global options don't stick through requests
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
60 ... runcommand(server, [b'id'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
61 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
62 ... # --config
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
63 ... runcommand(server, [b'id', b'--config', b'ui.quiet=True'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
64 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
65 ... # make sure --config doesn't stick
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
66 ... runcommand(server, [b'id'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
67 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
68 ... # negative return code should be masked
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
69 ... runcommand(server, [b'id', b'-runknown'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
70 *** runcommand
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
71 Mercurial Distributed SCM
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
72
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
73 basic commands:
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
74
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
75 add add the specified files on the next commit
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
76 annotate show changeset information by line for each file
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
77 clone make a copy of an existing repository
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
78 commit commit the specified files or all outstanding changes
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
79 diff diff repository (or selected files)
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
80 export dump the header and diffs for one or more changesets
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
81 forget forget the specified files on the next commit
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
82 init create a new repository in the given directory
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
83 log show revision history of entire repository or files
23400
3bd577a3283e merge: be precise about what merged into what in short desc
anatoly techtonik <techtonik@gmail.com>
parents: 23095
diff changeset
84 merge merge another revision into working directory
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
85 pull pull changes from the specified source
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
86 push push changes to the specified destination
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
87 remove remove the specified files on the next commit
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
88 serve start stand-alone webserver
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
89 status show changed files in the working directory
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
90 summary summarize working directory state
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
91 update update working directory (or switch revisions)
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
92
29974
7109d5ddeb0c help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 29485
diff changeset
93 (use 'hg help' for the full list of commands or 'hg -v' for details)
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
94 *** runcommand id --quiet
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
95 000000000000
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
96 *** runcommand id
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
97 000000000000 tip
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
98 *** runcommand id --config ui.quiet=True
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
99 000000000000
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
100 *** runcommand id
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
101 000000000000 tip
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
102 *** runcommand id -runknown
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
103 abort: unknown revision 'unknown'
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
104 [255]
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
105
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
106 >>> from hgclient import bprint, check, readchannel
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
107 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
108 ... def inputeof(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
109 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
110 ... server.stdin.write(b'runcommand\n')
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
111 ... # close stdin while server is waiting for input
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
112 ... server.stdin.close()
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
113 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
114 ... # server exits with 1 if the pipe closed while reading the command
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
115 ... bprint(b'server exit code =', b'%d' % server.wait())
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
116 server exit code = 1
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
117
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
118 >>> from hgclient import check, readchannel, runcommand, stringio
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
119 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
120 ... def serverinput(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
121 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
122 ...
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
123 ... patch = b"""
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
124 ... # HG changeset patch
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
125 ... # User test
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
126 ... # Date 0 0
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
127 ... # Node ID c103a3dec114d882c98382d684d8af798d09d857
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
128 ... # Parent 0000000000000000000000000000000000000000
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
129 ... 1
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
130 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
131 ... diff -r 000000000000 -r c103a3dec114 a
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
132 ... --- /dev/null Thu Jan 01 00:00:00 1970 +0000
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
133 ... +++ b/a Thu Jan 01 00:00:00 1970 +0000
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
134 ... @@ -0,0 +1,1 @@
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
135 ... +1
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
136 ... """
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
137 ...
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
138 ... runcommand(server, [b'import', b'-'], input=stringio(patch))
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
139 ... runcommand(server, [b'log'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
140 *** runcommand import -
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
141 applying patch from stdin
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
142 *** runcommand log
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
143 changeset: 0:eff892de26ec
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
144 tag: tip
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
145 user: test
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
146 date: Thu Jan 01 00:00:00 1970 +0000
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
147 summary: 1
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
148
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
149
35170
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
150 check strict parsing of early options:
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
151
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
152 >>> import os
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
153 >>> from hgclient import check, readchannel, runcommand
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
154 >>> os.environ['HGPLAIN'] = '+strictflags'
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
155 >>> @check
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
156 ... def cwd(server):
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
157 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
158 ... runcommand(server, [b'log', b'-b', b'--config=alias.log=!echo pwned',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
159 ... b'default'])
35170
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
160 *** runcommand log -b --config=alias.log=!echo pwned default
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
161 abort: unknown revision '--config=alias.log=!echo pwned'
35170
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
162 [255]
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
163
30262
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
164 check that "histedit --commands=-" can read rules from the input channel:
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
165
40356
756e9b1084fd py3: import StringIO from test utility to test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40355
diff changeset
166 >>> from hgclient import check, readchannel, runcommand, stringio
30262
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
167 >>> @check
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
168 ... def serverinput(server):
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
169 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
170 ... rules = b'pick eff892de26ec\n'
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
171 ... runcommand(server, [b'histedit', b'0', b'--commands=-',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
172 ... b'--config', b'extensions.histedit='],
40356
756e9b1084fd py3: import StringIO from test utility to test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40355
diff changeset
173 ... input=stringio(rules))
30262
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
174 *** runcommand histedit 0 --commands=- --config extensions.histedit=
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
175
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
176 check that --cwd doesn't persist between requests:
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
177
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
178 $ mkdir foo
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
179 $ touch foo/bar
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
180 >>> from hgclient import check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
181 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
182 ... def cwd(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
183 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
184 ... runcommand(server, [b'--cwd', b'foo', b'st', b'bar'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
185 ... runcommand(server, [b'st', b'foo/bar'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
186 *** runcommand --cwd foo st bar
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
187 ? bar
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
188 *** runcommand st foo/bar
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
189 ? foo/bar
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
190
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
191 $ rm foo/bar
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
192
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
193
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
194 check that local configs for the cached repo aren't inherited when -R is used:
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
195
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
196 $ cat <<EOF >> .hg/hgrc
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
197 > [ui]
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
198 > foo = bar
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
199 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
200
37427
6282c1965f8e tests: conditionalize test-commandserver.t based on extra extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37220
diff changeset
201 #if no-extraextensions
6282c1965f8e tests: conditionalize test-commandserver.t based on extra extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37220
diff changeset
202
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
203 >>> from hgclient import check, readchannel, runcommand, sep
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
204 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
205 ... def localhgrc(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
206 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
207 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
208 ... # the cached repo local hgrc contains ui.foo=bar, so showconfig should
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
209 ... # show it
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
210 ... runcommand(server, [b'showconfig'], outfilter=sep)
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
211 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
212 ... # but not for this repo
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
213 ... runcommand(server, [b'init', b'foo'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
214 ... runcommand(server, [b'-R', b'foo', b'showconfig', b'ui', b'defaults'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
215 *** runcommand showconfig
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
216 bundle.mainreporoot=$TESTTMP/repo
25290
8f88f768e24c devel: rename 'all' to 'all-warnings' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24751
diff changeset
217 devel.all-warnings=true
32410
f94d7e3e46a0 devel: activate default-date in tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32337
diff changeset
218 devel.default-date=0 0
33426
29653495cece tests: add extra output for fsmonitor at showconfig
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33097
diff changeset
219 extensions.fsmonitor= (fsmonitor !)
47279
40b51c28b242 dirstate-v2: Update the expected output of some tests for new requirement
Simon Sapin <simon.sapin@octobus.net>
parents: 46417
diff changeset
220 format.exp-dirstate-v2=1 (dirstate-v2 !)
23388
42ed0780ec4b run-tests: set a default largefiles usercache in the default hgrc file
Matt Harbison <matt_harbison@yahoo.com>
parents: 23324
diff changeset
221 largefiles.usercache=$TESTTMP/.cache/largefiles
35280
8e72f9152c4d lfs: introduce a user level cache for lfs files
Matt Harbison <matt_harbison@yahoo.com>
parents: 35170
diff changeset
222 lfs.usercache=$TESTTMP/.cache/lfs
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
223 ui.slash=True
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
224 ui.interactive=False
45826
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
225 ui.detailed-exit-code=True
40470
d6b6f1b441cf run-tests: define the default merge tool through configuration
Boris Feld <boris.feld@octobus.net>
parents: 40362
diff changeset
226 ui.merge=internal:merge
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
227 ui.mergemarkers=detailed
46015
f44b9c72f061 run-tests: allow some slack about 'waiting on lock' message
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
228 ui.timeout.warn=15
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
229 ui.foo=bar
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
230 ui.nontty=true
31009
161ab32b44a1 runtests: set web.address to localhost
Jun Wu <quark@fb.com>
parents: 30986
diff changeset
231 web.address=localhost
31010
09ec648cd2a9 runtests: always set web.ipv6
Jun Wu <quark@fb.com>
parents: 31009
diff changeset
232 web\.ipv6=(?:True|False) (re)
37009
5890e5872f36 hgweb: allow defining Server response header for HTTP server
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36426
diff changeset
233 web.server-header=testing stub value
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
234 *** runcommand init foo
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
235 *** runcommand -R foo showconfig ui defaults
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
236 ui.slash=True
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
237 ui.interactive=False
45826
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
238 ui.detailed-exit-code=True
40470
d6b6f1b441cf run-tests: define the default merge tool through configuration
Boris Feld <boris.feld@octobus.net>
parents: 40362
diff changeset
239 ui.merge=internal:merge
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
240 ui.mergemarkers=detailed
46015
f44b9c72f061 run-tests: allow some slack about 'waiting on lock' message
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
241 ui.timeout.warn=15
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
242 ui.nontty=true
37427
6282c1965f8e tests: conditionalize test-commandserver.t based on extra extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37220
diff changeset
243 #endif
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
244
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
245 $ rm -R foo
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
246
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
247 #if windows
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
248 $ PYTHONPATH="$TESTTMP/repo;$PYTHONPATH"
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
249 #else
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
250 $ PYTHONPATH="$TESTTMP/repo:$PYTHONPATH"
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
251 #endif
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
252
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
253 $ cat <<EOF > hook.py
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
254 > import sys
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
255 > from hgclient import bprint
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
256 > def hook(**args):
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
257 > bprint(b'hook talking')
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
258 > bprint(b'now try to read something: %r' % sys.stdin.read())
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
259 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
260
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
261 >>> from hgclient import check, readchannel, runcommand, stringio
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
262 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
263 ... def hookoutput(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
264 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
265 ... runcommand(server, [b'--config',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
266 ... b'hooks.pre-identify=python:hook.hook',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
267 ... b'id'],
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
268 ... input=stringio(b'some input'))
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
269 *** runcommand --config hooks.pre-identify=python:hook.hook id
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
270 eff892de26ec tip
37220
7f78de1c93aa procutil: redirect ui.fout to stderr while stdio is protected
Yuya Nishihara <yuya@tcha.org>
parents: 37009
diff changeset
271 hook talking
7f78de1c93aa procutil: redirect ui.fout to stderr while stdio is protected
Yuya Nishihara <yuya@tcha.org>
parents: 37009
diff changeset
272 now try to read something: ''
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
273
33607
6c142f279625 pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents: 33542
diff changeset
274 Clean hook cached version
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
275 $ rm hook.py*
33607
6c142f279625 pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents: 33542
diff changeset
276 $ rm -Rf __pycache__
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
277
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
278 $ echo a >> a
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
279 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
280 >>> from hgclient import check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
281 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
282 ... def outsidechanges(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
283 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
284 ... runcommand(server, [b'status'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
285 ... os.system('hg ci -Am2')
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
286 ... runcommand(server, [b'tip'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
287 ... runcommand(server, [b'status'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
288 *** runcommand status
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
289 M a
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
290 *** runcommand tip
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
291 changeset: 1:d3a0a68be6de
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
292 tag: tip
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
293 user: test
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
294 date: Thu Jan 01 00:00:00 1970 +0000
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
295 summary: 2
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
296
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
297 *** runcommand status
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
298
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
299 >>> import os
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
300 >>> from hgclient import bprint, check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
301 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
302 ... def bookmarks(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
303 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
304 ... runcommand(server, [b'bookmarks'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
305 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
306 ... # changes .hg/bookmarks
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
307 ... os.system('hg bookmark -i bm1')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
308 ... os.system('hg bookmark -i bm2')
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
309 ... runcommand(server, [b'bookmarks'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
310 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
311 ... # changes .hg/bookmarks.current
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
312 ... os.system('hg upd bm1 -q')
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
313 ... runcommand(server, [b'bookmarks'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
314 ...
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
315 ... runcommand(server, [b'bookmarks', b'bm3'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
316 ... f = open('a', 'ab')
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
317 ... f.write(b'a\n') and None
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
318 ... f.close()
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
319 ... runcommand(server, [b'commit', b'-Amm'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
320 ... runcommand(server, [b'bookmarks'])
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
321 ... bprint(b'')
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
322 *** runcommand bookmarks
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
323 no bookmarks set
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
324 *** runcommand bookmarks
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
325 bm1 1:d3a0a68be6de
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
326 bm2 1:d3a0a68be6de
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
327 *** runcommand bookmarks
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
328 * bm1 1:d3a0a68be6de
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
329 bm2 1:d3a0a68be6de
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
330 *** runcommand bookmarks bm3
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
331 *** runcommand commit -Amm
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
332 *** runcommand bookmarks
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
333 bm1 1:d3a0a68be6de
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
334 bm2 1:d3a0a68be6de
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
335 * bm3 2:aef17e88f5f0
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
336
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
337
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
338 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
339 >>> from hgclient import check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
340 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
341 ... def tagscache(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
342 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
343 ... runcommand(server, [b'id', b'-t', b'-r', b'0'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
344 ... os.system('hg tag -r 0 foo')
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
345 ... runcommand(server, [b'id', b'-t', b'-r', b'0'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
346 *** runcommand id -t -r 0
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
347
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
348 *** runcommand id -t -r 0
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
349 foo
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
350
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
351 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
352 >>> from hgclient import check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
353 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
354 ... def setphase(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
355 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
356 ... runcommand(server, [b'phase', b'-r', b'.'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
357 ... os.system('hg phase -r . -p')
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
358 ... runcommand(server, [b'phase', b'-r', b'.'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
359 *** runcommand phase -r .
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
360 3: draft
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
361 *** runcommand phase -r .
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
362 3: public
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
363
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
364 $ echo a >> a
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
365 >>> from hgclient import bprint, check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
366 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
367 ... def rollback(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
368 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
369 ... runcommand(server, [b'phase', b'-r', b'.', b'-p'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
370 ... runcommand(server, [b'commit', b'-Am.'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
371 ... runcommand(server, [b'rollback'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
372 ... runcommand(server, [b'phase', b'-r', b'.'])
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
373 ... bprint(b'')
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
374 *** runcommand phase -r . -p
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
375 no phases changed
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
376 *** runcommand commit -Am.
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
377 *** runcommand rollback
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
378 repository tip rolled back to revision 3 (undo commit)
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
379 working directory now based on revision 3
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
380 *** runcommand phase -r .
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
381 3: public
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
382
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
383
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
384 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
385 >>> from hgclient import check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
386 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
387 ... def branch(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
388 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
389 ... runcommand(server, [b'branch'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
390 ... os.system('hg branch foo')
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
391 ... runcommand(server, [b'branch'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
392 ... os.system('hg branch default')
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
393 *** runcommand branch
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
394 default
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
395 marked working directory as branch foo
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
396 (branches are permanent and global, did you want a bookmark?)
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
397 *** runcommand branch
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
398 foo
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
399 marked working directory as branch default
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
400 (branches are permanent and global, did you want a bookmark?)
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
401
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
402 $ touch .hgignore
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
403 >>> import os
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
404 >>> from hgclient import bprint, check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
405 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
406 ... def hgignore(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
407 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
408 ... runcommand(server, [b'commit', b'-Am.'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
409 ... f = open('ignored-file', 'ab')
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
410 ... f.write(b'') and None
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
411 ... f.close()
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
412 ... f = open('.hgignore', 'ab')
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
413 ... f.write(b'ignored-file')
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
414 ... f.close()
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
415 ... runcommand(server, [b'status', b'-i', b'-u'])
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
416 ... bprint(b'')
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
417 *** runcommand commit -Am.
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
418 adding .hgignore
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
419 *** runcommand status -i -u
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
420 I ignored-file
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
421
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
422
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
423 cache of non-public revisions should be invalidated on repository change
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
424 (issue4855):
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
425
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
426 >>> import os
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
427 >>> from hgclient import bprint, check, readchannel, runcommand
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
428 >>> @check
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
429 ... def phasesetscacheaftercommit(server):
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
430 ... readchannel(server)
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
431 ... # load _phasecache._phaserevs and _phasesets
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
432 ... runcommand(server, [b'log', b'-qr', b'draft()'])
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
433 ... # create draft commits by another process
36289
257071fd3357 py3: use range instead of xrange in tests/test-commandserver.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35280
diff changeset
434 ... for i in range(5, 7):
26431
46984a5308a0 test-commandserver: generate files with a fixed EOL for test stability
Matt Harbison <matt_harbison@yahoo.com>
parents: 26409
diff changeset
435 ... f = open('a', 'ab')
46984a5308a0 test-commandserver: generate files with a fixed EOL for test stability
Matt Harbison <matt_harbison@yahoo.com>
parents: 26409
diff changeset
436 ... f.seek(0, os.SEEK_END)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
437 ... f.write(b'a\n') and None
26431
46984a5308a0 test-commandserver: generate files with a fixed EOL for test stability
Matt Harbison <matt_harbison@yahoo.com>
parents: 26409
diff changeset
438 ... f.close()
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
439 ... os.system('hg commit -Aqm%d' % i)
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
440 ... # new commits should be listed as draft revisions
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
441 ... runcommand(server, [b'log', b'-qr', b'draft()'])
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
442 ... bprint(b'')
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
443 *** runcommand log -qr draft()
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
444 4:7966c8e3734d
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
445 *** runcommand log -qr draft()
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
446 4:7966c8e3734d
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
447 5:41f6602d1c4f
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
448 6:10501e202c35
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
449
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
450
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
451 >>> import os
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
452 >>> from hgclient import bprint, check, readchannel, runcommand
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
453 >>> @check
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
454 ... def phasesetscacheafterstrip(server):
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
455 ... readchannel(server)
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
456 ... # load _phasecache._phaserevs and _phasesets
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
457 ... runcommand(server, [b'log', b'-qr', b'draft()'])
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
458 ... # strip cached revisions by another process
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
459 ... os.system('hg --config extensions.strip= strip -q 5')
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
460 ... # shouldn't abort by "unknown revision '6'"
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
461 ... runcommand(server, [b'log', b'-qr', b'draft()'])
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
462 ... bprint(b'')
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
463 *** runcommand log -qr draft()
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
464 4:7966c8e3734d
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
465 5:41f6602d1c4f
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
466 6:10501e202c35
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
467 *** runcommand log -qr draft()
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
468 4:7966c8e3734d
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
469
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
470
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
471 cache of phase roots should be invalidated on strip (issue3827):
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
472
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
473 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
474 >>> from hgclient import check, readchannel, runcommand, sep
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
475 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
476 ... def phasecacheafterstrip(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
477 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
478 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
479 ... # create new head, 5:731265503d86
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
480 ... runcommand(server, [b'update', b'-C', b'0'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
481 ... f = open('a', 'ab')
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
482 ... f.write(b'a\n') and None
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
483 ... f.close()
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
484 ... runcommand(server, [b'commit', b'-Am.', b'a'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
485 ... runcommand(server, [b'log', b'-Gq'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
486 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
487 ... # make it public; draft marker moves to 4:7966c8e3734d
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
488 ... runcommand(server, [b'phase', b'-p', b'.'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
489 ... # load _phasecache.phaseroots
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
490 ... runcommand(server, [b'phase', b'.'], outfilter=sep)
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
491 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
492 ... # strip 1::4 outside server
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
493 ... os.system('hg -q --config extensions.mq= strip 1')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
494 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
495 ... # shouldn't raise "7966c8e3734d: no node!"
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
496 ... runcommand(server, [b'branches'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
497 *** runcommand update -C 0
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
498 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
499 (leaving bookmark bm3)
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
500 *** runcommand commit -Am. a
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
501 created new head
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
502 *** runcommand log -Gq
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
503 @ 5:731265503d86
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
504 |
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
505 | o 4:7966c8e3734d
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
506 | |
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
507 | o 3:b9b85890c400
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
508 | |
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
509 | o 2:aef17e88f5f0
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
510 | |
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
511 | o 1:d3a0a68be6de
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
512 |/
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
513 o 0:eff892de26ec
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
514
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
515 *** runcommand phase -p .
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
516 *** runcommand phase .
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
517 5: public
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
518 *** runcommand branches
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
519 default 1:731265503d86
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
520
26251
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
521 in-memory cache must be reloaded if transaction is aborted. otherwise
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
522 changelog and manifest would have invalid node:
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
523
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
524 $ echo a >> a
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
525 >>> from hgclient import check, readchannel, runcommand
26251
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
526 >>> @check
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
527 ... def txabort(server):
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
528 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
529 ... runcommand(server, [b'commit', b'--config', b'hooks.pretxncommit=false',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
530 ... b'-mfoo'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
531 ... runcommand(server, [b'verify'])
26251
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
532 *** runcommand commit --config hooks.pretxncommit=false -mfoo
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
533 transaction abort!
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
534 rollback completed
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
535 abort: pretxncommit hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 46015
diff changeset
536 [40]
26251
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
537 *** runcommand verify
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
538 checking changesets
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
539 checking manifests
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
540 crosschecking files in changesets and manifests
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
541 checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 37427
diff changeset
542 checked 2 changesets with 2 changes to 1 files
26251
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
543 $ hg revert --no-backup -aq
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
544
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22783
diff changeset
545 $ cat >> .hg/hgrc << EOF
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22783
diff changeset
546 > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 34852
diff changeset
547 > evolution.createmarkers=True
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
548 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
549
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
550 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
551 >>> from hgclient import check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
552 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
553 ... def obsolete(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
554 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
555 ...
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
556 ... runcommand(server, [b'up', b'null'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
557 ... runcommand(server, [b'phase', b'-df', b'tip'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
558 ... cmd = 'hg debugobsolete `hg log -r tip --template {node}`'
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
559 ... if os.name == 'nt':
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
560 ... cmd = 'sh -c "%s"' % cmd # run in sh, not cmd.exe
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
561 ... os.system(cmd)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
562 ... runcommand(server, [b'log', b'--hidden'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
563 ... runcommand(server, [b'log'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
564 *** runcommand up null
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
565 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
566 *** runcommand phase -df tip
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42620
diff changeset
567 1 new obsolescence markers
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33426
diff changeset
568 obsoleted 1 changesets
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
569 *** runcommand log --hidden
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
570 changeset: 1:731265503d86
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
571 tag: tip
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
572 user: test
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
573 date: Thu Jan 01 00:00:00 1970 +0000
34900
3a3adbcbd3a0 obsfate: rename obsfate into obsolete in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
574 obsolete: pruned
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
575 summary: .
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
576
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
577 changeset: 0:eff892de26ec
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
578 bookmark: bm1
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
579 bookmark: bm2
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
580 bookmark: bm3
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
581 user: test
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
582 date: Thu Jan 01 00:00:00 1970 +0000
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
583 summary: 1
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
584
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
585 *** runcommand log
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
586 changeset: 0:eff892de26ec
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
587 bookmark: bm1
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
588 bookmark: bm2
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
589 bookmark: bm3
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
590 tag: tip
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
591 user: test
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
592 date: Thu Jan 01 00:00:00 1970 +0000
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
593 summary: 1
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
594
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
595
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
596 $ cat <<EOF >> .hg/hgrc
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
597 > [extensions]
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
598 > mq =
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
599 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
600
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
601 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
602 >>> from hgclient import check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
603 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
604 ... def mqoutsidechanges(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
605 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
606 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
607 ... # load repo.mq
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
608 ... runcommand(server, [b'qapplied'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
609 ... os.system('hg qnew 0.diff')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
610 ... # repo.mq should be invalidated
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
611 ... runcommand(server, [b'qapplied'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
612 ...
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
613 ... runcommand(server, [b'qpop', b'--all'])
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
614 ... os.system('hg qqueue --create foo')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
615 ... # repo.mq should be recreated to point to new queue
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
616 ... runcommand(server, [b'qqueue', b'--active'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
617 *** runcommand qapplied
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
618 *** runcommand qapplied
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
619 0.diff
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
620 *** runcommand qpop --all
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
621 popping 0.diff
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
622 patch queue now empty
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
623 *** runcommand qqueue --active
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
624 foo
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
625
40591
c49283e740da test-commandserver: clean up quoting and location of dbgui extension
Yuya Nishihara <yuya@tcha.org>
parents: 40590
diff changeset
626 $ cat <<'EOF' > ../dbgui.py
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
627 > import os
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
628 > import sys
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31010
diff changeset
629 > from mercurial import commands, registrar
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
630 > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31010
diff changeset
631 > command = registrar.command(cmdtable)
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32414
diff changeset
632 > @command(b"debuggetpass", norepo=True)
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
633 > def debuggetpass(ui):
40591
c49283e740da test-commandserver: clean up quoting and location of dbgui extension
Yuya Nishihara <yuya@tcha.org>
parents: 40590
diff changeset
634 > ui.write(b"%s\n" % ui.getpass())
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32414
diff changeset
635 > @command(b"debugprompt", norepo=True)
22783
524b786bd54f ui: disable echo back of prompt input if ui is set to non-tty purposely
Yuya Nishihara <yuya@tcha.org>
parents: 22572
diff changeset
636 > def debugprompt(ui):
40591
c49283e740da test-commandserver: clean up quoting and location of dbgui extension
Yuya Nishihara <yuya@tcha.org>
parents: 40590
diff changeset
637 > ui.write(b"%s\n" % ui.prompt(b"prompt:"))
40592
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
638 > @command(b"debugpromptchoice", norepo=True)
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
639 > def debugpromptchoice(ui):
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
640 > msg = b"promptchoice (y/n)? $$ &Yes $$ &No"
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
641 > ui.write(b"%d\n" % ui.promptchoice(msg))
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32414
diff changeset
642 > @command(b"debugreadstdin", norepo=True)
23324
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
643 > def debugreadstdin(ui):
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
644 > ui.write(b"read: %r\n" % sys.stdin.read(1))
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32414
diff changeset
645 > @command(b"debugwritestdout", norepo=True)
23324
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
646 > def debugwritestdout(ui):
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
647 > os.write(1, b"low-level stdout fd and\n")
37220
7f78de1c93aa procutil: redirect ui.fout to stderr while stdio is protected
Yuya Nishihara <yuya@tcha.org>
parents: 37009
diff changeset
648 > sys.stdout.write("stdout should be redirected to stderr\n")
23324
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
649 > sys.stdout.flush()
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
650 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
651 $ cat <<EOF >> .hg/hgrc
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
652 > [extensions]
40591
c49283e740da test-commandserver: clean up quoting and location of dbgui extension
Yuya Nishihara <yuya@tcha.org>
parents: 40590
diff changeset
653 > dbgui = ../dbgui.py
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
654 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
655
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
656 >>> from hgclient import check, readchannel, runcommand, stringio
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
657 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
658 ... def getpass(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
659 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
660 ... runcommand(server, [b'debuggetpass', b'--config',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
661 ... b'ui.interactive=True'],
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
662 ... input=stringio(b'1234\n'))
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
663 ... runcommand(server, [b'debuggetpass', b'--config',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
664 ... b'ui.interactive=True'],
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
665 ... input=stringio(b'\n'))
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
666 ... runcommand(server, [b'debuggetpass', b'--config',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
667 ... b'ui.interactive=True'],
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
668 ... input=stringio(b''))
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
669 ... runcommand(server, [b'debugprompt', b'--config',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
670 ... b'ui.interactive=True'],
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
671 ... input=stringio(b'5678\n'))
44373
98c14f0108b8 py3: fix EOL detection in commandserver.channeledinput
Yuya Nishihara <yuya@tcha.org>
parents: 42893
diff changeset
672 ... runcommand(server, [b'debugprompt', b'--config',
98c14f0108b8 py3: fix EOL detection in commandserver.channeledinput
Yuya Nishihara <yuya@tcha.org>
parents: 42893
diff changeset
673 ... b'ui.interactive=True'],
98c14f0108b8 py3: fix EOL detection in commandserver.channeledinput
Yuya Nishihara <yuya@tcha.org>
parents: 42893
diff changeset
674 ... input=stringio(b'\nremainder\nshould\nnot\nbe\nread\n'))
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
675 ... runcommand(server, [b'debugreadstdin'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
676 ... runcommand(server, [b'debugwritestdout'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
677 *** runcommand debuggetpass --config ui.interactive=True
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
678 password: 1234
30814
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
679 *** runcommand debuggetpass --config ui.interactive=True
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
680 password:
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
681 *** runcommand debuggetpass --config ui.interactive=True
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
682 password: abort: response expected
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
683 [255]
22783
524b786bd54f ui: disable echo back of prompt input if ui is set to non-tty purposely
Yuya Nishihara <yuya@tcha.org>
parents: 22572
diff changeset
684 *** runcommand debugprompt --config ui.interactive=True
524b786bd54f ui: disable echo back of prompt input if ui is set to non-tty purposely
Yuya Nishihara <yuya@tcha.org>
parents: 22572
diff changeset
685 prompt: 5678
44373
98c14f0108b8 py3: fix EOL detection in commandserver.channeledinput
Yuya Nishihara <yuya@tcha.org>
parents: 42893
diff changeset
686 *** runcommand debugprompt --config ui.interactive=True
98c14f0108b8 py3: fix EOL detection in commandserver.channeledinput
Yuya Nishihara <yuya@tcha.org>
parents: 42893
diff changeset
687 prompt: y
23324
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
688 *** runcommand debugreadstdin
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
689 read: ''
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
690 *** runcommand debugwritestdout
37220
7f78de1c93aa procutil: redirect ui.fout to stderr while stdio is protected
Yuya Nishihara <yuya@tcha.org>
parents: 37009
diff changeset
691 low-level stdout fd and
7f78de1c93aa procutil: redirect ui.fout to stderr while stdio is protected
Yuya Nishihara <yuya@tcha.org>
parents: 37009
diff changeset
692 stdout should be redirected to stderr
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
693
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
694
23322
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
695 run commandserver in commandserver, which is silly but should work:
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
696
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
697 >>> from hgclient import bprint, check, readchannel, runcommand, stringio
23322
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
698 >>> @check
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
699 ... def nested(server):
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
700 ... bprint(b'%c, %r' % readchannel(server))
23322
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
701 ... class nestedserver(object):
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
702 ... stdin = stringio(b'getencoding\n')
28836
3f45488d70df test-commandserver: handle cStringIO.StringIO/io.StringIO divergence
timeless <timeless@mozdev.org>
parents: 28511
diff changeset
703 ... stdout = stringio()
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
704 ... runcommand(server, [b'serve', b'--cmdserver', b'pipe'],
23322
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
705 ... output=nestedserver.stdout, input=nestedserver.stdin)
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
706 ... nestedserver.stdout.seek(0)
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
707 ... bprint(b'%c, %r' % readchannel(nestedserver)) # hello
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
708 ... bprint(b'%c, %r' % readchannel(nestedserver)) # getencoding
23322
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
709 o, 'capabilities: getencoding runcommand\nencoding: *\npid: *' (glob)
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
710 *** runcommand serve --cmdserver pipe
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
711 o, 'capabilities: getencoding runcommand\nencoding: *\npid: *' (glob)
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
712 r, '*' (glob)
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
713
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
714
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
715 start without repository:
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
716
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
717 $ cd ..
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
718
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
719 >>> from hgclient import bprint, check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
720 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
721 ... def hellomessage(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
722 ... ch, data = readchannel(server)
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
723 ... bprint(b'%c, %r' % (ch, data))
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
724 ... # run an arbitrary command to make sure the next thing the server
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
725 ... # sends isn't part of the hello message
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
726 ... runcommand(server, [b'id'])
23036
19f5273c9f3e cmdserver: include pid of server handling requests in hello message
Yuya Nishihara <yuya@tcha.org>
parents: 22994
diff changeset
727 o, 'capabilities: getencoding runcommand\nencoding: *\npid: *' (glob)
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
728 *** runcommand id
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
729 abort: there is no Mercurial repository here (.hg not found)
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
730 [10]
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
731
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
732 >>> from hgclient import check, readchannel, runcommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
733 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
734 ... def startwithoutrepo(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
735 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
736 ... runcommand(server, [b'init', b'repo2'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
737 ... runcommand(server, [b'id', b'-R', b'repo2'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
738 *** runcommand init repo2
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
739 *** runcommand id -R repo2
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
740 000000000000 tip
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
741
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
742
26142
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
743 don't fall back to cwd if invalid -R path is specified (issue4805):
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
744
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
745 $ cd repo
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
746 $ hg serve --cmdserver pipe -R ../nonexistent
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
747 abort: repository ../nonexistent not found
26142
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
748 [255]
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
749 $ cd ..
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
750
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
751
45057
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
752 #if no-windows
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
753
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
754 option to not shutdown on SIGINT:
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
755
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
756 $ cat <<'EOF' > dbgint.py
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
757 > import os
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
758 > import signal
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
759 > import time
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
760 > from mercurial import commands, registrar
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
761 > cmdtable = {}
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
762 > command = registrar.command(cmdtable)
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
763 > @command(b"debugsleep", norepo=True)
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
764 > def debugsleep(ui):
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
765 > time.sleep(1)
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
766 > @command(b"debugsuicide", norepo=True)
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
767 > def debugsuicide(ui):
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
768 > os.kill(os.getpid(), signal.SIGINT)
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
769 > time.sleep(1)
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
770 > EOF
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
771
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
772 >>> import signal
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
773 >>> import time
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
774 >>> from hgclient import checkwith, readchannel, runcommand
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
775 >>> @checkwith(extraargs=[b'--config', b'cmdserver.shutdown-on-interrupt=False',
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
776 ... b'--config', b'extensions.dbgint=dbgint.py'])
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
777 ... def nointr(server):
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
778 ... readchannel(server)
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
779 ... server.send_signal(signal.SIGINT) # server won't be terminated
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
780 ... time.sleep(1)
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
781 ... runcommand(server, [b'debugsleep'])
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
782 ... server.send_signal(signal.SIGINT) # server won't be terminated
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
783 ... runcommand(server, [b'debugsleep'])
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
784 ... runcommand(server, [b'debugsuicide']) # command can be interrupted
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
785 ... server.send_signal(signal.SIGTERM) # server will be terminated
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
786 ... time.sleep(1)
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
787 *** runcommand debugsleep
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
788 *** runcommand debugsleep
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
789 *** runcommand debugsuicide
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
790 interrupted!
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
791 killed!
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
792 [255]
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
793
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
794 #endif
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
795
d6e99a446eea cmdserver: add option to not exit from message loop on SIGINT
Yuya Nishihara <yuya@tcha.org>
parents: 44373
diff changeset
796
40589
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
797 structured message channel:
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
798
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
799 $ cat <<'EOF' >> repo2/.hg/hgrc
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
800 > [ui]
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
801 > # server --config should precede repository option
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
802 > message-output = stdio
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
803 > EOF
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
804
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
805 >>> from hgclient import bprint, checkwith, readchannel, runcommand
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
806 >>> @checkwith(extraargs=[b'--config', b'ui.message-output=channel',
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
807 ... b'--config', b'cmdserver.message-encodings=foo cbor'])
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
808 ... def verify(server):
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
809 ... _ch, data = readchannel(server)
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
810 ... bprint(data)
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
811 ... runcommand(server, [b'-R', b'repo2', b'verify'])
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
812 capabilities: getencoding runcommand
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
813 encoding: ascii
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
814 message-encoding: cbor
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
815 pid: * (glob)
40653
6d0fdeda43f7 tests: stabilize test-commandserver.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 40594
diff changeset
816 pgid: * (glob) (no-windows !)
40589
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
817 *** runcommand -R repo2 verify
40590
83dd8c63a0c6 ui: extract helpers to write message with type or label
Yuya Nishihara <yuya@tcha.org>
parents: 40589
diff changeset
818 message: '\xa2DdataTchecking changesets\nDtypeFstatus'
40594
234c2d8c9e48 commandserver: send raw progress information to message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40593
diff changeset
819 message: '\xa6Ditem@Cpos\xf6EtopicHcheckingEtotal\xf6DtypeHprogressDunit@'
40590
83dd8c63a0c6 ui: extract helpers to write message with type or label
Yuya Nishihara <yuya@tcha.org>
parents: 40589
diff changeset
820 message: '\xa2DdataSchecking manifests\nDtypeFstatus'
40594
234c2d8c9e48 commandserver: send raw progress information to message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40593
diff changeset
821 message: '\xa6Ditem@Cpos\xf6EtopicHcheckingEtotal\xf6DtypeHprogressDunit@'
40590
83dd8c63a0c6 ui: extract helpers to write message with type or label
Yuya Nishihara <yuya@tcha.org>
parents: 40589
diff changeset
822 message: '\xa2DdataX0crosschecking files in changesets and manifests\nDtypeFstatus'
40594
234c2d8c9e48 commandserver: send raw progress information to message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40593
diff changeset
823 message: '\xa6Ditem@Cpos\xf6EtopicMcrosscheckingEtotal\xf6DtypeHprogressDunit@'
40590
83dd8c63a0c6 ui: extract helpers to write message with type or label
Yuya Nishihara <yuya@tcha.org>
parents: 40589
diff changeset
824 message: '\xa2DdataOchecking files\nDtypeFstatus'
40594
234c2d8c9e48 commandserver: send raw progress information to message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40593
diff changeset
825 message: '\xa6Ditem@Cpos\xf6EtopicHcheckingEtotal\xf6DtypeHprogressDunit@'
40590
83dd8c63a0c6 ui: extract helpers to write message with type or label
Yuya Nishihara <yuya@tcha.org>
parents: 40589
diff changeset
826 message: '\xa2DdataX/checked 0 changesets with 0 changes to 0 files\nDtypeFstatus'
40589
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
827
40592
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
828 >>> from hgclient import checkwith, readchannel, runcommand, stringio
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
829 >>> @checkwith(extraargs=[b'--config', b'ui.message-output=channel',
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
830 ... b'--config', b'cmdserver.message-encodings=cbor',
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
831 ... b'--config', b'extensions.dbgui=dbgui.py'])
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
832 ... def prompt(server):
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
833 ... readchannel(server)
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
834 ... interactive = [b'--config', b'ui.interactive=True']
40593
6f0941f4a184 commandserver: make getpass() request distinct from normal prompt
Yuya Nishihara <yuya@tcha.org>
parents: 40592
diff changeset
835 ... runcommand(server, [b'debuggetpass'] + interactive,
6f0941f4a184 commandserver: make getpass() request distinct from normal prompt
Yuya Nishihara <yuya@tcha.org>
parents: 40592
diff changeset
836 ... input=stringio(b'1234\n'))
40592
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
837 ... runcommand(server, [b'debugprompt'] + interactive,
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
838 ... input=stringio(b'5678\n'))
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
839 ... runcommand(server, [b'debugpromptchoice'] + interactive,
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
840 ... input=stringio(b'n\n'))
40593
6f0941f4a184 commandserver: make getpass() request distinct from normal prompt
Yuya Nishihara <yuya@tcha.org>
parents: 40592
diff changeset
841 *** runcommand debuggetpass --config ui.interactive=True
6f0941f4a184 commandserver: make getpass() request distinct from normal prompt
Yuya Nishihara <yuya@tcha.org>
parents: 40592
diff changeset
842 message: '\xa3DdataJpassword: Hpassword\xf5DtypeFprompt'
6f0941f4a184 commandserver: make getpass() request distinct from normal prompt
Yuya Nishihara <yuya@tcha.org>
parents: 40592
diff changeset
843 1234
40592
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
844 *** runcommand debugprompt --config ui.interactive=True
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
845 message: '\xa3DdataGprompt:GdefaultAyDtypeFprompt'
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
846 5678
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
847 *** runcommand debugpromptchoice --config ui.interactive=True
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
848 message: '\xa4Gchoices\x82\x82AyCYes\x82AnBNoDdataTpromptchoice (y/n)? GdefaultAyDtypeFprompt'
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
849 1
83e571ea06a9 commandserver: attach prompt default and choices to message
Yuya Nishihara <yuya@tcha.org>
parents: 40591
diff changeset
850
40589
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
851 bad message encoding:
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
852
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
853 $ hg serve --cmdserver pipe --config ui.message-output=channel
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
854 abort: no supported message encodings:
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
855 [255]
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
856 $ hg serve --cmdserver pipe --config ui.message-output=channel \
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
857 > --config cmdserver.message-encodings='foo bar'
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
858 abort: no supported message encodings: foo bar
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
859 [255]
054d0fcba2c4 commandserver: add experimental option to use separate message channel
Yuya Nishihara <yuya@tcha.org>
parents: 40470
diff changeset
860
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
861 unix domain socket:
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
862
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
863 $ cd repo
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
864 $ hg update -q
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
865
23095
ac827031fe05 tests: don't try to test unix sockets on vfat
Matt Mackall <mpm@selenic.com>
parents: 23053
diff changeset
866 #if unix-socket unix-permissions
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
867
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
868 >>> from hgclient import bprint, check, readchannel, runcommand, stringio, unixserver
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
869 >>> server = unixserver(b'.hg/server.sock', b'.hg/server.log')
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
870 >>> def hellomessage(conn):
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
871 ... ch, data = readchannel(conn)
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
872 ... bprint(b'%c, %r' % (ch, data))
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
873 ... runcommand(conn, [b'id'])
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
874 >>> check(hellomessage, server.connect)
23036
19f5273c9f3e cmdserver: include pid of server handling requests in hello message
Yuya Nishihara <yuya@tcha.org>
parents: 22994
diff changeset
875 o, 'capabilities: getencoding runcommand\nencoding: *\npid: *' (glob)
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
876 *** runcommand id
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
877 eff892de26ec tip bm1/bm2/bm3
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
878 >>> def unknowncommand(conn):
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
879 ... readchannel(conn)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
880 ... conn.stdin.write(b'unknowncommand\n')
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
881 >>> check(unknowncommand, server.connect) # error sent to server.log
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
882 >>> def serverinput(conn):
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
883 ... readchannel(conn)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
884 ... patch = b"""
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
885 ... # HG changeset patch
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
886 ... # User test
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
887 ... # Date 0 0
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
888 ... 2
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
889 ...
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
890 ... diff -r eff892de26ec -r 1ed24be7e7a0 a
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
891 ... --- a/a
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
892 ... +++ b/a
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
893 ... @@ -1,1 +1,2 @@
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
894 ... 1
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
895 ... +2
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
896 ... """
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
897 ... runcommand(conn, [b'import', b'-'], input=stringio(patch))
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
898 ... runcommand(conn, [b'log', b'-rtip', b'-q'])
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
899 >>> check(serverinput, server.connect)
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
900 *** runcommand import -
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
901 applying patch from stdin
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
902 *** runcommand log -rtip -q
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
903 2:1ed24be7e7a0
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
904 >>> server.shutdown()
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
905
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
906 $ cat .hg/server.log
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
907 listening at .hg/server.sock
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
908 abort: unknown command unknowncommand
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
909 killed!
28511
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
910 $ rm .hg/server.log
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
911
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
912 if server crashed before hello, traceback will be sent to 'e' channel as
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
913 last ditch:
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
914
40822
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
915 $ cat <<'EOF' > ../earlycrasher.py
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
916 > from mercurial import commandserver, extensions
40875
e7110f44ee2d commandserver: pass around option to hook repo instance creation
Yuya Nishihara <yuya@tcha.org>
parents: 40822
diff changeset
917 > def _serverequest(orig, ui, repo, conn, createcmdserver, prereposetups):
40822
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
918 > def createcmdserver(*args, **kwargs):
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
919 > raise Exception('crash')
40875
e7110f44ee2d commandserver: pass around option to hook repo instance creation
Yuya Nishihara <yuya@tcha.org>
parents: 40822
diff changeset
920 > return orig(ui, repo, conn, createcmdserver, prereposetups)
40822
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
921 > def extsetup(ui):
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
922 > extensions.wrapfunction(commandserver, b'_serverequest', _serverequest)
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
923 > EOF
28511
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
924 $ cat <<EOF >> .hg/hgrc
40822
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
925 > [extensions]
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
926 > earlycrasher = ../earlycrasher.py
28511
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
927 > EOF
40355
77ab5fbdbbf0 py3: use bprint() helper in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 40354
diff changeset
928 >>> from hgclient import bprint, check, readchannel, unixserver
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
929 >>> server = unixserver(b'.hg/server.sock', b'.hg/server.log')
28511
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
930 >>> def earlycrash(conn):
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
931 ... while True:
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
932 ... try:
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
933 ... ch, data = readchannel(conn)
40361
b7de186efd82 py3: don't use traceback.print_exc() in commandserver.py
Yuya Nishihara <yuya@tcha.org>
parents: 40356
diff changeset
934 ... for l in data.splitlines(True):
b7de186efd82 py3: don't use traceback.print_exc() in commandserver.py
Yuya Nishihara <yuya@tcha.org>
parents: 40356
diff changeset
935 ... if not l.startswith(b' '):
b7de186efd82 py3: don't use traceback.print_exc() in commandserver.py
Yuya Nishihara <yuya@tcha.org>
parents: 40356
diff changeset
936 ... bprint(b'%c, %r' % (ch, l))
28511
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
937 ... except EOFError:
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
938 ... break
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
939 >>> check(earlycrash, server.connect)
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
940 e, 'Traceback (most recent call last):\n'
40822
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
941 e, 'Exception: crash\n'
28511
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
942 >>> server.shutdown()
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
943
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
944 $ cat .hg/server.log | grep -v '^ '
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
945 listening at .hg/server.sock
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
946 Traceback (most recent call last):
40822
6a75363f834a test-commandserver: change way of triggering early crash
Yuya Nishihara <yuya@tcha.org>
parents: 40653
diff changeset
947 Exception: crash
28511
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
948 killed!
23095
ac827031fe05 tests: don't try to test unix sockets on vfat
Matt Mackall <mpm@selenic.com>
parents: 23053
diff changeset
949 #endif
ac827031fe05 tests: don't try to test unix sockets on vfat
Matt Mackall <mpm@selenic.com>
parents: 23053
diff changeset
950 #if no-unix-socket
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
951
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
952 $ hg serve --cmdserver unix -a .hg/server.sock
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
953 abort: unsupported platform
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
954 [255]
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
955
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
956 #endif
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
957
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
958 $ cd ..
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
959
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
960 Test that accessing to invalid changelog cache is avoided at
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
961 subsequent operations even if repo object is reused even after failure
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
962 of transaction (see 0a7610758c42 also)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
963
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
964 "hg log" after failure of transaction is needed to detect invalid
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
965 cache in repoview: this can't detect by "hg verify" only.
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
966
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
967 Combination of "finalization" and "empty-ness of changelog" (2 x 2 =
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
968 4) are tested, because '00changelog.i' are differently changed in each
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
969 cases.
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
970
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
971 $ cat > $TESTTMP/failafterfinalize.py <<EOF
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
972 > # extension to abort transaction after finalization forcibly
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
973 > from mercurial import commands, error, extensions, lock as lockmod
34765
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
974 > from mercurial import registrar
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
975 > cmdtable = {}
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
976 > command = registrar.command(cmdtable)
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
977 > configtable = {}
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
978 > configitem = registrar.configitem(configtable)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
979 > configitem(b'failafterfinalize', b'fail',
34765
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
980 > default=None,
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
981 > )
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
982 > def fail(tr):
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
983 > raise error.Abort(b'fail after finalization')
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
984 > def reposetup(ui, repo):
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
985 > class failrepo(repo.__class__):
42620
d98ec36be808 convert: add a config option to help doing identity hg->hg conversion
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 40875
diff changeset
986 > def commitctx(self, ctx, error=False, origctx=None):
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
987 > if self.ui.configbool(b'failafterfinalize', b'fail'):
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
988 > # 'sorted()' by ASCII code on category names causes
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
989 > # invoking 'fail' after finalization of changelog
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
990 > # using "'cl-%i' % id(self)" as category name
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
991 > self.currenttransaction().addfinalize(b'zzzzzzzz', fail)
42620
d98ec36be808 convert: add a config option to help doing identity hg->hg conversion
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 40875
diff changeset
992 > return super(failrepo, self).commitctx(ctx, error, origctx)
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
993 > repo.__class__ = failrepo
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
994 > EOF
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
995
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
996 $ hg init repo3
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
997 $ cd repo3
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
998
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
999 $ cat <<EOF >> $HGRCPATH
45765
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45057
diff changeset
1000 > [command-templates]
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45057
diff changeset
1001 > log = {rev} {desc|firstline} ({files})\n
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1002 >
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1003 > [extensions]
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1004 > failafterfinalize = $TESTTMP/failafterfinalize.py
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1005 > EOF
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1006
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1007 - test failure with "empty changelog"
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1008
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1009 $ echo foo > foo
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1010 $ hg add foo
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1011
30332
318a24b52eeb spelling: fixes of non-dictionary words
Mads Kiilerich <madski@unity3d.com>
parents: 30262
diff changeset
1012 (failure before finalization)
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1013
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
1014 >>> from hgclient import check, readchannel, runcommand
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1015 >>> @check
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1016 ... def abort(server):
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1017 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1018 ... runcommand(server, [b'commit',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1019 ... b'--config', b'hooks.pretxncommit=false',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1020 ... b'-mfoo'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1021 ... runcommand(server, [b'log'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1022 ... runcommand(server, [b'verify', b'-q'])
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1023 *** runcommand commit --config hooks.pretxncommit=false -mfoo
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1024 transaction abort!
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1025 rollback completed
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1026 abort: pretxncommit hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 46015
diff changeset
1027 [40]
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1028 *** runcommand log
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1029 *** runcommand verify -q
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1030
30332
318a24b52eeb spelling: fixes of non-dictionary words
Mads Kiilerich <madski@unity3d.com>
parents: 30262
diff changeset
1031 (failure after finalization)
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1032
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
1033 >>> from hgclient import check, readchannel, runcommand
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1034 >>> @check
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1035 ... def abort(server):
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1036 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1037 ... runcommand(server, [b'commit',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1038 ... b'--config', b'failafterfinalize.fail=true',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1039 ... b'-mfoo'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1040 ... runcommand(server, [b'log'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1041 ... runcommand(server, [b'verify', b'-q'])
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1042 *** runcommand commit --config failafterfinalize.fail=true -mfoo
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1043 transaction abort!
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1044 rollback completed
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1045 abort: fail after finalization
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1046 [255]
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1047 *** runcommand log
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1048 *** runcommand verify -q
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1049
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1050 - test failure with "not-empty changelog"
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1051
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1052 $ echo bar > bar
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1053 $ hg add bar
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1054 $ hg commit -mbar bar
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1055
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1056 (failure before finalization)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1057
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
1058 >>> from hgclient import check, readchannel, runcommand
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1059 >>> @check
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1060 ... def abort(server):
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1061 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1062 ... runcommand(server, [b'commit',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1063 ... b'--config', b'hooks.pretxncommit=false',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1064 ... b'-mfoo', b'foo'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1065 ... runcommand(server, [b'log'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1066 ... runcommand(server, [b'verify', b'-q'])
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1067 *** runcommand commit --config hooks.pretxncommit=false -mfoo foo
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1068 transaction abort!
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1069 rollback completed
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1070 abort: pretxncommit hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 46015
diff changeset
1071 [40]
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1072 *** runcommand log
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1073 0 bar (bar)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1074 *** runcommand verify -q
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1075
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1076 (failure after finalization)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1077
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
1078 >>> from hgclient import check, readchannel, runcommand
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1079 >>> @check
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1080 ... def abort(server):
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1081 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1082 ... runcommand(server, [b'commit',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1083 ... b'--config', b'failafterfinalize.fail=true',
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1084 ... b'-mfoo', b'foo'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1085 ... runcommand(server, [b'log'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1086 ... runcommand(server, [b'verify', b'-q'])
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1087 *** runcommand commit --config failafterfinalize.fail=true -mfoo foo
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1088 transaction abort!
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1089 rollback completed
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1090 abort: fail after finalization
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1091 [255]
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1092 *** runcommand log
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1093 0 bar (bar)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
1094 *** runcommand verify -q
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1095
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1096 $ cd ..
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1097
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1098 Test symlink traversal over cached audited paths:
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1099 -------------------------------------------------
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1100
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1101 #if symlink
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1102
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1103 set up symlink hell
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1104
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1105 $ mkdir merge-symlink-out
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1106 $ hg init merge-symlink
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1107 $ cd merge-symlink
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1108 $ touch base
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1109 $ hg commit -qAm base
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1110 $ ln -s ../merge-symlink-out a
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1111 $ hg commit -qAm 'symlink a -> ../merge-symlink-out'
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1112 $ hg up -q 0
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1113 $ mkdir a
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1114 $ touch a/poisoned
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1115 $ hg commit -qAm 'file a/poisoned'
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1116 $ hg log -G -T '{rev}: {desc}\n'
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1117 @ 2: file a/poisoned
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1118 |
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1119 | o 1: symlink a -> ../merge-symlink-out
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1120 |/
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1121 o 0: base
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1122
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1123
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1124 try trivial merge after update: cache of audited paths should be discarded,
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1125 and the merge should fail (issue5628)
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1126
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1127 $ hg up -q null
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
1128 >>> from hgclient import check, readchannel, runcommand
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1129 >>> @check
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1130 ... def merge(server):
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1131 ... readchannel(server)
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1132 ... # audit a/poisoned as a good path
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1133 ... runcommand(server, [b'up', b'-qC', b'2'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1134 ... runcommand(server, [b'up', b'-qC', b'1'])
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1135 ... # here a is a symlink, so a/poisoned is bad
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1136 ... runcommand(server, [b'merge', b'2'])
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1137 *** runcommand up -qC 2
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1138 *** runcommand up -qC 1
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1139 *** runcommand merge 2
34942
2a774cae3a03 merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents: 34900
diff changeset
1140 abort: path 'a/poisoned' traverses symbolic link 'a'
2a774cae3a03 merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents: 34900
diff changeset
1141 [255]
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1142 $ ls ../merge-symlink-out
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1143
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1144 cache of repo.auditor should be discarded, so matcher would never traverse
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1145 symlinks:
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1146
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1147 $ hg up -qC 0
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1148 $ touch ../merge-symlink-out/poisoned
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
1149 >>> from hgclient import check, readchannel, runcommand
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1150 >>> @check
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1151 ... def files(server):
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1152 ... readchannel(server)
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1153 ... runcommand(server, [b'up', b'-qC', b'2'])
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1154 ... # audit a/poisoned as a good path
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1155 ... runcommand(server, [b'files', b'a/poisoned'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1156 ... runcommand(server, [b'up', b'-qC', b'0'])
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1157 ... runcommand(server, [b'up', b'-qC', b'1'])
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1158 ... # here 'a' is a symlink, so a/poisoned should be warned
40354
f9f2faf25fc4 py3: byte-stringify most literals in test-commandserver.t
Yuya Nishihara <yuya@tcha.org>
parents: 39951
diff changeset
1159 ... runcommand(server, [b'files', b'a/poisoned'])
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1160 *** runcommand up -qC 2
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1161 *** runcommand files a/poisoned
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1162 a/poisoned
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1163 *** runcommand up -qC 0
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1164 *** runcommand up -qC 1
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1165 *** runcommand files a/poisoned
33649
377e8ddaebef pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents: 33648
diff changeset
1166 abort: path 'a/poisoned' traverses symbolic link 'a'
377e8ddaebef pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents: 33648
diff changeset
1167 [255]
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1168
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1169 $ cd ..
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1170
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1171 #endif