annotate tests/test-identify.t @ 31971:73e9328e5307

obsolescence: add test case D-3 for obsolescence markers exchange About 3 years ago, in August 2014, the logic to select what markers to select on push was ported from the evolve extension to Mercurial core. However, for some unclear reasons, the tests for that logic were not ported alongside. I realised it a couple of weeks ago while working on another push related issue. I've made a clean up pass on the tests and they are now ready to integrate the core test suite. This series of changesets do not change any logic. I just adds test for logic that has been around for about 10 versions of Mercurial. They are a patch for each test case. It makes it easier to review and postpone one with documentation issues without rejecting the wholes series. This patch introduce case D3: missing prune target (prune not in "pushed set") Each test case comes it in own test file. It help parallelism and does not introduce a significant overhead from having a single unified giant test file. Here are timing to support this claim. # Multiple test files version: # run-tests.py --local -j 1 test-exchange-*.t 53.40s user 6.82s system 85% cpu 1:10.76 total 52.79s user 6.97s system 85% cpu 1:09.97 total 52.94s user 6.82s system 85% cpu 1:09.69 total # Single test file version: # run-tests.py --local -j 1 test-exchange-obsmarkers.t 52.97s user 6.85s system 85% cpu 1:10.10 total 52.64s user 6.79s system 85% cpu 1:09.63 total 53.70s user 7.00s system 85% cpu 1:11.17 total
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Mon, 10 Apr 2017 16:54:43 +0200
parents 4b0fc75f9403
children 15a79ac823e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21188
diff changeset
1 #require serve
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
2
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
3 #if no-outer-repo
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
4
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
5 no repo
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
6
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
7 $ hg id
12070
fddacca3202e Merge with stable
Martin Geisler <mg@lazybytes.net>
parents: 11796
diff changeset
8 abort: there is no Mercurial repository here (.hg not found)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12070
diff changeset
9 [255]
7830
55bd03e2e13c test-identify: require no-outer-repo
Mads Kiilerich <mads@kiilerich.com>
parents: 7759
diff changeset
10
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
11 #endif
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
12
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
13 create repo
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
14
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
15 $ hg init test
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
16 $ cd test
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
17 $ echo a > a
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
18 $ hg ci -Ama
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
19 adding a
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
20
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
21 basic id usage
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
22
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
23 $ hg id
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
24 cb9a9f314b8b tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
25 $ hg id --debug
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
26 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
27 $ hg id -q
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
28 cb9a9f314b8b
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
29 $ hg id -v
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
30 cb9a9f314b8b tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
31
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
32 with options
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
33
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
34 $ hg id -r.
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
35 cb9a9f314b8b tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
36 $ hg id -n
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
37 0
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
38 $ hg id -t
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
39 tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
40 $ hg id -b
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
41 default
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
42 $ hg id -i
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
43 cb9a9f314b8b
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
44 $ hg id -n -t -b -i
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
45 cb9a9f314b8b 0 default tip
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
46
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
47 with modifications
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
48
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
49 $ echo b > a
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
50 $ hg id -n -t -b -i
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
51 cb9a9f314b8b+ 0+ default tip
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
52
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
53 other local repo
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
54
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
55 $ cd ..
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
56 $ hg -R test id
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
57 cb9a9f314b8b+ tip
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
58 #if no-outer-repo
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
59 $ hg id test
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
60 cb9a9f314b8b+ tip
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
61 #endif
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
62
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
63 with remote http repo
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
64
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
65 $ cd test
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
66 $ hg serve -p $HGPORT1 -d --pid-file=hg.pid
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
67 $ cat hg.pid >> $DAEMON_PIDS
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
68 $ hg id http://localhost:$HGPORT1/
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
69 cb9a9f314b8b
7757
af6a63438a8a identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
70
13477
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
71 remote with rev number?
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
72
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
73 $ hg id -n http://localhost:$HGPORT1/
13644
7e6c2f58ad56 identify: list bookmarks for remote repositories
Nils Adermann <naderman@naderman.de>
parents: 13477
diff changeset
74 abort: can't query remote revision number, branch, or tags
13477
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
75 [255]
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
76
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
77 remote with tags?
7759
50baf8215942 tests: fix for test-identify returning 255
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7757
diff changeset
78
11796
141e2e964705 tests: unify test-identify
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7830
diff changeset
79 $ hg id -t http://localhost:$HGPORT1/
13644
7e6c2f58ad56 identify: list bookmarks for remote repositories
Nils Adermann <naderman@naderman.de>
parents: 13477
diff changeset
80 abort: can't query remote revision number, branch, or tags
13477
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
81 [255]
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
82
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
83 remote with branch?
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
84
0fb2ff949790 id: add bookmarks to id
Kevin Bullock <kbullock@ringworld.org>
parents: 13447
diff changeset
85 $ hg id -b http://localhost:$HGPORT1/
13644
7e6c2f58ad56 identify: list bookmarks for remote repositories
Nils Adermann <naderman@naderman.de>
parents: 13477
diff changeset
86 abort: can't query remote revision number, branch, or tags
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12070
diff changeset
87 [255]
13447
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
88
13645
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
89 test bookmark support
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
90
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
91 $ hg bookmark Y
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
92 $ hg bookmark Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
93 $ hg bookmarks
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
94 Y 0:cb9a9f314b8b
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
95 * Z 0:cb9a9f314b8b
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
96 $ hg id
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
97 cb9a9f314b8b+ tip Y/Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
98 $ hg id --bookmarks
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
99 Y Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
100
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
101 test remote identify with bookmarks
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
102
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
103 $ hg id http://localhost:$HGPORT1/
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
104 cb9a9f314b8b Y/Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
105 $ hg id --bookmarks http://localhost:$HGPORT1/
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
106 Y Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
107 $ hg id -r . http://localhost:$HGPORT1/
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
108 cb9a9f314b8b Y/Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
109 $ hg id --bookmarks -r . http://localhost:$HGPORT1/
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
110 Y Z
3786b810ea75 tests: add tests for bookmarks support in hg identify
David Soria Parra <dsp@php.net>
parents: 13644
diff changeset
111
21188
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
112 test invalid lookup
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
113
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
114 $ hg id -r noNoNO http://localhost:$HGPORT1/
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
115 abort: unknown revision 'noNoNO'!
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
116 [255]
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20820
diff changeset
117
13447
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
118 Make sure we do not obscure unknown requires file entries (issue2649)
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
119
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
120 $ echo fake >> .hg/requires
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
121 $ hg id
20820
f8e531a3a77c repo: rephrase the "missing requirement" error message
Mads Kiilerich <madski@unity3d.com>
parents: 20715
diff changeset
122 abort: repository requires features unknown to this Mercurial: fake!
26421
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
123 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
13447
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
124 [255]
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
125
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
126 $ cd ..
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
127 #if no-outer-repo
13447
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
128 $ hg id test
20820
f8e531a3a77c repo: rephrase the "missing requirement" error message
Mads Kiilerich <madski@unity3d.com>
parents: 20715
diff changeset
129 abort: repository requires features unknown to this Mercurial: fake!
26421
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
130 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
13447
931a72e00efa introduce new RequirementError (issue2649)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12346
diff changeset
131 [255]
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
132 #endif