annotate tests/test-rebuildstate.t @ 46387:c41ac8985fe4

perf: test the formatting of a command help Since we are about to addd ':' in command name I want this covered. Differential Revision: https://phab.mercurial-scm.org/D9871
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 25 Jan 2021 23:13:01 +0100
parents 7e99b02768ef
children ff82edadc2e1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
1
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
2 $ cat > adddrop.py <<EOF
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 30026
diff changeset
3 > from mercurial import registrar
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
4 > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 30026
diff changeset
5 > command = registrar.command(cmdtable)
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32337
diff changeset
6 > @command(b'debugadddrop',
38077
74c5ddd97008 py3: add b'' prefixes in tests/test-rebuildstate.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33097
diff changeset
7 > [(b'', b'drop', False, b'drop file from dirstate', b'FILE'),
74c5ddd97008 py3: add b'' prefixes in tests/test-rebuildstate.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33097
diff changeset
8 > (b'', b'normal-lookup', False, b'add file to dirstate', b'FILE')],
74c5ddd97008 py3: add b'' prefixes in tests/test-rebuildstate.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33097
diff changeset
9 > b'hg debugadddrop')
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
10 > def debugadddrop(ui, repo, *pats, **opts):
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
11 > '''Add or drop unnamed arguments to or from the dirstate'''
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
12 > drop = opts.get('drop')
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
13 > nl = opts.get('normal_lookup')
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
14 > if nl and drop:
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
15 > raise error.Abort('drop and normal-lookup are mutually exclusive')
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
16 > wlock = repo.wlock()
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
17 > try:
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
18 > for file in pats:
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
19 > if opts.get('normal_lookup'):
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
20 > repo.dirstate.normallookup(file)
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
21 > else:
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
22 > repo.dirstate.drop(file)
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
23 >
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
24 > repo.dirstate.write(repo.currenttransaction())
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
25 > finally:
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
26 > wlock.release()
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
27 > EOF
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
28
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
29 $ echo "[extensions]" >> $HGRCPATH
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
30 $ echo "debugadddrop=`pwd`/adddrop.py" >> $HGRCPATH
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
31
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
32 basic test for hg debugrebuildstate
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
33
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
34 $ hg init repo
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
35 $ cd repo
5065
b304c2496f52 dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
36
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
37 $ touch foo bar
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
38 $ hg ci -Am 'add foo bar'
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
39 adding bar
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
40 adding foo
5065
b304c2496f52 dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
41
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
42 $ touch baz
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
43 $ hg add baz
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
44 $ hg rm bar
5065
b304c2496f52 dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
45
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
46 $ hg debugrebuildstate
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
47
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
48 state dump after
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
49
39760
7e99b02768ef debugdirstate: deprecate --nodates in favor of --no-dates
Martin von Zweigbergk <martinvonz@google.com>
parents: 38077
diff changeset
50 $ hg debugstate --no-dates | sort
30026
ba06562a06a2 dirstate: rebuild should update dirstate properly
Mateusz Kwapich <mitrandir@fb.com>
parents: 27176
diff changeset
51 n 0 -1 unset bar
ba06562a06a2 dirstate: rebuild should update dirstate properly
Mateusz Kwapich <mitrandir@fb.com>
parents: 27176
diff changeset
52 n 0 -1 unset foo
5065
b304c2496f52 dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
53
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
54 $ hg debugadddrop --normal-lookup file1 file2
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
55 $ hg debugadddrop --drop bar
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
56 $ hg debugadddrop --drop
39760
7e99b02768ef debugdirstate: deprecate --nodates in favor of --no-dates
Martin von Zweigbergk <martinvonz@google.com>
parents: 38077
diff changeset
57 $ hg debugstate --no-dates
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
58 n 0 -1 unset file1
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
59 n 0 -1 unset file2
30026
ba06562a06a2 dirstate: rebuild should update dirstate properly
Mateusz Kwapich <mitrandir@fb.com>
parents: 27176
diff changeset
60 n 0 -1 unset foo
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
61 $ hg debugrebuildstate
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
62
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
63 status
5065
b304c2496f52 dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
64
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
65 $ hg st -A
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
66 ! bar
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
67 ? baz
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
68 C foo
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
69
27175
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
70 Test debugdirstate --minimal where a file is not in parent manifest
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
71 but in the dirstate
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
72 $ touch foo bar qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
73 $ hg add qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
74 $ hg remove bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
75 $ hg status -A
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
76 A qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
77 R bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
78 ? baz
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
79 C foo
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
80 $ hg debugadddrop --normal-lookup baz
39760
7e99b02768ef debugdirstate: deprecate --nodates in favor of --no-dates
Martin von Zweigbergk <martinvonz@google.com>
parents: 38077
diff changeset
81 $ hg debugdirstate --no-dates
27175
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
82 r 0 0 * bar (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
83 n 0 -1 * baz (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
84 n 644 0 * foo (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
85 a 0 -1 * qux (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
86 $ hg debugrebuilddirstate --minimal
39760
7e99b02768ef debugdirstate: deprecate --nodates in favor of --no-dates
Martin von Zweigbergk <martinvonz@google.com>
parents: 38077
diff changeset
87 $ hg debugdirstate --no-dates
27175
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
88 r 0 0 * bar (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
89 n 644 0 * foo (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
90 a 0 -1 * qux (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
91 $ hg status -A
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
92 A qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
93 R bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
94 ? baz
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
95 C foo
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
96
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
97 Test debugdirstate --minimal where file is in the parent manifest but not the
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
98 dirstate
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
99 $ hg manifest
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
100 bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
101 foo
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
102 $ hg status -A
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
103 A qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
104 R bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
105 ? baz
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
106 C foo
39760
7e99b02768ef debugdirstate: deprecate --nodates in favor of --no-dates
Martin von Zweigbergk <martinvonz@google.com>
parents: 38077
diff changeset
107 $ hg debugdirstate --no-dates
27175
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
108 r 0 0 * bar (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
109 n 644 0 * foo (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
110 a 0 -1 * qux (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
111 $ hg debugadddrop --drop foo
39760
7e99b02768ef debugdirstate: deprecate --nodates in favor of --no-dates
Martin von Zweigbergk <martinvonz@google.com>
parents: 38077
diff changeset
112 $ hg debugdirstate --no-dates
27175
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
113 r 0 0 * bar (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
114 a 0 -1 * qux (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
115 $ hg debugrebuilddirstate --minimal
39760
7e99b02768ef debugdirstate: deprecate --nodates in favor of --no-dates
Martin von Zweigbergk <martinvonz@google.com>
parents: 38077
diff changeset
116 $ hg debugdirstate --no-dates
27175
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
117 r 0 0 * bar (glob)
30026
ba06562a06a2 dirstate: rebuild should update dirstate properly
Mateusz Kwapich <mitrandir@fb.com>
parents: 27176
diff changeset
118 n 0 -1 * foo (glob)
27175
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
119 a 0 -1 * qux (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
120 $ hg status -A
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
121 A qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
122 R bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
123 ? baz
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
124 C foo
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
125