Mercurial > hg
annotate tests/test-subrepo-relative-path.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 | c63bf97cf7c7 |
children | 2428e8ec0793 |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
17539
diff
changeset
|
1 #require killdaemons |
15446
c5c9ca3719f9
tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents:
14281
diff
changeset
|
2 |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
3 Preparing the subrepository 'sub' |
11109
a2bc2f2d77a9
subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
4 |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
5 $ hg init sub |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
6 $ echo sub > sub/sub |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
7 $ hg add -R sub |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15446
diff
changeset
|
8 adding sub/sub (glob) |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
9 $ hg commit -R sub -m "sub import" |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
10 |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
11 Preparing the 'main' repo which depends on the subrepo 'sub' |
11109
a2bc2f2d77a9
subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
12 |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
13 $ hg init main |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
14 $ echo main > main/main |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
15 $ echo "sub = ../sub" > main/.hgsub |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
16 $ hg clone sub main/sub |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
17 updating to branch default |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
18 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
19 $ hg add -R main |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15446
diff
changeset
|
20 adding main/.hgsub (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15446
diff
changeset
|
21 adding main/main (glob) |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
22 $ hg commit -R main -m "main import" |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
23 |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
24 Cleaning both repositories, just as a clone -U |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
25 |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
26 $ hg up -C -R sub null |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
27 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
28 $ hg up -C -R main null |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
29 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
30 $ rm -rf main/sub |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
31 |
17015
73d20de5f30b
tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents:
16351
diff
changeset
|
32 hide outer repo |
73d20de5f30b
tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents:
16351
diff
changeset
|
33 $ hg init |
73d20de5f30b
tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents:
16351
diff
changeset
|
34 |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
35 Serving them both using hgweb |
11109
a2bc2f2d77a9
subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
36 |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
37 $ printf '[paths]\n/main = main\nsub = sub\n' > webdir.conf |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
38 $ hg serve --webdir-conf webdir.conf -a localhost -p $HGPORT \ |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
39 > -A /dev/null -E /dev/null --pid-file hg.pid -d |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
40 $ cat hg.pid >> $DAEMON_PIDS |
11109
a2bc2f2d77a9
subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
41 |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
42 Clone main from hgweb |
11109
a2bc2f2d77a9
subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
43 |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
44 $ hg clone "http://localhost:$HGPORT/main" cloned |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
45 requesting all changes |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
46 adding changesets |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
47 adding manifests |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
48 adding file changes |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
49 added 1 changesets with 3 changes to 3 files |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
50 updating to branch default |
14281
ccb7240acf32
subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents:
14187
diff
changeset
|
51 cloning subrepo sub from http://localhost:$HGPORT/sub |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
52 requesting all changes |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
53 adding changesets |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
54 adding manifests |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
55 adding file changes |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
56 added 1 changesets with 1 changes to 1 files |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
57 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
11109
a2bc2f2d77a9
subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
58 |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
59 Checking cloned repo ids |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
60 |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
61 $ hg id -R cloned |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
62 fdfeeb3e979e tip |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
63 $ hg id -R cloned/sub |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
64 863c1745b441 tip |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
65 |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
66 subrepo debug for 'main' clone |
11109
a2bc2f2d77a9
subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
67 |
11915
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
68 $ hg debugsub -R cloned |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
69 path sub |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
70 source ../sub |
d521e72314f9
tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents:
11109
diff
changeset
|
71 revision 863c1745b441bd97a8c4a096e87793073f4fb215 |
11109
a2bc2f2d77a9
subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
72 |
25474
8c14f87bd0ae
tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents:
25472
diff
changeset
|
73 $ killdaemons.py |
14187
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
74 |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
75 subrepo paths with ssh urls |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
76 |
25495
c63bf97cf7c7
tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents:
25476
diff
changeset
|
77 $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/cloned sshclone |
14187
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
78 requesting all changes |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
79 adding changesets |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
80 adding manifests |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
81 adding file changes |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
82 added 1 changesets with 3 changes to 3 files |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
83 updating to branch default |
14281
ccb7240acf32
subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents:
14187
diff
changeset
|
84 cloning subrepo sub from ssh://user@dummy/sub |
14187
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
85 requesting all changes |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
86 adding changesets |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
87 adding manifests |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
88 adding file changes |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
89 added 1 changesets with 1 changes to 1 files |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
90 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
91 |
25495
c63bf97cf7c7
tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents:
25476
diff
changeset
|
92 $ hg -R sshclone push -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/`pwd`/cloned |
14187
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
93 pushing to ssh://user@dummy/$TESTTMP/cloned |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
94 pushing subrepo sub to ssh://user@dummy/$TESTTMP/sub |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
95 searching for changes |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
96 no changes found |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
97 searching for changes |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
98 no changes found |
16023
90f8b8dd0326
push: return 1 if no changes found (issue3228)
Matt Mackall <mpm@selenic.com>
parents:
15622
diff
changeset
|
99 [1] |
14187
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
100 |
9bbaafddfa90
tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents:
13138
diff
changeset
|
101 $ cat dummylog |
15622
86fc364ca5f8
sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents:
15581
diff
changeset
|
102 Got arguments 1:user@dummy 2:hg -R cloned serve --stdio |
86fc364ca5f8
sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents:
15581
diff
changeset
|
103 Got arguments 1:user@dummy 2:hg -R sub serve --stdio |
86fc364ca5f8
sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents:
15581
diff
changeset
|
104 Got arguments 1:user@dummy 2:hg -R $TESTTMP/cloned serve --stdio |
86fc364ca5f8
sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents:
15581
diff
changeset
|
105 Got arguments 1:user@dummy 2:hg -R $TESTTMP/sub serve --stdio |