annotate tests/test-py3-commands.t @ 37048:fc5e261915b9

wireproto: require POST for all HTTPv2 requests Wire protocol version 1 transfers argument data via request headers by default. This has historically caused problems because servers institute limits on the length of individual HTTP headers as well as the total size of all request headers. Mercurial servers can advertise the maximum length of an individual header. But there's no guarantee any intermediate HTTP agents will accept headers up to that length. In the existing wire protocol, server operators typically also key off the HTTP request method to implement authentication. For example, GET requests translate to read-only requests and can be allowed. But read-write commands must use POST and require authentication. This has typically worked because the only wire protocol commands that use POST modify the repo (e.g. the "unbundle" command). There is an experimental feature to enable clients to transmit argument data via POST request bodies. This is technically a better and more robust solution. But we can't enable it by default because of servers assuming POST means write access. In version 2 of the wire protocol, the permissions of a request are encoded in the URL. And with it being a new protocol in a new URL space, we're not constrained by backwards compatibility requirements. This commit adopts the technically superior mechanism of using HTTP request bodies to send argument data by requiring POST for all commands. Strictly speaking, it may be possible to send request bodies on GET requests. But my experience is that not all HTTP stacks support this. POST pretty much always works. Using POST for read-only operations does sacrifice some RESTful design purity. But this API cares about practicality, not about being in Roy T. Fielding's REST ivory tower. There's a chance we may relax this restriction in the future. But for now, I want to see how far we can get with a POST only API. Differential Revision: https://phab.mercurial-scm.org/D2837
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 13 Mar 2018 11:57:43 -0700
parents 7fed389f9a9f
children 1b8238f67bf2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30129
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
1 #require py3exe
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
2
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
3 This test helps in keeping a track on which commands we can run on
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
4 Python 3 and see what kind of errors are coming up.
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
5 The full traceback is hidden to have a stable output.
31376
3690c75f4d1e tests: make a variable for hg binary location in test-check-py3-commands
Augie Fackler <augie@google.com>
parents: 31361
diff changeset
6 $ HGBIN=`which hg`
30129
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
7
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
8 $ for cmd in version debuginstall ; do
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
9 > echo $cmd
31376
3690c75f4d1e tests: make a variable for hg binary location in test-check-py3-commands
Augie Fackler <augie@google.com>
parents: 31361
diff changeset
10 > $PYTHON3 $HGBIN $cmd 2>&1 2>&1 | tail -1
30129
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
11 > done
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
12 version
30586
2d555d753f0e py3: make keys of keyword arguments strings
Pulkit Goyal <7895pulkit@gmail.com>
parents: 30569
diff changeset
13 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
30129
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
14 debuginstall
31308
62939e0148f1 policy: try and always have a bytes for module policy
Augie Fackler <raf@durin42.com>
parents: 31304
diff changeset
15 no problems detected
31304
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
16
31377
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
17 #if test-repo
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
18 Make a clone so that any features in the developer's .hg/hgrc that
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
19 might confuse Python 3 don't break this test. When we can do commit in
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
20 Python 3, we'll stop doing this. We use e76ed1e480ef for the clone
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
21 because it has different files than 273ce12ad8f1, so we can test both
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
22 `files` from dirstate and `files` loaded from a specific revision.
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
23
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
24 $ hg clone -r e76ed1e480ef "`dirname "$TESTDIR"`" testrepo 2>&1 | tail -1
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
25 15 files updated, 0 files merged, 0 files removed, 0 files unresolved
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
26
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
27 Test using -R, which exercises some URL code:
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
28 $ $PYTHON3 $HGBIN -R testrepo files -r 273ce12ad8f1 | tail -1
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
29 testrepo/tkmerge
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
30
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
31 Now prove `hg files` is reading the whole manifest. We have to grep
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
32 out some potential warnings that come from hgrc as yet.
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
33 $ cd testrepo
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
34 $ $PYTHON3 $HGBIN files -r 273ce12ad8f1
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
35 .hgignore
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
36 PKG-INFO
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
37 README
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
38 hg
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
39 mercurial/__init__.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
40 mercurial/byterange.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
41 mercurial/fancyopts.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
42 mercurial/hg.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
43 mercurial/mdiff.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
44 mercurial/revlog.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
45 mercurial/transaction.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
46 notes.txt
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
47 setup.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
48 tkmerge
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
49
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
50 $ $PYTHON3 $HGBIN files -r 273ce12ad8f1 | wc -l
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
51 \s*14 (re)
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
52 $ $PYTHON3 $HGBIN files | wc -l
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
53 \s*15 (re)
31450
b3b4c487707c py3: prove hg tip works
Yuya Nishihara <yuya@tcha.org>
parents: 31401
diff changeset
54
31487
a992caaf0e22 py3: convert log opts to bytes-key dict
Yuya Nishihara <yuya@tcha.org>
parents: 31450
diff changeset
55 Test if log-like commands work:
31450
b3b4c487707c py3: prove hg tip works
Yuya Nishihara <yuya@tcha.org>
parents: 31401
diff changeset
56
b3b4c487707c py3: prove hg tip works
Yuya Nishihara <yuya@tcha.org>
parents: 31401
diff changeset
57 $ $PYTHON3 $HGBIN tip
b3b4c487707c py3: prove hg tip works
Yuya Nishihara <yuya@tcha.org>
parents: 31401
diff changeset
58 changeset: 10:e76ed1e480ef
b3b4c487707c py3: prove hg tip works
Yuya Nishihara <yuya@tcha.org>
parents: 31401
diff changeset
59 tag: tip
b3b4c487707c py3: prove hg tip works
Yuya Nishihara <yuya@tcha.org>
parents: 31401
diff changeset
60 user: oxymoron@cinder.waste.org
b3b4c487707c py3: prove hg tip works
Yuya Nishihara <yuya@tcha.org>
parents: 31401
diff changeset
61 date: Tue May 03 23:37:43 2005 -0800
b3b4c487707c py3: prove hg tip works
Yuya Nishihara <yuya@tcha.org>
parents: 31401
diff changeset
62 summary: Fix linking of changeset revs when merging
b3b4c487707c py3: prove hg tip works
Yuya Nishihara <yuya@tcha.org>
parents: 31401
diff changeset
63
b3b4c487707c py3: prove hg tip works
Yuya Nishihara <yuya@tcha.org>
parents: 31401
diff changeset
64
31487
a992caaf0e22 py3: convert log opts to bytes-key dict
Yuya Nishihara <yuya@tcha.org>
parents: 31450
diff changeset
65 $ $PYTHON3 $HGBIN log -r0
a992caaf0e22 py3: convert log opts to bytes-key dict
Yuya Nishihara <yuya@tcha.org>
parents: 31450
diff changeset
66 changeset: 0:9117c6561b0b
a992caaf0e22 py3: convert log opts to bytes-key dict
Yuya Nishihara <yuya@tcha.org>
parents: 31450
diff changeset
67 user: mpm@selenic.com
a992caaf0e22 py3: convert log opts to bytes-key dict
Yuya Nishihara <yuya@tcha.org>
parents: 31450
diff changeset
68 date: Tue May 03 13:16:10 2005 -0800
a992caaf0e22 py3: convert log opts to bytes-key dict
Yuya Nishihara <yuya@tcha.org>
parents: 31450
diff changeset
69 summary: Add back links from file revisions to changeset revisions
a992caaf0e22 py3: convert log opts to bytes-key dict
Yuya Nishihara <yuya@tcha.org>
parents: 31450
diff changeset
70
a992caaf0e22 py3: convert log opts to bytes-key dict
Yuya Nishihara <yuya@tcha.org>
parents: 31450
diff changeset
71
31377
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
72 $ cd ..
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
73 #endif
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
74
31522
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
75 Test if `hg config` works:
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
76
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
77 $ $PYTHON3 $HGBIN config
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
78 devel.all-warnings=true
32520
dc0da9829c29 py3: update test expectations for py3-commands test
Augie Fackler <raf@durin42.com>
parents: 32163
diff changeset
79 devel.default-date=0 0
31522
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
80 largefiles.usercache=$TESTTMP/.cache/largefiles
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
81 ui.slash=True
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
82 ui.interactive=False
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
83 ui.mergemarkers=detailed
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
84 ui.promptecho=True
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
85 web.address=localhost
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
86 web.ipv6=False
23fc9b98445f py3: prove hg config works
Rishabh Madan <rishabhmadan96@gmail.com>
parents: 31487
diff changeset
87
31304
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
88 $ cat > included-hgrc <<EOF
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
89 > [extensions]
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
90 > babar = imaginary_elephant
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
91 > EOF
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
92 $ cat >> $HGRCPATH <<EOF
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
93 > %include $TESTTMP/included-hgrc
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
94 > EOF
31376
3690c75f4d1e tests: make a variable for hg binary location in test-check-py3-commands
Augie Fackler <augie@google.com>
parents: 31361
diff changeset
95 $ $PYTHON3 $HGBIN version | tail -1
31304
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
96 *** failed to import extension babar from imaginary_elephant: *: 'imaginary_elephant' (glob)
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
97 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
31361
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
98
31398
d785fed7c115 tests: clean up bad extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31377
diff changeset
99 $ rm included-hgrc
d785fed7c115 tests: clean up bad extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31377
diff changeset
100 $ touch included-hgrc
d785fed7c115 tests: clean up bad extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31377
diff changeset
101
31361
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
102 Test bytes-ness of policy.policy with HGMODULEPOLICY
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
103
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
104 $ HGMODULEPOLICY=py
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
105 $ export HGMODULEPOLICY
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
106 $ $PYTHON3 `which hg` debuginstall 2>&1 2>&1 | tail -1
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
107 no problems detected
31401
ed23f929af38 tests: prove that `hg init` works with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31398
diff changeset
108
ed23f929af38 tests: prove that `hg init` works with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31398
diff changeset
109 `hg init` can create empty repos
31632
d059821fc89f test-check-py3-commands: cleanup tests related to `hg status`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31607
diff changeset
110 `hg status works fine`
31717
62676bb8d534 tests: add check to make sure summary works on Python 2
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31651
diff changeset
111 `hg summary` also works!
31401
ed23f929af38 tests: prove that `hg init` works with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31398
diff changeset
112
31607
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
113 $ $PYTHON3 `which hg` init py3repo
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
114 $ cd py3repo
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
115 $ echo "This is the file 'iota'." > iota
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
116 $ $PYTHON3 $HGBIN status
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
117 ? iota
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
118 $ $PYTHON3 $HGBIN add iota
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
119 $ $PYTHON3 $HGBIN status
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
120 A iota
32644
01a95cbbff56 py3: add a test to show `hg diff` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32616
diff changeset
121 $ hg diff --nodates --git
01a95cbbff56 py3: add a test to show `hg diff` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32616
diff changeset
122 diff --git a/iota b/iota
01a95cbbff56 py3: add a test to show `hg diff` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32616
diff changeset
123 new file mode 100644
01a95cbbff56 py3: add a test to show `hg diff` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32616
diff changeset
124 --- /dev/null
01a95cbbff56 py3: add a test to show `hg diff` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32616
diff changeset
125 +++ b/iota
01a95cbbff56 py3: add a test to show `hg diff` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32616
diff changeset
126 @@ -0,0 +1,1 @@
01a95cbbff56 py3: add a test to show `hg diff` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32616
diff changeset
127 +This is the file 'iota'.
31607
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
128 $ $PYTHON3 $HGBIN commit --message 'commit performed in Python 3'
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
129 $ $PYTHON3 $HGBIN status
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
130
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
131 $ mkdir A
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
132 $ echo "This is the file 'mu'." > A/mu
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
133 $ $PYTHON3 $HGBIN addremove
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
134 adding A/mu
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
135 $ $PYTHON3 $HGBIN status
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
136 A A/mu
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
137 $ HGEDITOR='echo message > ' $PYTHON3 $HGBIN commit
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
138 $ $PYTHON3 $HGBIN status
31717
62676bb8d534 tests: add check to make sure summary works on Python 2
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31651
diff changeset
139 $ $PYHON3 $HGBIN summary
62676bb8d534 tests: add check to make sure summary works on Python 2
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31651
diff changeset
140 parent: 1:e1e9167203d4 tip
62676bb8d534 tests: add check to make sure summary works on Python 2
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31651
diff changeset
141 message
62676bb8d534 tests: add check to make sure summary works on Python 2
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31651
diff changeset
142 branch: default
62676bb8d534 tests: add check to make sure summary works on Python 2
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31651
diff changeset
143 commit: (clean)
62676bb8d534 tests: add check to make sure summary works on Python 2
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31651
diff changeset
144 update: (current)
62676bb8d534 tests: add check to make sure summary works on Python 2
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31651
diff changeset
145 phases: 2 draft
31607
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
146
32615
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
147 Test weird unicode-vs-bytes stuff
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
148
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
149 $ $PYTHON3 $HGBIN help | egrep -v '^ |^$'
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
150 Mercurial Distributed SCM
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
151 list of commands:
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
152 additional help topics:
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
153 (use 'hg help -v' to show built-in aliases and global options)
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
154
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
155 $ $PYTHON3 $HGBIN help help | egrep -v '^ |^$'
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
156 hg help [-ecks] [TOPIC]
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
157 show help for a given topic or a help overview
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
158 options ([+] can be repeated):
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
159 (some details hidden, use --verbose to show complete help)
c9318beb7c1a py3: convert __doc__ back to bytes in help.py
Yuya Nishihara <yuya@tcha.org>
parents: 32520
diff changeset
160
32616
6df193b5c437 py3: implement __bytes__() on most of our exception classes
Yuya Nishihara <yuya@tcha.org>
parents: 32615
diff changeset
161 $ $PYTHON3 $HGBIN help -k notopic
6df193b5c437 py3: implement __bytes__() on most of our exception classes
Yuya Nishihara <yuya@tcha.org>
parents: 32615
diff changeset
162 abort: no matches
6df193b5c437 py3: implement __bytes__() on most of our exception classes
Yuya Nishihara <yuya@tcha.org>
parents: 32615
diff changeset
163 (try 'hg help' for a list of topics)
6df193b5c437 py3: implement __bytes__() on most of our exception classes
Yuya Nishihara <yuya@tcha.org>
parents: 32615
diff changeset
164 [255]
6df193b5c437 py3: implement __bytes__() on most of our exception classes
Yuya Nishihara <yuya@tcha.org>
parents: 32615
diff changeset
165
31607
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
166 Prove the repo is valid using the Python 2 `hg`:
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
167 $ hg verify
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
168 checking changesets
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
169 checking manifests
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
170 crosschecking files in changesets and manifests
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
171 checking files
31651
d3140fd322bf py3: prove second commit works
Yuya Nishihara <yuya@tcha.org>
parents: 31632
diff changeset
172 2 files, 2 changesets, 2 total revisions
31607
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
173 $ hg log
31651
d3140fd322bf py3: prove second commit works
Yuya Nishihara <yuya@tcha.org>
parents: 31632
diff changeset
174 changeset: 1:e1e9167203d4
31607
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
175 tag: tip
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
176 user: test
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
177 date: Thu Jan 01 00:00:00 1970 +0000
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
178 summary: message
aea8ec3f7dd1 py3: prove `hg {add,addremove,commit} all work
Augie Fackler <augie@google.com>
parents: 31524
diff changeset
179
31651
d3140fd322bf py3: prove second commit works
Yuya Nishihara <yuya@tcha.org>
parents: 31632
diff changeset
180 changeset: 0:71c96e924262
d3140fd322bf py3: prove second commit works
Yuya Nishihara <yuya@tcha.org>
parents: 31632
diff changeset
181 user: test
d3140fd322bf py3: prove second commit works
Yuya Nishihara <yuya@tcha.org>
parents: 31632
diff changeset
182 date: Thu Jan 01 00:00:00 1970 +0000
d3140fd322bf py3: prove second commit works
Yuya Nishihara <yuya@tcha.org>
parents: 31632
diff changeset
183 summary: commit performed in Python 3
d3140fd322bf py3: prove second commit works
Yuya Nishihara <yuya@tcha.org>
parents: 31632
diff changeset
184
32162
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
185
32803
90ce5f0366ba py3: use python3 hg in test-py3-commands.t at places where py2 hg was used
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32645
diff changeset
186 $ $PYTHON3 $HGBIN log -G
32162
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
187 @ changeset: 1:e1e9167203d4
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
188 | tag: tip
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
189 | user: test
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
190 | date: Thu Jan 01 00:00:00 1970 +0000
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
191 | summary: message
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
192 |
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
193 o changeset: 0:71c96e924262
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
194 user: test
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
195 date: Thu Jan 01 00:00:00 1970 +0000
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
196 summary: commit performed in Python 3
4c49c8601093 py3: add test to show 'hg log -G' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32161
diff changeset
197
32803
90ce5f0366ba py3: use python3 hg in test-py3-commands.t at places where py2 hg was used
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32645
diff changeset
198 $ $PYTHON3 $HGBIN log -Tjson
32163
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
199 [
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
200 {
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
201 "rev": 1,
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
202 "node": "e1e9167203d450ca2f558af628955b5f5afd4489",
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
203 "branch": "default",
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
204 "phase": "draft",
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
205 "user": "test",
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
206 "date": [0, 0],
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
207 "desc": "message",
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
208 "bookmarks": [],
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
209 "tags": ["tip"],
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
210 "parents": ["71c96e924262969ff0d8d3d695b0f75412ccc3d8"]
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
211 },
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
212 {
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
213 "rev": 0,
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
214 "node": "71c96e924262969ff0d8d3d695b0f75412ccc3d8",
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
215 "branch": "default",
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
216 "phase": "draft",
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
217 "user": "test",
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
218 "date": [0, 0],
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
219 "desc": "commit performed in Python 3",
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
220 "bookmarks": [],
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
221 "tags": [],
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
222 "parents": ["0000000000000000000000000000000000000000"]
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
223 }
e1d1f1bc4a95 py3: add test to show 'hg log -Tjson' works
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32162
diff changeset
224 ]
32645
74e9496e4986 py3: add test to show `hg update` and `hg identify` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32644
diff changeset
225
74e9496e4986 py3: add test to show `hg update` and `hg identify` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32644
diff changeset
226 Show that update works now!
74e9496e4986 py3: add test to show `hg update` and `hg identify` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32644
diff changeset
227
32803
90ce5f0366ba py3: use python3 hg in test-py3-commands.t at places where py2 hg was used
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32645
diff changeset
228 $ $PYTHON3 $HGBIN up 0
32645
74e9496e4986 py3: add test to show `hg update` and `hg identify` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32644
diff changeset
229 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
32803
90ce5f0366ba py3: use python3 hg in test-py3-commands.t at places where py2 hg was used
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32645
diff changeset
230 $ $PYTHON3 $HGBIN identify
32645
74e9496e4986 py3: add test to show `hg update` and `hg identify` works on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32644
diff changeset
231 71c96e924262
33093
7fed389f9a9f py3: add tests to show `hg bookmarks` and `hg branches` work on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32803
diff changeset
232
7fed389f9a9f py3: add tests to show `hg bookmarks` and `hg branches` work on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32803
diff changeset
233 branches and bookmarks also works!
7fed389f9a9f py3: add tests to show `hg bookmarks` and `hg branches` work on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32803
diff changeset
234
7fed389f9a9f py3: add tests to show `hg bookmarks` and `hg branches` work on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32803
diff changeset
235 $ $PYTHON3 $HGBIN branches
7fed389f9a9f py3: add tests to show `hg bookmarks` and `hg branches` work on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32803
diff changeset
236 default 1:e1e9167203d4
7fed389f9a9f py3: add tests to show `hg bookmarks` and `hg branches` work on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32803
diff changeset
237 $ $PYTHON3 $HGBIN bookmark book
7fed389f9a9f py3: add tests to show `hg bookmarks` and `hg branches` work on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32803
diff changeset
238 $ $PYTHON3 $HGBIN bookmarks
7fed389f9a9f py3: add tests to show `hg bookmarks` and `hg branches` work on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32803
diff changeset
239 * book 0:71c96e924262