##// END OF EJS Templates
tests: fix test-flagprocessor.t flakiness...
Martin von Zweigbergk -
r33617:c6146dd1 stable
parent child Browse files
Show More
@@ -1,248 +1,250 b''
1 # Create server
1 # Create server
2 $ hg init server
2 $ hg init server
3 $ cd server
3 $ cd server
4 $ cat >> .hg/hgrc << EOF
4 $ cat >> .hg/hgrc << EOF
5 > [extensions]
5 > [extensions]
6 > extension=$TESTDIR/flagprocessorext.py
6 > extension=$TESTDIR/flagprocessorext.py
7 > EOF
7 > EOF
8 $ cd ../
8 $ cd ../
9
9
10 # Clone server and enable extensions
10 # Clone server and enable extensions
11 $ hg clone -q server client
11 $ hg clone -q server client
12 $ cd client
12 $ cd client
13 $ cat >> .hg/hgrc << EOF
13 $ cat >> .hg/hgrc << EOF
14 > [extensions]
14 > [extensions]
15 > extension=$TESTDIR/flagprocessorext.py
15 > extension=$TESTDIR/flagprocessorext.py
16 > EOF
16 > EOF
17
17
18 # Commit file that will trigger the noop extension
18 # Commit file that will trigger the noop extension
19 $ echo '[NOOP]' > noop
19 $ echo '[NOOP]' > noop
20 $ hg commit -Aqm "noop"
20 $ hg commit -Aqm "noop"
21
21
22 # Commit file that will trigger the base64 extension
22 # Commit file that will trigger the base64 extension
23 $ echo '[BASE64]' > base64
23 $ echo '[BASE64]' > base64
24 $ hg commit -Aqm 'base64'
24 $ hg commit -Aqm 'base64'
25
25
26 # Commit file that will trigger the gzip extension
26 # Commit file that will trigger the gzip extension
27 $ echo '[GZIP]' > gzip
27 $ echo '[GZIP]' > gzip
28 $ hg commit -Aqm 'gzip'
28 $ hg commit -Aqm 'gzip'
29
29
30 # Commit file that will trigger noop and base64
30 # Commit file that will trigger noop and base64
31 $ echo '[NOOP][BASE64]' > noop-base64
31 $ echo '[NOOP][BASE64]' > noop-base64
32 $ hg commit -Aqm 'noop+base64'
32 $ hg commit -Aqm 'noop+base64'
33
33
34 # Commit file that will trigger noop and gzip
34 # Commit file that will trigger noop and gzip
35 $ echo '[NOOP][GZIP]' > noop-gzip
35 $ echo '[NOOP][GZIP]' > noop-gzip
36 $ hg commit -Aqm 'noop+gzip'
36 $ hg commit -Aqm 'noop+gzip'
37
37
38 # Commit file that will trigger base64 and gzip
38 # Commit file that will trigger base64 and gzip
39 $ echo '[BASE64][GZIP]' > base64-gzip
39 $ echo '[BASE64][GZIP]' > base64-gzip
40 $ hg commit -Aqm 'base64+gzip'
40 $ hg commit -Aqm 'base64+gzip'
41
41
42 # Commit file that will trigger base64, gzip and noop
42 # Commit file that will trigger base64, gzip and noop
43 $ echo '[BASE64][GZIP][NOOP]' > base64-gzip-noop
43 $ echo '[BASE64][GZIP][NOOP]' > base64-gzip-noop
44 $ hg commit -Aqm 'base64+gzip+noop'
44 $ hg commit -Aqm 'base64+gzip+noop'
45
45
46 # TEST: ensure the revision data is consistent
46 # TEST: ensure the revision data is consistent
47 $ hg cat noop
47 $ hg cat noop
48 [NOOP]
48 [NOOP]
49 $ hg debugdata noop 0
49 $ hg debugdata noop 0
50 [NOOP]
50 [NOOP]
51
51
52 $ hg cat -r . base64
52 $ hg cat -r . base64
53 [BASE64]
53 [BASE64]
54 $ hg debugdata base64 0
54 $ hg debugdata base64 0
55 W0JBU0U2NF0K (no-eol)
55 W0JBU0U2NF0K (no-eol)
56
56
57 $ hg cat -r . gzip
57 $ hg cat -r . gzip
58 [GZIP]
58 [GZIP]
59 $ hg debugdata gzip 0
59 $ hg debugdata gzip 0
60 x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc)
60 x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc)
61
61
62 $ hg cat -r . noop-base64
62 $ hg cat -r . noop-base64
63 [NOOP][BASE64]
63 [NOOP][BASE64]
64 $ hg debugdata noop-base64 0
64 $ hg debugdata noop-base64 0
65 W05PT1BdW0JBU0U2NF0K (no-eol)
65 W05PT1BdW0JBU0U2NF0K (no-eol)
66
66
67 $ hg cat -r . noop-gzip
67 $ hg cat -r . noop-gzip
68 [NOOP][GZIP]
68 [NOOP][GZIP]
69 $ hg debugdata noop-gzip 0
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)
70 x\x9c\x8b\xf6\xf3\xf7\x0f\x88\x8dv\x8f\xf2\x0c\x88\xe5\x02\x00\x1dH\x03\xf1 (no-eol) (esc)
71
71
72 $ hg cat -r . base64-gzip
72 $ hg cat -r . base64-gzip
73 [BASE64][GZIP]
73 [BASE64][GZIP]
74 $ hg debugdata base64-gzip 0
74 $ hg debugdata base64-gzip 0
75 eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol)
75 eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol)
76
76
77 $ hg cat -r . base64-gzip-noop
77 $ hg cat -r . base64-gzip-noop
78 [BASE64][GZIP][NOOP]
78 [BASE64][GZIP][NOOP]
79 $ hg debugdata base64-gzip-noop 0
79 $ hg debugdata base64-gzip-noop 0
80 eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol)
80 eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol)
81
81
82 # Push to the server
82 # Push to the server
83 $ hg push
83 $ hg push
84 pushing to $TESTTMP/server (glob)
84 pushing to $TESTTMP/server (glob)
85 searching for changes
85 searching for changes
86 adding changesets
86 adding changesets
87 adding manifests
87 adding manifests
88 adding file changes
88 adding file changes
89 added 7 changesets with 7 changes to 7 files
89 added 7 changesets with 7 changes to 7 files
90
90
91 # Initialize new client (not cloning) and setup extension
91 # Initialize new client (not cloning) and setup extension
92 $ cd ..
92 $ cd ..
93 $ hg init client2
93 $ hg init client2
94 $ cd client2
94 $ cd client2
95 $ cat >> .hg/hgrc << EOF
95 $ cat >> .hg/hgrc << EOF
96 > [paths]
96 > [paths]
97 > default = $TESTTMP/server
97 > default = $TESTTMP/server
98 > [extensions]
98 > [extensions]
99 > extension=$TESTDIR/flagprocessorext.py
99 > extension=$TESTDIR/flagprocessorext.py
100 > EOF
100 > EOF
101
101
102 # Pull from server and update to latest revision
102 # Pull from server and update to latest revision
103 $ hg pull default
103 $ hg pull default
104 pulling from $TESTTMP/server (glob)
104 pulling from $TESTTMP/server (glob)
105 requesting all changes
105 requesting all changes
106 adding changesets
106 adding changesets
107 adding manifests
107 adding manifests
108 adding file changes
108 adding file changes
109 added 7 changesets with 7 changes to 7 files
109 added 7 changesets with 7 changes to 7 files
110 (run 'hg update' to get a working copy)
110 (run 'hg update' to get a working copy)
111 $ hg update
111 $ hg update
112 7 files updated, 0 files merged, 0 files removed, 0 files unresolved
112 7 files updated, 0 files merged, 0 files removed, 0 files unresolved
113
113
114 # TEST: ensure the revision data is consistent
114 # TEST: ensure the revision data is consistent
115 $ hg cat noop
115 $ hg cat noop
116 [NOOP]
116 [NOOP]
117 $ hg debugdata noop 0
117 $ hg debugdata noop 0
118 [NOOP]
118 [NOOP]
119
119
120 $ hg cat -r . base64
120 $ hg cat -r . base64
121 [BASE64]
121 [BASE64]
122 $ hg debugdata base64 0
122 $ hg debugdata base64 0
123 W0JBU0U2NF0K (no-eol)
123 W0JBU0U2NF0K (no-eol)
124
124
125 $ hg cat -r . gzip
125 $ hg cat -r . gzip
126 [GZIP]
126 [GZIP]
127 $ hg debugdata gzip 0
127 $ hg debugdata gzip 0
128 x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc)
128 x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc)
129
129
130 $ hg cat -r . noop-base64
130 $ hg cat -r . noop-base64
131 [NOOP][BASE64]
131 [NOOP][BASE64]
132 $ hg debugdata noop-base64 0
132 $ hg debugdata noop-base64 0
133 W05PT1BdW0JBU0U2NF0K (no-eol)
133 W05PT1BdW0JBU0U2NF0K (no-eol)
134
134
135 $ hg cat -r . noop-gzip
135 $ hg cat -r . noop-gzip
136 [NOOP][GZIP]
136 [NOOP][GZIP]
137 $ hg debugdata noop-gzip 0
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)
138 x\x9c\x8b\xf6\xf3\xf7\x0f\x88\x8dv\x8f\xf2\x0c\x88\xe5\x02\x00\x1dH\x03\xf1 (no-eol) (esc)
139
139
140 $ hg cat -r . base64-gzip
140 $ hg cat -r . base64-gzip
141 [BASE64][GZIP]
141 [BASE64][GZIP]
142 $ hg debugdata base64-gzip 0
142 $ hg debugdata base64-gzip 0
143 eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol)
143 eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol)
144
144
145 $ hg cat -r . base64-gzip-noop
145 $ hg cat -r . base64-gzip-noop
146 [BASE64][GZIP][NOOP]
146 [BASE64][GZIP][NOOP]
147 $ hg debugdata base64-gzip-noop 0
147 $ hg debugdata base64-gzip-noop 0
148 eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol)
148 eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol)
149
149
150 # TEST: ensure a missing processor is handled
150 # TEST: ensure a missing processor is handled
151 $ echo '[FAIL][BASE64][GZIP][NOOP]' > fail-base64-gzip-noop
151 $ echo '[FAIL][BASE64][GZIP][NOOP]' > fail-base64-gzip-noop
152 $ hg commit -Aqm 'fail+base64+gzip+noop'
152 $ hg commit -Aqm 'fail+base64+gzip+noop'
153 abort: missing processor for flag '0x1'!
153 abort: missing processor for flag '0x1'!
154 [255]
154 [255]
155 $ hg forget fail-base64-gzip-noop
155 $ hg forget fail-base64-gzip-noop
156 $ rm fail-base64-gzip-noop
156 $ rm fail-base64-gzip-noop
157
157
158 # TEST: ensure we cannot register several flag processors on the same flag
158 # TEST: ensure we cannot register several flag processors on the same flag
159 $ cat >> .hg/hgrc << EOF
159 $ cat >> .hg/hgrc << EOF
160 > [extensions]
160 > [extensions]
161 > extension=$TESTDIR/flagprocessorext.py
161 > extension=$TESTDIR/flagprocessorext.py
162 > duplicate=$TESTDIR/flagprocessorext.py
162 > duplicate=$TESTDIR/flagprocessorext.py
163 > EOF
163 > EOF
164 $ echo 'this should fail' > file
164 $ hg debugrebuilddirstate
165 $ hg commit -Aqm 'add file'
166 *** failed to set up extension duplicate: cannot register multiple processors on flag '0x8'.
165 *** failed to set up extension duplicate: cannot register multiple processors on flag '0x8'.
166 $ hg st 2>&1 | egrep 'cannot register multiple processors|flagprocessorext'
167 *** failed to set up extension duplicate: cannot register multiple processors on flag '0x8'.
168 File "*/tests/flagprocessorext.py", line *, in b64decode (glob)
167
169
168 $ cd ..
170 $ cd ..
169
171
170 # TEST: bundle repo
172 # TEST: bundle repo
171 $ hg init bundletest
173 $ hg init bundletest
172 $ cd bundletest
174 $ cd bundletest
173
175
174 $ cat >> .hg/hgrc << EOF
176 $ cat >> .hg/hgrc << EOF
175 > [extensions]
177 > [extensions]
176 > flagprocessor=$TESTDIR/flagprocessorext.py
178 > flagprocessor=$TESTDIR/flagprocessorext.py
177 > EOF
179 > EOF
178
180
179 $ for i in 0 single two three 4; do
181 $ for i in 0 single two three 4; do
180 > echo '[BASE64]a-bit-longer-'$i > base64
182 > echo '[BASE64]a-bit-longer-'$i > base64
181 > hg commit -m base64-$i -A base64
183 > hg commit -m base64-$i -A base64
182 > done
184 > done
183
185
184 $ hg update 2 -q
186 $ hg update 2 -q
185 $ echo '[BASE64]a-bit-longer-branching' > base64
187 $ echo '[BASE64]a-bit-longer-branching' > base64
186 $ hg commit -q -m branching
188 $ hg commit -q -m branching
187
189
188 $ hg bundle --base 1 bundle.hg
190 $ hg bundle --base 1 bundle.hg
189 4 changesets found
191 4 changesets found
190 $ hg --config extensions.strip= strip -r 2 --no-backup --force -q
192 $ hg --config extensions.strip= strip -r 2 --no-backup --force -q
191 $ hg -R bundle.hg log --stat -T '{rev} {desc}\n' base64
193 $ hg -R bundle.hg log --stat -T '{rev} {desc}\n' base64
192 5 branching
194 5 branching
193 base64 | 2 +-
195 base64 | 2 +-
194 1 files changed, 1 insertions(+), 1 deletions(-)
196 1 files changed, 1 insertions(+), 1 deletions(-)
195
197
196 4 base64-4
198 4 base64-4
197 base64 | 2 +-
199 base64 | 2 +-
198 1 files changed, 1 insertions(+), 1 deletions(-)
200 1 files changed, 1 insertions(+), 1 deletions(-)
199
201
200 3 base64-three
202 3 base64-three
201 base64 | 2 +-
203 base64 | 2 +-
202 1 files changed, 1 insertions(+), 1 deletions(-)
204 1 files changed, 1 insertions(+), 1 deletions(-)
203
205
204 2 base64-two
206 2 base64-two
205 base64 | 2 +-
207 base64 | 2 +-
206 1 files changed, 1 insertions(+), 1 deletions(-)
208 1 files changed, 1 insertions(+), 1 deletions(-)
207
209
208 1 base64-single
210 1 base64-single
209 base64 | 2 +-
211 base64 | 2 +-
210 1 files changed, 1 insertions(+), 1 deletions(-)
212 1 files changed, 1 insertions(+), 1 deletions(-)
211
213
212 0 base64-0
214 0 base64-0
213 base64 | 1 +
215 base64 | 1 +
214 1 files changed, 1 insertions(+), 0 deletions(-)
216 1 files changed, 1 insertions(+), 0 deletions(-)
215
217
216
218
217 $ hg bundle -R bundle.hg --base 1 bundle-again.hg -q
219 $ hg bundle -R bundle.hg --base 1 bundle-again.hg -q
218 $ hg -R bundle-again.hg log --stat -T '{rev} {desc}\n' base64
220 $ hg -R bundle-again.hg log --stat -T '{rev} {desc}\n' base64
219 5 branching
221 5 branching
220 base64 | 2 +-
222 base64 | 2 +-
221 1 files changed, 1 insertions(+), 1 deletions(-)
223 1 files changed, 1 insertions(+), 1 deletions(-)
222
224
223 4 base64-4
225 4 base64-4
224 base64 | 2 +-
226 base64 | 2 +-
225 1 files changed, 1 insertions(+), 1 deletions(-)
227 1 files changed, 1 insertions(+), 1 deletions(-)
226
228
227 3 base64-three
229 3 base64-three
228 base64 | 2 +-
230 base64 | 2 +-
229 1 files changed, 1 insertions(+), 1 deletions(-)
231 1 files changed, 1 insertions(+), 1 deletions(-)
230
232
231 2 base64-two
233 2 base64-two
232 base64 | 2 +-
234 base64 | 2 +-
233 1 files changed, 1 insertions(+), 1 deletions(-)
235 1 files changed, 1 insertions(+), 1 deletions(-)
234
236
235 1 base64-single
237 1 base64-single
236 base64 | 2 +-
238 base64 | 2 +-
237 1 files changed, 1 insertions(+), 1 deletions(-)
239 1 files changed, 1 insertions(+), 1 deletions(-)
238
240
239 0 base64-0
241 0 base64-0
240 base64 | 1 +
242 base64 | 1 +
241 1 files changed, 1 insertions(+), 0 deletions(-)
243 1 files changed, 1 insertions(+), 0 deletions(-)
242
244
243 $ rm bundle.hg bundle-again.hg
245 $ rm bundle.hg bundle-again.hg
244
246
245 # TEST: hg status
247 # TEST: hg status
246
248
247 $ hg status
249 $ hg status
248 $ hg diff
250 $ hg diff
General Comments 0
You need to be logged in to leave comments. Login now