Mercurial > evolve
annotate tests/test-exchange-A2.t @ 957:2cde59f3cb5d
evolve: add a push pass using bundle2
Instead of using a dedicated wireprotocol commands, we use bundle2 to transmit
an obs marker parts. This aims at both testing bundle2 more and to limit the
amount of special code we needs to put in simple for server to fit our needs.
The massive test changes comes from the fact we can use this fast path for both
remote and local push.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Tue, 20 May 2014 13:41:27 -0700 |
parents | b107f3549ec2 |
children | bddee73b361e |
rev | line source |
---|---|
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
1 |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
2 |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
3 Initial setup |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
4 |
829
0943f327e2fb
exchance: add a common setup script for all test
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
828
diff
changeset
|
5 $ . $TESTDIR/_exc-util.sh |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
6 |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
7 === A.2 Two heads === |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
8 |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
9 .. {{{ |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
10 .. ⇠○ B |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
11 .. ⇠◔ | A |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
12 .. |/ |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
13 .. ● O |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
14 .. }}} |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
15 .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
16 .. Marker exist from: |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
17 .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
18 .. * A |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
19 .. * B |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
20 .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
21 .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
22 .. Command run: |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
23 .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
24 .. * hg push -r A |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
25 .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
26 .. Expected exchange: |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
27 .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
28 .. * chain from A |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
29 .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
30 .. Expected Exclude: |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
31 .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
32 .. * chain from B |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
33 |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
34 initial |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
35 |
830
f3b3a09ba312
exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
829
diff
changeset
|
36 $ setuprepos A.2 |
f3b3a09ba312
exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
829
diff
changeset
|
37 creating test repo for test case A.2 |
f3b3a09ba312
exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
829
diff
changeset
|
38 - pulldest |
f3b3a09ba312
exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
829
diff
changeset
|
39 - main |
f3b3a09ba312
exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
829
diff
changeset
|
40 - pushdest |
f3b3a09ba312
exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
829
diff
changeset
|
41 cd into `main` and proceed with env setup |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
42 $ cd main |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
43 $ mkcommit A |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
44 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(A)'` |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
45 $ hg up .^ |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
46 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
47 $ mkcommit B |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
48 created new head |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
49 $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb `getid 'desc(B)'` |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
50 $ hg log -G |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
51 @ 35b183996678 (draft): B |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
52 | |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
53 | o f5bc6836db60 (draft): A |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
54 |/ |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
55 o a9bdc8b26820 (public): O |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
56 |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
57 $ hg debugobsolete |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
58 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'} |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
59 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 {'date': '', 'user': 'test'} |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
60 $ cd .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
61 $ cd .. |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
62 |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
63 |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
64 Actual Test |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
65 --------------- |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
66 |
831
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
67 $ dotest A.2 A |
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
68 ## Running testcase A.2 |
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
69 # testing echange of "A" (f5bc6836db60) |
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
70 ## initial state |
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
71 # obstore: main |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
72 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'} |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
73 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 {'date': '', 'user': 'test'} |
831
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
74 # obstore: pushdest |
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
75 # obstore: pulldest |
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
76 ## pushing "A" from main to pushdest |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
77 pushing to pushdest |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
78 searching for changes |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
79 adding changesets |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
80 adding manifests |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
81 adding file changes |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
82 added 1 changesets with 1 changes to 1 files |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
83 OBSEXC: computing relevant nodes |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
84 OBSEXC: computing markers relevant to 2 nodes |
957
2cde59f3cb5d
evolve: add a push pass using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
956
diff
changeset
|
85 OBSEXC: pushing 1 markers (62 bytes) |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
86 OBSEXC: DONE |
831
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
87 ## post push state |
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
88 # obstore: main |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
89 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'} |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
90 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 {'date': '', 'user': 'test'} |
831
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
91 # obstore: pushdest |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
92 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'} |
831
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
93 # obstore: pulldest |
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
94 ## pulling "f5bc6836db60" from main into pulldest |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
95 pulling from main |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
96 searching for changes |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
97 adding changesets |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
98 adding manifests |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
99 adding file changes |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
100 added 1 changesets with 1 changes to 1 files |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
101 OBSEXC: pull obsolescence markers |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
102 OBSEXC: merging obsolescence markers (62 bytes) |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
103 OBSEXC: 1 markers added |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
104 OBSEXC: DONE |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
105 (run 'hg update' to get a working copy) |
831
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
106 ## post pull state |
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
107 # obstore: main |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
108 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'} |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
109 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 {'date': '', 'user': 'test'} |
831
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
110 # obstore: pushdest |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
111 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'} |
831
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
112 # obstore: pulldest |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
113 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {'date': '', 'user': 'test'} |
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
114 |
831
a6af6919888d
exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
830
diff
changeset
|
115 |
828
c362513b3c7e
exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
116 $ cd .. |