Mercurial > hg
annotate tests/test-flagprocessor.t @ 31834:433ab46f6bb4
bundlerepo: make baserevision return raw text
"baserevision" returns the text that will be used to apply deltas. Since
deltas are against raw texts, "baserevision" should return raw text.
Now test-flagprocessor.t points us to a new error.
author | Jun Wu <quark@fb.com> |
---|---|
date | Thu, 06 Apr 2017 17:43:29 -0700 |
parents | 723c1ab2f77e |
children | 4bafc80f827e |
rev | line source |
---|---|
30745 | 1 # Create server |
2 $ hg init server | |
3 $ cd server | |
4 $ cat >> .hg/hgrc << EOF | |
5 > [extensions] | |
6 > extension=$TESTDIR/flagprocessorext.py | |
7 > EOF | |
8 $ cd ../ | |
9 | |
10 # Clone server and enable extensions | |
11 $ hg clone -q server client | |
12 $ cd client | |
13 $ cat >> .hg/hgrc << EOF | |
14 > [extensions] | |
15 > extension=$TESTDIR/flagprocessorext.py | |
16 > EOF | |
17 | |
18 # Commit file that will trigger the noop extension | |
19 $ echo '[NOOP]' > noop | |
20 $ hg commit -Aqm "noop" | |
21 | |
22 # Commit file that will trigger the base64 extension | |
23 $ echo '[BASE64]' > base64 | |
24 $ hg commit -Aqm 'base64' | |
25 | |
26 # Commit file that will trigger the gzip extension | |
27 $ echo '[GZIP]' > gzip | |
28 $ hg commit -Aqm 'gzip' | |
29 | |
30 # Commit file that will trigger noop and base64 | |
31 $ echo '[NOOP][BASE64]' > noop-base64 | |
32 $ hg commit -Aqm 'noop+base64' | |
33 | |
34 # Commit file that will trigger noop and gzip | |
35 $ echo '[NOOP][GZIP]' > noop-gzip | |
36 $ hg commit -Aqm 'noop+gzip' | |
37 | |
38 # Commit file that will trigger base64 and gzip | |
39 $ echo '[BASE64][GZIP]' > base64-gzip | |
40 $ hg commit -Aqm 'base64+gzip' | |
41 | |
42 # Commit file that will trigger base64, gzip and noop | |
43 $ echo '[BASE64][GZIP][NOOP]' > base64-gzip-noop | |
44 $ hg commit -Aqm 'base64+gzip+noop' | |
45 | |
46 # TEST: ensure the revision data is consistent | |
47 $ hg cat noop | |
48 [NOOP] | |
49 $ hg debugdata noop 0 | |
50 [NOOP] | |
51 | |
52 $ hg cat -r . base64 | |
53 [BASE64] | |
54 $ hg debugdata base64 0 | |
55 W0JBU0U2NF0K (no-eol) | |
56 | |
57 $ hg cat -r . gzip | |
58 [GZIP] | |
59 $ hg debugdata gzip 0 | |
60 x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc) | |
61 | |
62 $ hg cat -r . noop-base64 | |
63 [NOOP][BASE64] | |
64 $ hg debugdata noop-base64 0 | |
65 W05PT1BdW0JBU0U2NF0K (no-eol) | |
66 | |
67 $ hg cat -r . noop-gzip | |
68 [NOOP][GZIP] | |
69 $ hg debugdata noop-gzip 0 | |
70 x\x9c\x8b\xf6\xf3\xf7\x0f\x88\x8dv\x8f\xf2\x0c\x88\xe5\x02\x00\x1dH\x03\xf1 (no-eol) (esc) | |
71 | |
72 $ hg cat -r . base64-gzip | |
73 [BASE64][GZIP] | |
74 $ hg debugdata base64-gzip 0 | |
75 eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol) | |
76 | |
77 $ hg cat -r . base64-gzip-noop | |
78 [BASE64][GZIP][NOOP] | |
79 $ hg debugdata base64-gzip-noop 0 | |
80 eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol) | |
81 | |
82 # Push to the server | |
83 $ hg push | |
84 pushing to $TESTTMP/server (glob) | |
85 searching for changes | |
86 adding changesets | |
87 adding manifests | |
88 adding file changes | |
89 added 7 changesets with 7 changes to 7 files | |
90 | |
91 # Initialize new client (not cloning) and setup extension | |
92 $ cd .. | |
93 $ hg init client2 | |
94 $ cd client2 | |
95 $ cat >> .hg/hgrc << EOF | |
96 > [paths] | |
97 > default = $TESTTMP/server | |
98 > [extensions] | |
99 > extension=$TESTDIR/flagprocessorext.py | |
100 > EOF | |
101 | |
102 # Pull from server and update to latest revision | |
103 $ hg pull default | |
104 pulling from $TESTTMP/server (glob) | |
105 requesting all changes | |
106 adding changesets | |
107 adding manifests | |
108 adding file changes | |
109 added 7 changesets with 7 changes to 7 files | |
110 (run 'hg update' to get a working copy) | |
111 $ hg update | |
112 7 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
113 | |
114 # TEST: ensure the revision data is consistent | |
115 $ hg cat noop | |
116 [NOOP] | |
117 $ hg debugdata noop 0 | |
118 [NOOP] | |
119 | |
120 $ hg cat -r . base64 | |
121 [BASE64] | |
122 $ hg debugdata base64 0 | |
123 W0JBU0U2NF0K (no-eol) | |
124 | |
125 $ hg cat -r . gzip | |
126 [GZIP] | |
127 $ hg debugdata gzip 0 | |
128 x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc) | |
129 | |
130 $ hg cat -r . noop-base64 | |
131 [NOOP][BASE64] | |
132 $ hg debugdata noop-base64 0 | |
133 W05PT1BdW0JBU0U2NF0K (no-eol) | |
134 | |
135 $ hg cat -r . noop-gzip | |
136 [NOOP][GZIP] | |
137 $ hg debugdata noop-gzip 0 | |
138 x\x9c\x8b\xf6\xf3\xf7\x0f\x88\x8dv\x8f\xf2\x0c\x88\xe5\x02\x00\x1dH\x03\xf1 (no-eol) (esc) | |
139 | |
140 $ hg cat -r . base64-gzip | |
141 [BASE64][GZIP] | |
142 $ hg debugdata base64-gzip 0 | |
143 eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol) | |
144 | |
145 $ hg cat -r . base64-gzip-noop | |
146 [BASE64][GZIP][NOOP] | |
147 $ hg debugdata base64-gzip-noop 0 | |
148 eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol) | |
149 | |
150 # TEST: ensure a missing processor is handled | |
151 $ echo '[FAIL][BASE64][GZIP][NOOP]' > fail-base64-gzip-noop | |
152 $ hg commit -Aqm 'fail+base64+gzip+noop' | |
153 abort: missing processor for flag '0x1'! | |
154 [255] | |
155 | |
156 # TEST: ensure we cannot register several flag processors on the same flag | |
157 $ cat >> .hg/hgrc << EOF | |
158 > [extensions] | |
159 > extension=$TESTDIR/flagprocessorext.py | |
160 > duplicate=$TESTDIR/flagprocessorext.py | |
161 > EOF | |
162 $ echo 'this should fail' > file | |
163 $ hg commit -Aqm 'add file' | |
164 abort: cannot register multiple processors on flag '0x8'. | |
165 [255] | |
31833
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
166 |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
167 $ cd .. |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
168 |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
169 # TEST: bundle repo |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
170 $ hg init bundletest |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
171 $ cd bundletest |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
172 |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
173 $ cat >> .hg/hgrc << EOF |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
174 > [extensions] |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
175 > flagprocessor=$TESTDIR/flagprocessorext.py |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
176 > EOF |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
177 |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
178 $ for i in 0 single two three 4; do |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
179 > echo '[BASE64]a-bit-longer-'$i > base64 |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
180 > hg commit -m base64-$i -A base64 |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
181 > done |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
182 |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
183 $ hg update 2 -q |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
184 $ echo '[BASE64]a-bit-longer-branching' > base64 |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
185 $ hg commit -q -m branching |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
186 |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
187 $ hg bundle --base 1 bundle.hg |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
188 4 changesets found |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
189 $ hg --config extensions.strip= strip -r 2 --no-backup --force -q |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
190 $ hg -R bundle.hg log --stat -T '{rev} {desc}\n' base64 2>&1 | egrep -v '^(\*\*| )' |
31834
433ab46f6bb4
bundlerepo: make baserevision return raw text
Jun Wu <quark@fb.com>
parents:
31833
diff
changeset
|
191 abort: integrity check failed on data/base64.i:2! |
31833
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
192 |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
193 $ hg bundle -R bundle.hg --base 1 bundle-again.hg -q 2>&1 | egrep -v '^(\*\*| )' |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
194 Traceback (most recent call last): |
31834
433ab46f6bb4
bundlerepo: make baserevision return raw text
Jun Wu <quark@fb.com>
parents:
31833
diff
changeset
|
195 mercurial.mpatch.mpatchError: invalid patch |
31833
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
196 $ hg -R bundle-again.hg log --stat -T '{rev} {desc}\n' base64 2>&1 | egrep -v '^(\*\*| )' |
723c1ab2f77e
test-flagprocessor: add tests about bundlerepo
Jun Wu <quark@fb.com>
parents:
30745
diff
changeset
|
197 abort: repository bundle-again.hg not found! |