annotate tests/test-commit-unresolved.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 c15f06109b7a
children 41ef02ba329b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
1 $ addcommit () {
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
2 > echo $1 > $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
3 > hg add $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
4 > hg commit -d "${2} 0" -m $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
5 > }
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
6
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
7 $ commit () {
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
8 > hg commit -d "${2} 0" -m $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
9 > }
6910
93609576244e Debashify rebase tests
Brendan Cully <brendan@kublai.com>
parents: 6888
diff changeset
10
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
11 $ hg init a
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
12 $ cd a
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
13 $ addcommit "A" 0
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
14 $ addcommit "B" 1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
15 $ echo "C" >> A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
16 $ commit "C" 2
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
17
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
18 $ hg update -C 0
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
19 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
20 $ echo "D" >> A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
21 $ commit "D" 3
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
22 created new head
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
23
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
24 Merging a conflict araises
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
25
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
26 $ hg merge
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
27 merging A
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 23917
diff changeset
28 warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
29 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
12314
f2daa6ab514a merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'
Brodie Rao <brodie@bitheap.org>
parents: 11804
diff changeset
30 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
31 [1]
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
32
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
33 Correct the conflict without marking the file as resolved
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
34
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
35 $ echo "ABCD" > A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
36 $ hg commit -m "Merged"
29975
c15f06109b7a localrepo: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 27102
diff changeset
37 abort: unresolved merge conflicts (see 'hg help resolve')
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
38 [255]
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
39
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
40 Mark the conflict as resolved and commit
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
41
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
42 $ hg resolve -m A
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
43 (no more unresolved files)
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
44 $ hg commit -m "Merged"
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
45
27102
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
46 Test that if a file is removed but not marked resolved, the commit still fails
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
47 (issue4972)
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
48
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
49 $ hg up ".^"
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
50 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
51 $ hg merge 2
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
52 merging A
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
53 warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
54 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
55 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
56 [1]
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
57 $ hg rm --force A
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
58 $ hg commit -m merged
29975
c15f06109b7a localrepo: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 27102
diff changeset
59 abort: unresolved merge conflicts (see 'hg help resolve')
27102
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
60 [255]
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
61
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
62 $ hg resolve -ma
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
63 (no more unresolved files)
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
64 $ hg commit -m merged
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
65 created new head
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
66
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
67 $ cd ..