annotate tests/test-casecollision.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 7a9cbb315d84
children 0b8e076e878c
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: 17096
diff changeset
1 #require no-icasefs
14068
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
2
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
3 test file addition with colliding case
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
4
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
5 $ hg init repo1
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
6 $ cd repo1
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
7 $ echo a > a
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
8 $ echo A > A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
9 $ hg add a
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
10 $ hg st
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
11 A a
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
12 ? A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
13 $ hg add --config ui.portablefilenames=abort A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
14 abort: possible case-folding collision for A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
15 [255]
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
16 $ hg st
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
17 A a
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
18 ? A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
19 $ hg add A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
20 warning: possible case-folding collision for A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
21 $ hg st
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
22 A A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
23 A a
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
24 $ hg forget A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
25 $ hg st
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
26 A a
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
27 ? A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
28 $ hg add --config ui.portablefilenames=no A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
29 $ hg st
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
30 A A
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
31 A a
17096
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
32 $ mkdir b
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
33 $ touch b/c b/D
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
34 $ hg add b
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
35 adding b/D
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
36 adding b/c
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
37 $ touch b/d b/C
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
38 $ hg add b/C
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
39 warning: possible case-folding collision for b/C
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
40 $ hg add b/d
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
41 warning: possible case-folding collision for b/d
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
42 $ touch b/a1 b/a2
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
43 $ hg add b
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
44 adding b/a1
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
45 adding b/a2
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
46 $ touch b/A2 b/a1.1
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
47 $ hg add b/a1.1 b/A2
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
48 warning: possible case-folding collision for b/A2
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
49 $ touch b/f b/F
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
50 $ hg add b/f b/F
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
51 warning: possible case-folding collision for b/f
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
52 $ touch g G
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
53 $ hg add g G
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
54 warning: possible case-folding collision for g
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
55 $ mkdir h H
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
56 $ touch h/x H/x
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
57 $ hg add h/x H/x
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
58 warning: possible case-folding collision for h/x
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
59 $ touch h/s H/s
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
60 $ hg add h/s
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
61 $ hg add H/s
14e44933d175 casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents: 14178
diff changeset
62 warning: possible case-folding collision for H/s
14178
524c560e2d32 test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents: 14068
diff changeset
63
524c560e2d32 test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents: 14068
diff changeset
64 case changing rename must not warn or abort
524c560e2d32 test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents: 14068
diff changeset
65
524c560e2d32 test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents: 14068
diff changeset
66 $ echo c > c
524c560e2d32 test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents: 14068
diff changeset
67 $ hg ci -qAmx
524c560e2d32 test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents: 14068
diff changeset
68 $ hg mv c C
14068
04ce8fa1015d add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff changeset
69 $ cd ..