annotate tests/test-committer.t @ 28039:89003c49315c stable

ui: fix crash by non-interactive prompt echo for user name Since we've dropped a str cast at write() by f04bd381e8c0, ui.prompt() should convert default to '' if it is None. Otherwise, write() would fail with "TypeError: object of type 'NoneType' has no len()". This patch includes the tests for both interactive and non-interactive cases because "ui.askusername" was never tested.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 06 Feb 2016 20:43:20 +0900
parents 6dfb78f18bdb
children ad2cd2ef25d9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
1 $ unset HGUSER
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
2 $ EMAIL="My Name <myname@example.com>"
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
3 $ export EMAIL
2104
f1085d34d20d Add tests/test-committer
Andrew Thompson <andrewkt@aktzero.com>
parents:
diff changeset
4
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
5 $ hg init test
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
6 $ cd test
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
7 $ touch asdf
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
8 $ hg add asdf
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
9 $ hg commit -m commit-1
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
10 $ hg tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
11 changeset: 0:53f268a58230
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
12 tag: tip
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
13 user: My Name <myname@example.com>
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
14 date: Thu Jan 01 00:00:00 1970 +0000
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
15 summary: commit-1
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
16
3466
8b55c0ba8048 makes username mandatory
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 2104
diff changeset
17
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
18 $ unset EMAIL
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
19 $ echo 1234 > asdf
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
20 $ hg commit -u "foo@bar.com" -m commit-1
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
21 $ hg tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
22 changeset: 1:3871b2a9e9bf
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
23 tag: tip
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
24 user: foo@bar.com
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
25 date: Thu Jan 01 00:00:00 1970 +0000
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
26 summary: commit-1
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
27
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
28 $ echo "[ui]" >> .hg/hgrc
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
29 $ echo "username = foobar <foo@bar.com>" >> .hg/hgrc
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
30 $ echo 12 > asdf
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
31 $ hg commit -m commit-1
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
32 $ hg tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
33 changeset: 2:8eeac6695c1c
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
34 tag: tip
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
35 user: foobar <foo@bar.com>
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
36 date: Thu Jan 01 00:00:00 1970 +0000
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
37 summary: commit-1
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
38
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
39 $ echo 1 > asdf
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
40 $ hg commit -u "foo@bar.com" -m commit-1
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
41 $ hg tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
42 changeset: 3:957606a725e4
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
43 tag: tip
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
44 user: foo@bar.com
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
45 date: Thu Jan 01 00:00:00 1970 +0000
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
46 summary: commit-1
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
47
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
48 $ echo 123 > asdf
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
49 $ echo "[ui]" > .hg/hgrc
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
50 $ echo "username = " >> .hg/hgrc
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
51 $ hg commit -m commit-1
20579
625533523c9e tests: fix up config --edit breakage
Matt Mackall <mpm@selenic.com>
parents: 16940
diff changeset
52 abort: no username supplied
20580
b75a23eec9c9 ui: fix extra space in username abort
Matt Mackall <mpm@selenic.com>
parents: 20579
diff changeset
53 (use "hg config --edit" to set your username)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
54 [255]
21955
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
55
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
56 # test alternate config var
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
57
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
58 $ echo 1234 > asdf
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
59 $ echo "[ui]" > .hg/hgrc
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
60 $ echo "user = Foo Bar II <foo2@bar.com>" >> .hg/hgrc
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
61 $ hg commit -m commit-1
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
62 $ hg tip
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
63 changeset: 4:6f24bfb4c617
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
64 tag: tip
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
65 user: Foo Bar II <foo2@bar.com>
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
66 date: Thu Jan 01 00:00:00 1970 +0000
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
67 summary: commit-1
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
68
28039
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
69 # test prompt username
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
70
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
71 $ cat > .hg/hgrc <<EOF
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
72 > [ui]
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
73 > askusername = True
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
74 > EOF
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
75
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
76 $ echo 12345 > asdf
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
77 $ hg commit --config ui.interactive=False -m ask
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
78 enter a commit username:
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
79 no username found, using '[^']*' instead (re)
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
80 $ hg rollback -q
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
81
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
82 $ hg commit --config ui.interactive=True -m ask <<EOF
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
83 > Asked User <ask@example.com>
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
84 > EOF
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
85 enter a commit username: Asked User <ask@example.com>
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
86 $ hg tip
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
87 changeset: 5:84c91d963b70
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
88 tag: tip
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
89 user: Asked User <ask@example.com>
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
90 date: Thu Jan 01 00:00:00 1970 +0000
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
91 summary: ask
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
92
89003c49315c ui: fix crash by non-interactive prompt echo for user name
Yuya Nishihara <yuya@tcha.org>
parents: 21955
diff changeset
93
21955
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
94 # test no .hg/hgrc (uses generated non-interactive username)
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
95
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
96 $ echo space > asdf
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
97 $ rm .hg/hgrc
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
98 $ hg commit -m commit-1 2>&1
16940
6409a5c75125 ui: lowercase "no username" warning
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
99 no username found, using '[^']*' instead (re)
8424
c5b3d3e30de7 changelog: refuse to add revisions with empty usernames
Martin Geisler <mg@lazybytes.net>
parents: 4044
diff changeset
100
21955
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
101 $ echo space2 > asdf
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11801
diff changeset
102 $ hg commit -u ' ' -m commit-1
11801
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
103 transaction abort!
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
104 rollback completed
dedf7c811436 tests: unify test-committer
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8424
diff changeset
105 abort: empty username!
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
106 [255]
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12375
diff changeset
107
21955
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
108 # don't add tests here, previous test is unstable
6dfb78f18bdb config: allow 'user' in .hgrc ui section (issue3169)
anatoly techtonik <techtonik@gmail.com>
parents: 20580
diff changeset
109
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12375
diff changeset
110 $ cd ..