##// END OF EJS Templates
test: explicitly use zlib compression in tests/test-repo-compengines.t...
marmoute -
r47607:19747c07 default
parent child Browse files
Show More
@@ -1,243 +1,250 b''
1 A new repository uses zlib storage, which doesn't need a requirement
1 A new repository uses zlib storage, which doesn't need a requirement
2
2
3 $ cat << EOF >> $HGRCPATH
4 > [format]
5 > # stabilize test accross variant
6 > revlog-compression=zlib
7 > EOF
8
9
3 $ hg init default
10 $ hg init default
4 $ cd default
11 $ cd default
5 $ cat .hg/requires
12 $ cat .hg/requires
6 dotencode
13 dotencode
7 fncache
14 fncache
8 generaldelta
15 generaldelta
9 revlogv1
16 revlogv1
10 sparserevlog
17 sparserevlog
11 store
18 store
12 testonly-simplestore (reposimplestore !)
19 testonly-simplestore (reposimplestore !)
13
20
14 $ touch foo
21 $ touch foo
15 $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text to trigger compression'
22 $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text to trigger compression'
16 $ hg debugrevlog -c | grep 0x78
23 $ hg debugrevlog -c | grep 0x78
17 0x78 (x) : 1 (100.00%)
24 0x78 (x) : 1 (100.00%)
18 0x78 (x) : 110 (100.00%)
25 0x78 (x) : 110 (100.00%)
19
26
20 $ cd ..
27 $ cd ..
21
28
22 Unknown compression engine to format.compression aborts
29 Unknown compression engine to format.compression aborts
23
30
24 $ hg --config format.revlog-compression=unknown init unknown
31 $ hg --config format.revlog-compression=unknown init unknown
25 abort: compression engines "unknown" defined by format.revlog-compression not available
32 abort: compression engines "unknown" defined by format.revlog-compression not available
26 (run "hg debuginstall" to list available compression engines)
33 (run "hg debuginstall" to list available compression engines)
27 [255]
34 [255]
28
35
29 unknown compression engine in a list with known one works fine
36 unknown compression engine in a list with known one works fine
30
37
31 $ hg --config format.revlog-compression=zlib,unknown init zlib-before-unknow
38 $ hg --config format.revlog-compression=zlib,unknown init zlib-before-unknow
32 $ hg --config format.revlog-compression=unknown,zlib init unknown-before-zlib
39 $ hg --config format.revlog-compression=unknown,zlib init unknown-before-zlib
33
40
34 A requirement specifying an unknown compression engine results in bail
41 A requirement specifying an unknown compression engine results in bail
35
42
36 $ hg init unknownrequirement
43 $ hg init unknownrequirement
37 $ cd unknownrequirement
44 $ cd unknownrequirement
38 $ echo exp-compression-unknown >> .hg/requires
45 $ echo exp-compression-unknown >> .hg/requires
39 $ hg log
46 $ hg log
40 abort: repository requires features unknown to this Mercurial: exp-compression-unknown
47 abort: repository requires features unknown to this Mercurial: exp-compression-unknown
41 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
48 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
42 [255]
49 [255]
43
50
44 $ cd ..
51 $ cd ..
45
52
46 Specifying a new format.compression on an existing repo won't introduce data
53 Specifying a new format.compression on an existing repo won't introduce data
47 with that engine or a requirement
54 with that engine or a requirement
48
55
49 $ cd default
56 $ cd default
50 $ touch bar
57 $ touch bar
51 $ hg --config format.revlog-compression=none -q commit -A -m 'add bar with a lot of repeated repeated repeated text'
58 $ hg --config format.revlog-compression=none -q commit -A -m 'add bar with a lot of repeated repeated repeated text'
52
59
53 $ cat .hg/requires
60 $ cat .hg/requires
54 dotencode
61 dotencode
55 fncache
62 fncache
56 generaldelta
63 generaldelta
57 revlogv1
64 revlogv1
58 sparserevlog
65 sparserevlog
59 store
66 store
60 testonly-simplestore (reposimplestore !)
67 testonly-simplestore (reposimplestore !)
61
68
62 $ hg debugrevlog -c | grep 0x78
69 $ hg debugrevlog -c | grep 0x78
63 0x78 (x) : 2 (100.00%)
70 0x78 (x) : 2 (100.00%)
64 0x78 (x) : 199 (100.00%)
71 0x78 (x) : 199 (100.00%)
65 $ cd ..
72 $ cd ..
66
73
67 #if zstd
74 #if zstd
68
75
69 $ hg --config format.revlog-compression=zstd init zstd
76 $ hg --config format.revlog-compression=zstd init zstd
70 $ cd zstd
77 $ cd zstd
71 $ cat .hg/requires
78 $ cat .hg/requires
72 dotencode
79 dotencode
73 fncache
80 fncache
74 generaldelta
81 generaldelta
75 revlog-compression-zstd
82 revlog-compression-zstd
76 revlogv1
83 revlogv1
77 sparserevlog
84 sparserevlog
78 store
85 store
79 testonly-simplestore (reposimplestore !)
86 testonly-simplestore (reposimplestore !)
80
87
81 $ touch foo
88 $ touch foo
82 $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text'
89 $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text'
83
90
84 $ hg debugrevlog -c | grep 0x28
91 $ hg debugrevlog -c | grep 0x28
85 0x28 : 1 (100.00%)
92 0x28 : 1 (100.00%)
86 0x28 : 98 (100.00%)
93 0x28 : 98 (100.00%)
87
94
88 $ cd ..
95 $ cd ..
89
96
90
97
91 #endif
98 #endif
92
99
93 checking zlib options
100 checking zlib options
94 =====================
101 =====================
95
102
96 $ hg init zlib-level-default
103 $ hg init zlib-level-default
97 $ hg init zlib-level-1
104 $ hg init zlib-level-1
98 $ cat << EOF >> zlib-level-1/.hg/hgrc
105 $ cat << EOF >> zlib-level-1/.hg/hgrc
99 > [storage]
106 > [storage]
100 > revlog.zlib.level=1
107 > revlog.zlib.level=1
101 > EOF
108 > EOF
102 $ hg init zlib-level-9
109 $ hg init zlib-level-9
103 $ cat << EOF >> zlib-level-9/.hg/hgrc
110 $ cat << EOF >> zlib-level-9/.hg/hgrc
104 > [storage]
111 > [storage]
105 > revlog.zlib.level=9
112 > revlog.zlib.level=9
106 > EOF
113 > EOF
107
114
108
115
109 $ commitone() {
116 $ commitone() {
110 > repo=$1
117 > repo=$1
111 > cp $RUNTESTDIR/bundles/issue4438-r1.hg $repo/a
118 > cp $RUNTESTDIR/bundles/issue4438-r1.hg $repo/a
112 > hg -R $repo add $repo/a
119 > hg -R $repo add $repo/a
113 > hg -R $repo commit -m some-commit
120 > hg -R $repo commit -m some-commit
114 > }
121 > }
115
122
116 $ for repo in zlib-level-default zlib-level-1 zlib-level-9; do
123 $ for repo in zlib-level-default zlib-level-1 zlib-level-9; do
117 > commitone $repo
124 > commitone $repo
118 > done
125 > done
119
126
120 $ $RUNTESTDIR/f -s */.hg/store/data/*
127 $ $RUNTESTDIR/f -s */.hg/store/data/*
121 default/.hg/store/data/bar.i: size=64
128 default/.hg/store/data/bar.i: size=64
122 default/.hg/store/data/foo.i: size=64
129 default/.hg/store/data/foo.i: size=64
123 zlib-level-1/.hg/store/data/a.i: size=4146
130 zlib-level-1/.hg/store/data/a.i: size=4146
124 zlib-level-9/.hg/store/data/a.i: size=4138
131 zlib-level-9/.hg/store/data/a.i: size=4138
125 zlib-level-default/.hg/store/data/a.i: size=4138
132 zlib-level-default/.hg/store/data/a.i: size=4138
126 zstd/.hg/store/data/foo.i: size=64 (zstd !)
133 zstd/.hg/store/data/foo.i: size=64 (zstd !)
127
134
128 Test error cases
135 Test error cases
129
136
130 $ hg init zlib-level-invalid
137 $ hg init zlib-level-invalid
131 $ cat << EOF >> zlib-level-invalid/.hg/hgrc
138 $ cat << EOF >> zlib-level-invalid/.hg/hgrc
132 > [storage]
139 > [storage]
133 > revlog.zlib.level=foobar
140 > revlog.zlib.level=foobar
134 > EOF
141 > EOF
135 $ commitone zlib-level-invalid
142 $ commitone zlib-level-invalid
136 config error: storage.revlog.zlib.level is not a valid integer ('foobar')
143 config error: storage.revlog.zlib.level is not a valid integer ('foobar')
137 config error: storage.revlog.zlib.level is not a valid integer ('foobar')
144 config error: storage.revlog.zlib.level is not a valid integer ('foobar')
138 [30]
145 [30]
139
146
140 $ hg init zlib-level-out-of-range
147 $ hg init zlib-level-out-of-range
141 $ cat << EOF >> zlib-level-out-of-range/.hg/hgrc
148 $ cat << EOF >> zlib-level-out-of-range/.hg/hgrc
142 > [storage]
149 > [storage]
143 > revlog.zlib.level=42
150 > revlog.zlib.level=42
144 > EOF
151 > EOF
145
152
146 $ commitone zlib-level-out-of-range
153 $ commitone zlib-level-out-of-range
147 abort: invalid value for `storage.revlog.zlib.level` config: 42
154 abort: invalid value for `storage.revlog.zlib.level` config: 42
148 abort: invalid value for `storage.revlog.zlib.level` config: 42
155 abort: invalid value for `storage.revlog.zlib.level` config: 42
149 [255]
156 [255]
150
157
151 checking details of none compression
158 checking details of none compression
152 ====================================
159 ====================================
153
160
154 $ hg init none-compression --config format.revlog-compression=none
161 $ hg init none-compression --config format.revlog-compression=none
155
162
156 $ commitone() {
163 $ commitone() {
157 > repo=$1
164 > repo=$1
158 > cp $RUNTESTDIR/bundles/issue4438-r1.hg $repo/a
165 > cp $RUNTESTDIR/bundles/issue4438-r1.hg $repo/a
159 > hg -R $repo add $repo/a
166 > hg -R $repo add $repo/a
160 > hg -R $repo commit -m some-commit
167 > hg -R $repo commit -m some-commit
161 > }
168 > }
162
169
163 $ commitone none-compression
170 $ commitone none-compression
164
171
165 $ hg log -R none-compression
172 $ hg log -R none-compression
166 changeset: 0:68b53da39cd8
173 changeset: 0:68b53da39cd8
167 tag: tip
174 tag: tip
168 user: test
175 user: test
169 date: Thu Jan 01 00:00:00 1970 +0000
176 date: Thu Jan 01 00:00:00 1970 +0000
170 summary: some-commit
177 summary: some-commit
171
178
172
179
173 $ cat none-compression/.hg/requires
180 $ cat none-compression/.hg/requires
174 dotencode
181 dotencode
175 exp-compression-none
182 exp-compression-none
176 fncache
183 fncache
177 generaldelta
184 generaldelta
178 revlogv1
185 revlogv1
179 sparserevlog
186 sparserevlog
180 store
187 store
181 testonly-simplestore (reposimplestore !)
188 testonly-simplestore (reposimplestore !)
182
189
183 $ $RUNTESTDIR/f -s none-compression/.hg/store/data/*
190 $ $RUNTESTDIR/f -s none-compression/.hg/store/data/*
184 none-compression/.hg/store/data/a.i: size=4216
191 none-compression/.hg/store/data/a.i: size=4216
185
192
186 #if zstd
193 #if zstd
187
194
188 checking zstd options
195 checking zstd options
189 =====================
196 =====================
190
197
191 $ hg init zstd-level-default --config format.revlog-compression=zstd
198 $ hg init zstd-level-default --config format.revlog-compression=zstd
192 $ hg init zstd-level-1 --config format.revlog-compression=zstd
199 $ hg init zstd-level-1 --config format.revlog-compression=zstd
193 $ cat << EOF >> zstd-level-1/.hg/hgrc
200 $ cat << EOF >> zstd-level-1/.hg/hgrc
194 > [storage]
201 > [storage]
195 > revlog.zstd.level=1
202 > revlog.zstd.level=1
196 > EOF
203 > EOF
197 $ hg init zstd-level-22 --config format.revlog-compression=zstd
204 $ hg init zstd-level-22 --config format.revlog-compression=zstd
198 $ cat << EOF >> zstd-level-22/.hg/hgrc
205 $ cat << EOF >> zstd-level-22/.hg/hgrc
199 > [storage]
206 > [storage]
200 > revlog.zstd.level=22
207 > revlog.zstd.level=22
201 > EOF
208 > EOF
202
209
203
210
204 $ commitone() {
211 $ commitone() {
205 > repo=$1
212 > repo=$1
206 > cp $RUNTESTDIR/bundles/issue4438-r1.hg $repo/a
213 > cp $RUNTESTDIR/bundles/issue4438-r1.hg $repo/a
207 > hg -R $repo add $repo/a
214 > hg -R $repo add $repo/a
208 > hg -R $repo commit -m some-commit
215 > hg -R $repo commit -m some-commit
209 > }
216 > }
210
217
211 $ for repo in zstd-level-default zstd-level-1 zstd-level-22; do
218 $ for repo in zstd-level-default zstd-level-1 zstd-level-22; do
212 > commitone $repo
219 > commitone $repo
213 > done
220 > done
214
221
215 $ $RUNTESTDIR/f -s zstd-*/.hg/store/data/*
222 $ $RUNTESTDIR/f -s zstd-*/.hg/store/data/*
216 zstd-level-1/.hg/store/data/a.i: size=4114
223 zstd-level-1/.hg/store/data/a.i: size=4114
217 zstd-level-22/.hg/store/data/a.i: size=4091
224 zstd-level-22/.hg/store/data/a.i: size=4091
218 zstd-level-default/\.hg/store/data/a\.i: size=(4094|4102) (re)
225 zstd-level-default/\.hg/store/data/a\.i: size=(4094|4102) (re)
219
226
220 Test error cases
227 Test error cases
221
228
222 $ hg init zstd-level-invalid --config format.revlog-compression=zstd
229 $ hg init zstd-level-invalid --config format.revlog-compression=zstd
223 $ cat << EOF >> zstd-level-invalid/.hg/hgrc
230 $ cat << EOF >> zstd-level-invalid/.hg/hgrc
224 > [storage]
231 > [storage]
225 > revlog.zstd.level=foobar
232 > revlog.zstd.level=foobar
226 > EOF
233 > EOF
227 $ commitone zstd-level-invalid
234 $ commitone zstd-level-invalid
228 config error: storage.revlog.zstd.level is not a valid integer ('foobar')
235 config error: storage.revlog.zstd.level is not a valid integer ('foobar')
229 config error: storage.revlog.zstd.level is not a valid integer ('foobar')
236 config error: storage.revlog.zstd.level is not a valid integer ('foobar')
230 [30]
237 [30]
231
238
232 $ hg init zstd-level-out-of-range --config format.revlog-compression=zstd
239 $ hg init zstd-level-out-of-range --config format.revlog-compression=zstd
233 $ cat << EOF >> zstd-level-out-of-range/.hg/hgrc
240 $ cat << EOF >> zstd-level-out-of-range/.hg/hgrc
234 > [storage]
241 > [storage]
235 > revlog.zstd.level=42
242 > revlog.zstd.level=42
236 > EOF
243 > EOF
237
244
238 $ commitone zstd-level-out-of-range
245 $ commitone zstd-level-out-of-range
239 abort: invalid value for `storage.revlog.zstd.level` config: 42
246 abort: invalid value for `storage.revlog.zstd.level` config: 42
240 abort: invalid value for `storage.revlog.zstd.level` config: 42
247 abort: invalid value for `storage.revlog.zstd.level` config: 42
241 [255]
248 [255]
242
249
243 #endif
250 #endif
General Comments 0
You need to be logged in to leave comments. Login now