annotate tests/test-commandserver.t @ 37533:df4985497986

wireproto: implement capabilities for wire protocol v2 The capabilities mechanism for wire protocol version 2 represents a clean break from version 1. Instead of effectively exchanging a set of capabilities, we're exchanging a rich data structure. This data structure currently contains information about every available command, including its accepted arguments. It also contains information about supported compression formats. Exposing information about supported commands will allow clients to automatically generate bindings to the server. Clients will be able to do things like detect when they are attempting to run a command that isn't known to the server. Exposing the required permissions to run a command can be used by clients to determine if they have privileges to call a command before actually calling it. We could potentially even have clients send credentials preemptively without waiting for the server to deny the command request. Lots of potential here. The data returned by this command will likely evolve heavily. So we shouldn't bikeshed the implementation just yet. Differential Revision: https://phab.mercurial-scm.org/D3200
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 09 Apr 2018 11:52:31 -0700
parents 6282c1965f8e
children f1186c292d03
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
1 #if windows
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
2 $ PYTHONPATH="$TESTDIR/../contrib;$PYTHONPATH"
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
3 #else
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
4 $ PYTHONPATH="$TESTDIR/../contrib:$PYTHONPATH"
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
5 #endif
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
6 $ export PYTHONPATH
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
7
23053
5ba11ab48fcf ui: separate option to show prompt echo, enabled only in tests (issue4417)
Yuya Nishihara <yuya@tcha.org>
parents: 23036
diff changeset
8 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
9
5ba11ab48fcf ui: separate option to show prompt echo, enabled only in tests (issue4417)
Yuya Nishihara <yuya@tcha.org>
parents: 23036
diff changeset
10 $ 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
11 $ 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
12
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
13 $ hg init repo
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
14 $ cd repo
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
15
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
16 >>> from __future__ import absolute_import, print_function
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
17 >>> import os
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
18 >>> import sys
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
19 >>> 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
20 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
21 ... def hellomessage(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
22 ... ch, data = readchannel(server)
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
23 ... print('%c, %r' % (ch, data))
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
24 ... # 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
25 ... # sends isn't part of the hello message
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
26 ... runcommand(server, ['id'])
23036
19f5273c9f3e cmdserver: include pid of server handling requests in hello message
Yuya Nishihara <yuya@tcha.org>
parents: 22994
diff changeset
27 o, 'capabilities: getencoding runcommand\nencoding: *\npid: *' (glob)
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
28 *** 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
29 000000000000 tip
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
30
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
31 >>> from hgclient import check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
32 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
33 ... def unknowncommand(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
34 ... server.stdin.write('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
35 abort: unknown command unknowncommand
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
36
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
37 >>> 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
38 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
39 ... def checkruncommand(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
40 ... # hello block
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
41 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
42 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
43 ... # no args
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
44 ... runcommand(server, [])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
45 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
46 ... # global options
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
47 ... runcommand(server, ['id', '--quiet'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
48 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
49 ... # make sure global options don't stick through requests
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
50 ... runcommand(server, ['id'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
51 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
52 ... # --config
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
53 ... runcommand(server, ['id', '--config', 'ui.quiet=True'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
54 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
55 ... # make sure --config doesn't stick
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
56 ... runcommand(server, ['id'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
57 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
58 ... # negative return code should be masked
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
59 ... runcommand(server, ['id', '-runknown'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
60 *** 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
61 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
62
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
63 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
64
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
65 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
66 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
67 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
68 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
69 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
70 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
71 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
72 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
73 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
74 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
75 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
76 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
77 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
78 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
79 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
80 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
81 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
82
29974
7109d5ddeb0c help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 29485
diff changeset
83 (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
84 *** 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
85 000000000000
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
86 *** 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
87 000000000000 tip
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
88 *** 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
89 000000000000
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
90 *** 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
91 000000000000 tip
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
92 *** runcommand id -runknown
22567
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
93 abort: unknown revision 'unknown'!
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
94 [255]
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
95
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
96 >>> from hgclient import check, readchannel
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
97 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
98 ... def inputeof(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
99 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
100 ... server.stdin.write('runcommand\n')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
101 ... # 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
102 ... server.stdin.close()
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
103 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
104 ... # server exits with 1 if the pipe closed while reading the command
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
105 ... print('server exit code =', 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
106 server exit code = 1
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
107
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
108 >>> 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
109 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
110 ... def serverinput(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
111 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
112 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
113 ... patch = """
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
114 ... # HG changeset patch
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
115 ... # User test
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
116 ... # Date 0 0
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
117 ... # Node ID c103a3dec114d882c98382d684d8af798d09d857
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
118 ... # Parent 0000000000000000000000000000000000000000
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
119 ... 1
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
120 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
121 ... 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
122 ... --- /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
123 ... +++ 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
124 ... @@ -0,0 +1,1 @@
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
125 ... +1
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
126 ... """
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
127 ...
28836
3f45488d70df test-commandserver: handle cStringIO.StringIO/io.StringIO divergence
timeless <timeless@mozdev.org>
parents: 28511
diff changeset
128 ... runcommand(server, ['import', '-'], input=stringio(patch))
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
129 ... runcommand(server, ['log'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
130 *** 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
131 applying patch from stdin
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
132 *** 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
133 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
134 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
135 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
136 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
137 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
138
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
139
35170
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
140 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
141
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
142 >>> import os
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
143 >>> 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
144 >>> 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
145 >>> @check
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
146 ... def cwd(server):
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
147 ... readchannel(server)
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
148 ... runcommand(server, ['log', '-b', '--config=alias.log=!echo pwned',
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
149 ... 'default'])
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
150 *** runcommand log -b --config=alias.log=!echo pwned default
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
151 abort: unknown revision '--config=alias.log=!echo pwned'!
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
152 [255]
c9740b69b9b7 dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
153
30262
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
154 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
155
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
156 >>> import cStringIO
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
157 >>> from hgclient import check, readchannel, runcommand
30262
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
158 >>> @check
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
159 ... def serverinput(server):
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
160 ... readchannel(server)
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
161 ... rules = 'pick eff892de26ec\n'
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
162 ... runcommand(server, ['histedit', '0', '--commands=-',
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
163 ... '--config', 'extensions.histedit='],
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
164 ... input=cStringIO.StringIO(rules))
bc5d0e6fd9f3 histedit: use ui.fin to read commands from stdin
Yuya Nishihara <yuya@tcha.org>
parents: 29974
diff changeset
165 *** 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
166
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
167 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
168
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
169 $ mkdir foo
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
170 $ touch foo/bar
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
171 >>> 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
172 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
173 ... def cwd(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
174 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
175 ... runcommand(server, ['--cwd', 'foo', 'st', 'bar'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
176 ... runcommand(server, ['st', 'foo/bar'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
177 *** 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
178 ? bar
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
179 *** 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
180 ? foo/bar
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
181
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
182 $ rm foo/bar
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
183
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
184
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
185 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
186
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
187 $ cat <<EOF >> .hg/hgrc
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
188 > [ui]
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
189 > foo = bar
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
190 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
191
37427
6282c1965f8e tests: conditionalize test-commandserver.t based on extra extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37220
diff changeset
192 #if no-extraextensions
6282c1965f8e tests: conditionalize test-commandserver.t based on extra extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37220
diff changeset
193
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
194 >>> 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
195 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
196 ... def localhgrc(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
197 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
198 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
199 ... # 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
200 ... # show it
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
201 ... runcommand(server, ['showconfig'], outfilter=sep)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
202 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
203 ... # but not for this repo
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
204 ... runcommand(server, ['init', 'foo'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
205 ... runcommand(server, ['-R', 'foo', 'showconfig', 'ui', 'defaults'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
206 *** 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
207 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
208 devel.all-warnings=true
32410
f94d7e3e46a0 devel: activate default-date in tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32337
diff changeset
209 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
210 extensions.fsmonitor= (fsmonitor !)
23388
42ed0780ec4b run-tests: set a default largefiles usercache in the default hgrc file
Matt Harbison <matt_harbison@yahoo.com>
parents: 23324
diff changeset
211 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
212 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
213 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
214 ui.interactive=False
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
215 ui.mergemarkers=detailed
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
216 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
217 ui.nontty=true
31009
161ab32b44a1 runtests: set web.address to localhost
Jun Wu <quark@fb.com>
parents: 30986
diff changeset
218 web.address=localhost
31010
09ec648cd2a9 runtests: always set web.ipv6
Jun Wu <quark@fb.com>
parents: 31009
diff changeset
219 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
220 web.server-header=testing stub value
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
221 *** runcommand init foo
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
222 *** 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
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
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
225 ui.mergemarkers=detailed
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
226 ui.nontty=true
37427
6282c1965f8e tests: conditionalize test-commandserver.t based on extra extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37220
diff changeset
227 #endif
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
228
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
229 $ rm -R foo
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
230
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
231 #if windows
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
232 $ PYTHONPATH="$TESTTMP/repo;$PYTHONPATH"
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
233 #else
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
234 $ PYTHONPATH="$TESTTMP/repo:$PYTHONPATH"
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
235 #endif
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
236
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
237 $ cat <<EOF > hook.py
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
238 > from __future__ import print_function
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
239 > import sys
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
240 > def hook(**args):
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
241 > print('hook talking')
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
242 > print('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
243 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
244
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
245 >>> 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
246 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
247 ... def hookoutput(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
248 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
249 ... runcommand(server, ['--config',
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
250 ... 'hooks.pre-identify=python:hook.hook',
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
251 ... 'id'],
28836
3f45488d70df test-commandserver: handle cStringIO.StringIO/io.StringIO divergence
timeless <timeless@mozdev.org>
parents: 28511
diff changeset
252 ... input=stringio('some input'))
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
253 *** 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
254 eff892de26ec tip
37220
7f78de1c93aa procutil: redirect ui.fout to stderr while stdio is protected
Yuya Nishihara <yuya@tcha.org>
parents: 37009
diff changeset
255 hook talking
7f78de1c93aa procutil: redirect ui.fout to stderr while stdio is protected
Yuya Nishihara <yuya@tcha.org>
parents: 37009
diff changeset
256 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
257
33607
6c142f279625 pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents: 33542
diff changeset
258 Clean hook cached version
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
259 $ rm hook.py*
33607
6c142f279625 pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents: 33542
diff changeset
260 $ rm -Rf __pycache__
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
261
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
262 $ echo a >> a
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
263 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
264 >>> 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
265 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
266 ... def outsidechanges(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
267 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
268 ... runcommand(server, ['status'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
269 ... os.system('hg ci -Am2')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
270 ... runcommand(server, ['tip'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
271 ... runcommand(server, ['status'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
272 *** 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
273 M a
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
274 *** 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
275 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
276 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
277 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
278 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
279 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
280
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
281 *** runcommand status
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
282
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
283 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
284 >>> 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
285 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
286 ... def bookmarks(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
287 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
288 ... runcommand(server, ['bookmarks'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
289 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
290 ... # changes .hg/bookmarks
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
291 ... 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
292 ... os.system('hg bookmark -i bm2')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
293 ... runcommand(server, ['bookmarks'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
294 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
295 ... # changes .hg/bookmarks.current
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
296 ... os.system('hg upd bm1 -q')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
297 ... runcommand(server, ['bookmarks'])
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 ... runcommand(server, ['bookmarks', 'bm3'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
300 ... f = open('a', 'ab')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
301 ... f.write('a\n')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
302 ... f.close()
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
303 ... runcommand(server, ['commit', '-Amm'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
304 ... runcommand(server, ['bookmarks'])
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
305 ... print('')
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
306 *** 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
307 no bookmarks set
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
308 *** 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
309 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
310 bm2 1:d3a0a68be6de
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
311 *** 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
312 * 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
313 bm2 1:d3a0a68be6de
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
314 *** runcommand bookmarks bm3
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
315 *** runcommand commit -Amm
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
316 *** 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
317 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
318 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
319 * bm3 2:aef17e88f5f0
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
320
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
321
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
322 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
323 >>> 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
324 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
325 ... def tagscache(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
326 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
327 ... runcommand(server, ['id', '-t', '-r', '0'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
328 ... os.system('hg tag -r 0 foo')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
329 ... runcommand(server, ['id', '-t', '-r', '0'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
330 *** 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
331
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
332 *** 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
333 foo
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
334
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
335 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
336 >>> 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
337 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
338 ... def setphase(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
339 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
340 ... runcommand(server, ['phase', '-r', '.'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
341 ... os.system('hg phase -r . -p')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
342 ... runcommand(server, ['phase', '-r', '.'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
343 *** 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
344 3: draft
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
345 *** 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
346 3: public
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
347
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
348 $ echo a >> a
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
349 >>> 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
350 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
351 ... def rollback(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
352 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
353 ... runcommand(server, ['phase', '-r', '.', '-p'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
354 ... runcommand(server, ['commit', '-Am.'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
355 ... runcommand(server, ['rollback'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
356 ... runcommand(server, ['phase', '-r', '.'])
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
357 ... print('')
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
358 *** 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
359 no phases changed
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
360 *** runcommand commit -Am.
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
361 *** 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
362 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
363 working directory now based on revision 3
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
364 *** 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
365 3: public
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
366
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
367
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
368 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
369 >>> 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
370 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
371 ... def branch(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
372 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
373 ... runcommand(server, ['branch'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
374 ... os.system('hg branch foo')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
375 ... runcommand(server, ['branch'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
376 ... os.system('hg branch default')
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
377 *** 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
378 default
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
379 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
380 (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
381 *** 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
382 foo
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
383 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
384 (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
385
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
386 $ touch .hgignore
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
387 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
388 >>> 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
389 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
390 ... def hgignore(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
391 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
392 ... runcommand(server, ['commit', '-Am.'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
393 ... f = open('ignored-file', 'ab')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
394 ... f.write('')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
395 ... f.close()
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
396 ... f = open('.hgignore', 'ab')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
397 ... f.write('ignored-file')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
398 ... f.close()
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
399 ... runcommand(server, ['status', '-i', '-u'])
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
400 ... print('')
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
401 *** 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
402 adding .hgignore
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
403 *** 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
404 I ignored-file
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
405
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
406
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
407 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
408 (issue4855):
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
409
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
410 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
411 >>> from hgclient import check, readchannel, runcommand
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
412 >>> @check
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
413 ... def phasesetscacheaftercommit(server):
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
414 ... readchannel(server)
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
415 ... # load _phasecache._phaserevs and _phasesets
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
416 ... runcommand(server, ['log', '-qr', 'draft()'])
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
417 ... # 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
418 ... 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
419 ... 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
420 ... f.seek(0, os.SEEK_END)
46984a5308a0 test-commandserver: generate files with a fixed EOL for test stability
Matt Harbison <matt_harbison@yahoo.com>
parents: 26409
diff changeset
421 ... f.write('a\n')
46984a5308a0 test-commandserver: generate files with a fixed EOL for test stability
Matt Harbison <matt_harbison@yahoo.com>
parents: 26409
diff changeset
422 ... f.close()
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
423 ... 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
424 ... # new commits should be listed as draft revisions
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
425 ... runcommand(server, ['log', '-qr', 'draft()'])
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
426 ... print('')
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
427 *** runcommand log -qr draft()
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
428 4:7966c8e3734d
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
429 *** runcommand log -qr draft()
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
430 4:7966c8e3734d
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
431 5:41f6602d1c4f
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
432 6:10501e202c35
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
433
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
434
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
435 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
436 >>> from hgclient import check, readchannel, runcommand
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
437 >>> @check
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
438 ... def phasesetscacheafterstrip(server):
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
439 ... readchannel(server)
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
440 ... # load _phasecache._phaserevs and _phasesets
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
441 ... runcommand(server, ['log', '-qr', 'draft()'])
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
442 ... # strip cached revisions by another process
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
443 ... 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
444 ... # shouldn't abort by "unknown revision '6'"
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
445 ... runcommand(server, ['log', '-qr', 'draft()'])
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
446 ... print('')
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
447 *** runcommand log -qr draft()
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
448 4:7966c8e3734d
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
449 5:41f6602d1c4f
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
450 6:10501e202c35
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
451 *** runcommand log -qr draft()
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
452 4:7966c8e3734d
33921
a4c1333b2eda tests: add blank output lines to test-commandserver
Augie Fackler <raf@durin42.com>
parents: 33773
diff changeset
453
26405
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
454
c15d8f84343e localrepo: recreate phasecache if changelog was modified (issue4855)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
455 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
456
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
457 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
458 >>> 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
459 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
460 ... def phasecacheafterstrip(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
461 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
462 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
463 ... # create new head, 5:731265503d86
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
464 ... runcommand(server, ['update', '-C', '0'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
465 ... f = open('a', 'ab')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
466 ... f.write('a\n')
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
467 ... f.close()
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
468 ... runcommand(server, ['commit', '-Am.', 'a'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
469 ... runcommand(server, ['log', '-Gq'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
470 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
471 ... # make it public; draft marker moves to 4:7966c8e3734d
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
472 ... runcommand(server, ['phase', '-p', '.'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
473 ... # load _phasecache.phaseroots
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
474 ... runcommand(server, ['phase', '.'], outfilter=sep)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
475 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
476 ... # strip 1::4 outside server
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
477 ... 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
478 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
479 ... # shouldn't raise "7966c8e3734d: no node!"
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
480 ... runcommand(server, ['branches'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
481 *** 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
482 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
483 (leaving bookmark bm3)
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
484 *** 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
485 created new head
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
486 *** 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
487 @ 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
488 |
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
489 | 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
490 | |
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
491 | 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
492 | |
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
493 | 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
494 | |
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
495 | 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
496 |/
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
497 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
498
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
499 *** runcommand phase -p .
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
500 *** 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
501 5: public
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
502 *** 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
503 default 1:731265503d86
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
504
26251
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
505 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
506 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
507
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
508 $ echo a >> a
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
509 >>> 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
510 >>> @check
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
511 ... def txabort(server):
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
512 ... readchannel(server)
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
513 ... runcommand(server, ['commit', '--config', 'hooks.pretxncommit=false',
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
514 ... '-mfoo'])
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
515 ... runcommand(server, ['verify'])
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
516 *** 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
517 transaction abort!
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
518 rollback completed
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
519 abort: pretxncommit hook exited with status 1
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
520 [255]
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
521 *** runcommand verify
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
522 checking changesets
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
523 checking manifests
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
524 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
525 checking files
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
526 1 files, 2 changesets, 2 total revisions
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
527 $ hg revert --no-backup -aq
5c0f5db65c6b localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org>
parents: 26142
diff changeset
528
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22783
diff changeset
529 $ cat >> .hg/hgrc << EOF
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22783
diff changeset
530 > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 34852
diff changeset
531 > evolution.createmarkers=True
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
532 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
533
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
534 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
535 >>> 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
536 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
537 ... def obsolete(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
538 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
539 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
540 ... runcommand(server, ['up', 'null'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
541 ... runcommand(server, ['phase', '-df', 'tip'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
542 ... 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
543 ... if os.name == 'nt':
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
544 ... 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
545 ... os.system(cmd)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
546 ... runcommand(server, ['log', '--hidden'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
547 ... runcommand(server, ['log'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
548 *** 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
549 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
550 *** runcommand phase -df tip
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33426
diff changeset
551 obsoleted 1 changesets
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
552 *** 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
553 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
554 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
555 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
556 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
557 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
558 summary: .
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
559
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
560 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
561 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
562 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
563 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
564 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
565 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
566 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
567
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
568 *** 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
569 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
570 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
571 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
572 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
573 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
574 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
575 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
576 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
577
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
578
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
579 $ cat <<EOF >> .hg/hgrc
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
580 > [extensions]
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
581 > mq =
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
582 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
583
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
584 >>> import os
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
585 >>> 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
586 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
587 ... def mqoutsidechanges(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
588 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
589 ...
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
590 ... # load repo.mq
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
591 ... runcommand(server, ['qapplied'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
592 ... 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
593 ... # repo.mq should be invalidated
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
594 ... runcommand(server, ['qapplied'])
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 ... runcommand(server, ['qpop', '--all'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
597 ... 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
598 ... # repo.mq should be recreated to point to new queue
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
599 ... runcommand(server, ['qqueue', '--active'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
600 *** runcommand qapplied
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
601 *** 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
602 0.diff
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
603 *** 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
604 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
605 patch queue now empty
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
606 *** 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
607 foo
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
608
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
609 $ cat <<EOF > dbgui.py
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
610 > import os
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
611 > import sys
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31010
diff changeset
612 > 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
613 > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31010
diff changeset
614 > command = registrar.command(cmdtable)
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32414
diff changeset
615 > @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
616 > def debuggetpass(ui):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
617 > ui.write("%s\\n" % ui.getpass())
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32414
diff changeset
618 > @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
619 > def debugprompt(ui):
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
620 > ui.write("%s\\n" % ui.prompt("prompt:"))
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32414
diff changeset
621 > @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
622 > def debugreadstdin(ui):
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
623 > ui.write("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
624 > @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
625 > def debugwritestdout(ui):
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
626 > os.write(1, "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
627 > 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
628 > sys.stdout.flush()
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
629 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
630 $ cat <<EOF >> .hg/hgrc
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
631 > [extensions]
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
632 > dbgui = dbgui.py
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
633 > EOF
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
634
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
635 >>> 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
636 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
637 ... def getpass(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
638 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
639 ... runcommand(server, ['debuggetpass', '--config',
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
640 ... 'ui.interactive=True'],
28836
3f45488d70df test-commandserver: handle cStringIO.StringIO/io.StringIO divergence
timeless <timeless@mozdev.org>
parents: 28511
diff changeset
641 ... input=stringio('1234\n'))
30814
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
642 ... runcommand(server, ['debuggetpass', '--config',
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
643 ... 'ui.interactive=True'],
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
644 ... input=stringio('\n'))
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
645 ... runcommand(server, ['debuggetpass', '--config',
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
646 ... 'ui.interactive=True'],
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
647 ... input=stringio(''))
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
648 ... runcommand(server, ['debugprompt', '--config',
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
649 ... 'ui.interactive=True'],
28836
3f45488d70df test-commandserver: handle cStringIO.StringIO/io.StringIO divergence
timeless <timeless@mozdev.org>
parents: 28511
diff changeset
650 ... input=stringio('5678\n'))
23324
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
651 ... runcommand(server, ['debugreadstdin'])
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
652 ... runcommand(server, ['debugwritestdout'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
653 *** 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
654 password: 1234
30814
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
655 *** 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
656 password:
b96c57c1f860 ui: check EOF of getpass() response read from command-server channel
Yuya Nishihara <yuya@tcha.org>
parents: 30363
diff changeset
657 *** 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
658 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
659 [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
660 *** 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
661 prompt: 5678
23324
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
662 *** runcommand debugreadstdin
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
663 read: ''
69f86b937035 cmdserver: protect pipe server streams against corruption caused by direct io
Yuya Nishihara <yuya@tcha.org>
parents: 23322
diff changeset
664 *** runcommand debugwritestdout
37220
7f78de1c93aa procutil: redirect ui.fout to stderr while stdio is protected
Yuya Nishihara <yuya@tcha.org>
parents: 37009
diff changeset
665 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
666 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
667
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
668
23322
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
669 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
670
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
671 >>> from __future__ import print_function
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
672 >>> from hgclient import 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
673 >>> @check
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
674 ... def nested(server):
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
675 ... print('%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
676 ... class nestedserver(object):
28836
3f45488d70df test-commandserver: handle cStringIO.StringIO/io.StringIO divergence
timeless <timeless@mozdev.org>
parents: 28511
diff changeset
677 ... stdin = stringio('getencoding\n')
3f45488d70df test-commandserver: handle cStringIO.StringIO/io.StringIO divergence
timeless <timeless@mozdev.org>
parents: 28511
diff changeset
678 ... stdout = stringio()
23322
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
679 ... runcommand(server, ['serve', '--cmdserver', 'pipe'],
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
680 ... 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
681 ... nestedserver.stdout.seek(0)
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
682 ... print('%c, %r' % readchannel(nestedserver)) # hello
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
683 ... print('%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
684 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
685 *** runcommand serve --cmdserver pipe
000cfc8b3913 cmdserver: use given streams as pipe channels like other commands
Yuya Nishihara <yuya@tcha.org>
parents: 23095
diff changeset
686 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
687 r, '*' (glob)
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
688
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
689
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
690 start without repository:
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
691
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
692 $ cd ..
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
693
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
694 >>> from __future__ import print_function
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
695 >>> 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
696 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
697 ... def hellomessage(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
698 ... ch, data = readchannel(server)
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
699 ... print('%c, %r' % (ch, data))
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
700 ... # 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
701 ... # sends isn't part of the hello message
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
702 ... runcommand(server, ['id'])
23036
19f5273c9f3e cmdserver: include pid of server handling requests in hello message
Yuya Nishihara <yuya@tcha.org>
parents: 22994
diff changeset
703 o, 'capabilities: getencoding runcommand\nencoding: *\npid: *' (glob)
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
704 *** 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
705 abort: there is no Mercurial repository here (.hg not found)
f9a4a035003d test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
706 [255]
22568
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
707
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
708 >>> 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
709 >>> @check
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
710 ... def startwithoutrepo(server):
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
711 ... readchannel(server)
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
712 ... runcommand(server, ['init', 'repo2'])
78b99149ed8a test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org>
parents: 22567
diff changeset
713 ... runcommand(server, ['id', '-R', 'repo2'])
22572
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
714 *** runcommand init repo2
cc3d9f776632 test-commandserver: make runcommand message bolder
Yuya Nishihara <yuya@tcha.org>
parents: 22571
diff changeset
715 *** 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
716 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
717
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
718
26142
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
719 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
720
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
721 $ cd repo
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
722 $ hg serve --cmdserver pipe -R ../nonexistent
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
723 abort: repository ../nonexistent not found!
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
724 [255]
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
725 $ cd ..
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
726
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 25290
diff changeset
727
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
728 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
729
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
730 $ cd repo
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
731 $ 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
732
23095
ac827031fe05 tests: don't try to test unix sockets on vfat
Matt Mackall <mpm@selenic.com>
parents: 23053
diff changeset
733 #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
734
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
735 >>> from __future__ import print_function
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
736 >>> from hgclient import check, readchannel, runcommand, stringio, unixserver
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
737 >>> server = unixserver('.hg/server.sock', '.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
738 >>> 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
739 ... ch, data = readchannel(conn)
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
740 ... print('%c, %r' % (ch, data))
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
741 ... runcommand(conn, ['id'])
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
742 >>> 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
743 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
744 *** runcommand id
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
745 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
746 >>> 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
747 ... readchannel(conn)
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
748 ... conn.stdin.write('unknowncommand\n')
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
749 >>> 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
750 >>> 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
751 ... readchannel(conn)
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
752 ... patch = """
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
753 ... # 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
754 ... # User test
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
755 ... # 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
756 ... 2
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
757 ...
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
758 ... 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
759 ... --- a/a
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
760 ... +++ b/a
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
761 ... @@ -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
762 ... 1
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
763 ... +2
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
764 ... """
28836
3f45488d70df test-commandserver: handle cStringIO.StringIO/io.StringIO divergence
timeless <timeless@mozdev.org>
parents: 28511
diff changeset
765 ... runcommand(conn, ['import', '-'], input=stringio(patch))
22994
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
766 ... runcommand(conn, ['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
767 >>> 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
768 *** runcommand import -
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
769 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
770 *** 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
771 2:1ed24be7e7a0
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
772 >>> server.shutdown()
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
773
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
774 $ 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
775 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
776 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
777 killed!
28511
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
778 $ rm .hg/server.log
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
779
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
780 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
781 last ditch:
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
782
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
783 $ cat <<EOF >> .hg/hgrc
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
784 > [cmdserver]
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
785 > log = inexistent/path.log
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
786 > EOF
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
787 >>> from __future__ import print_function
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
788 >>> from hgclient import check, readchannel, unixserver
28511
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
789 >>> server = unixserver('.hg/server.sock', '.hg/server.log')
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
790 >>> def earlycrash(conn):
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
791 ... while True:
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
792 ... try:
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
793 ... ch, data = readchannel(conn)
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
794 ... if not data.startswith(' '):
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28996
diff changeset
795 ... print('%c, %r' % (ch, data))
28511
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
796 ... except EOFError:
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
797 ... break
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
798 >>> check(earlycrash, server.connect)
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
799 e, 'Traceback (most recent call last):\n'
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
800 e, "IOError: *" (glob)
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
801 >>> server.shutdown()
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
802
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
803 $ 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
804 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
805 Traceback (most recent call last):
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
806 IOError: * (glob)
ff5f923fca3c cmdserver: write early exception to 'e' channel in 'unix' mode
Yuya Nishihara <yuya@tcha.org>
parents: 28265
diff changeset
807 killed!
23095
ac827031fe05 tests: don't try to test unix sockets on vfat
Matt Mackall <mpm@selenic.com>
parents: 23053
diff changeset
808 #endif
ac827031fe05 tests: don't try to test unix sockets on vfat
Matt Mackall <mpm@selenic.com>
parents: 23053
diff changeset
809 #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
810
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
811 $ 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
812 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
813 [255]
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
814
840be5ca03e1 cmdserver: add service that listens on unix domain socket and forks process
Yuya Nishihara <yuya@tcha.org>
parents: 22955
diff changeset
815 #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
816
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
817 $ cd ..
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
818
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
819 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
820 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
821 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
822
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
823 "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
824 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
825
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
826 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
827 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
828 cases.
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
829
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
830 $ 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
831 > # 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
832 > 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
833 > from mercurial import registrar
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
834 > cmdtable = {}
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
835 > command = registrar.command(cmdtable)
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
836 > configtable = {}
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
837 > configitem = registrar.configitem(configtable)
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
838 > configitem('failafterfinalize', 'fail',
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
839 > default=None,
f3e4a5ad0d90 configitems: register the test 'failafterfinalize.fail' config
Boris Feld <boris.feld@octobus.net>
parents: 34555
diff changeset
840 > )
28265
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
841 > def fail(tr):
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
842 > raise error.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
843 > 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
844 > class failrepo(repo.__class__):
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
845 > def commitctx(self, ctx, error=False):
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
846 > if self.ui.configbool('failafterfinalize', 'fail'):
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
847 > # '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
848 > # 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
849 > # using "'cl-%i' % id(self)" as category name
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
850 > self.currenttransaction().addfinalize('zzzzzzzz', fail)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
851 > return super(failrepo, self).commitctx(ctx, error)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
852 > 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
853 > EOF
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
854
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
855 $ 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
856 $ 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
857
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
858 $ cat <<EOF >> $HGRCPATH
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
859 > [ui]
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
860 > logtemplate = {rev} {desc|firstline} ({files})\n
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
861 >
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
862 > [extensions]
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
863 > 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
864 > EOF
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
865
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
866 - 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
867
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
868 $ 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
869 $ 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
870
30332
318a24b52eeb spelling: fixes of non-dictionary words
Mads Kiilerich <madski@unity3d.com>
parents: 30262
diff changeset
871 (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
872
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
873 >>> 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
874 >>> @check
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
875 ... 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
876 ... readchannel(server)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
877 ... runcommand(server, ['commit',
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
878 ... '--config', 'hooks.pretxncommit=false',
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
879 ... '-mfoo'])
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
880 ... runcommand(server, ['log'])
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
881 ... runcommand(server, ['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
882 *** 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
883 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
884 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
885 abort: pretxncommit hook exited with status 1
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
886 [255]
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
887 *** 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
888 *** 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
889
30332
318a24b52eeb spelling: fixes of non-dictionary words
Mads Kiilerich <madski@unity3d.com>
parents: 30262
diff changeset
890 (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
891
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
892 >>> 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
893 >>> @check
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
894 ... 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
895 ... readchannel(server)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
896 ... runcommand(server, ['commit',
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
897 ... '--config', 'failafterfinalize.fail=true',
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
898 ... '-mfoo'])
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
899 ... runcommand(server, ['log'])
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
900 ... runcommand(server, ['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
901 *** 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
902 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
903 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
904 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
905 [255]
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
906 *** 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
907 *** 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
908
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
909 - 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
910
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
911 $ 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
912 $ 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
913 $ 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
914
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
915 (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
916
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
917 >>> 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
918 >>> @check
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
919 ... 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
920 ... readchannel(server)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
921 ... runcommand(server, ['commit',
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
922 ... '--config', 'hooks.pretxncommit=false',
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
923 ... '-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
924 ... runcommand(server, ['log'])
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
925 ... runcommand(server, ['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
926 *** 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
927 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
928 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
929 abort: pretxncommit hook exited with status 1
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
930 [255]
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
931 *** 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
932 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
933 *** 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
934
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
935 (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
936
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
937 >>> 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
938 >>> @check
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
939 ... 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
940 ... readchannel(server)
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
941 ... runcommand(server, ['commit',
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
942 ... '--config', 'failafterfinalize.fail=true',
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
943 ... '-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
944 ... runcommand(server, ['log'])
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
945 ... runcommand(server, ['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
946 *** 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
947 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
948 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
949 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
950 [255]
332926212ef8 repoview: discard filtered changelog if index isn't shared with unfiltered
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26431
diff changeset
951 *** 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
952 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
953 *** runcommand verify -q
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
954
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
955 $ cd ..
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
956
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
957 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
958 -------------------------------------------------
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
959
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
960 #if symlink
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
961
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
962 set up symlink hell
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
963
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
964 $ mkdir merge-symlink-out
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
965 $ hg init merge-symlink
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
966 $ cd merge-symlink
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
967 $ touch base
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
968 $ hg commit -qAm base
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
969 $ 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
970 $ 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
971 $ hg up -q 0
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
972 $ mkdir a
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
973 $ touch a/poisoned
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
974 $ 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
975 $ 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
976 @ 2: file a/poisoned
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
977 |
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
978 | 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
979 |/
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
980 o 0: base
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
981
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
982
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
983 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
984 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
985
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
986 $ hg up -q null
33922
1a6707b43d05 tests: update test-commandserver to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33921
diff changeset
987 >>> 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
988 >>> @check
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
989 ... def merge(server):
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
990 ... readchannel(server)
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
991 ... # audit a/poisoned as a good path
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
992 ... runcommand(server, ['up', '-qC', '2'])
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
993 ... runcommand(server, ['up', '-qC', '1'])
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
994 ... # here a is a symlink, so a/poisoned is bad
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
995 ... runcommand(server, ['merge', '2'])
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
996 *** runcommand up -qC 2
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
997 *** runcommand up -qC 1
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
998 *** runcommand merge 2
34942
2a774cae3a03 merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents: 34900
diff changeset
999 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
1000 [255]
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1001 $ ls ../merge-symlink-out
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1002
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1003 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
1004 symlinks:
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1005
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1006 $ hg up -qC 0
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1007 $ 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
1008 >>> 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
1009 >>> @check
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1010 ... def files(server):
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1011 ... readchannel(server)
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1012 ... runcommand(server, ['up', '-qC', '2'])
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1013 ... # audit a/poisoned as a good path
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1014 ... runcommand(server, ['files', 'a/poisoned'])
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1015 ... runcommand(server, ['up', '-qC', '0'])
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1016 ... runcommand(server, ['up', '-qC', '1'])
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1017 ... # here 'a' is a symlink, so a/poisoned should be warned
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1018 ... runcommand(server, ['files', 'a/poisoned'])
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1019 *** runcommand up -qC 2
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1020 *** runcommand files a/poisoned
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1021 a/poisoned
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1022 *** runcommand up -qC 0
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1023 *** runcommand up -qC 1
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1024 *** runcommand files a/poisoned
33649
377e8ddaebef pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents: 33648
diff changeset
1025 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
1026 [255]
33648
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1027
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1028 $ cd ..
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1029
47ea28293d30 tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 33607
diff changeset
1030 #endif