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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 ..