MCPcopy Create free account
hub / github.com/ElementsProject/lightning / test_feature_trim

Function test_feature_trim

common/test/run-features.c:210–243  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

208}
209
210static void test_feature_trim(void)
211{
212 struct feature_set *f;
213
214 /* cppcheck-suppress uninitvar - false positive on f->bits */
215 for (size_t i = 0; i < ARRAY_SIZE(f->bits); i++) {
216 f = talz(tmpctx, struct feature_set);
217
218 f->bits[i] = tal_arr(f, u8, 0);
219 set_feature_bit(&f->bits[i], 255);
220 assert(tal_bytelen(f->bits[i]) == 32);
221 clear_feature_bit(f->bits[i], 255);
222 trim_features(&f->bits[i]);
223 assert(tal_bytelen(f->bits[i]) == 0);
224
225 set_feature_bit(&f->bits[i], 7);
226 assert(tal_bytelen(f->bits[i]) == 1);
227 set_feature_bit(&f->bits[i], 255);
228 assert(tal_bytelen(f->bits[i]) == 32);
229 clear_feature_bit(f->bits[i], 255);
230 trim_features(&f->bits[i]);
231 assert(tal_bytelen(f->bits[i]) == 1);
232 clear_feature_bit(f->bits[i], 7);
233 trim_features(&f->bits[i]);
234 assert(tal_bytelen(f->bits[i]) == 0);
235
236 set_feature_bit(&f->bits[i], 8);
237 set_feature_bit(&f->bits[i], 10);
238 assert(tal_bytelen(f->bits[i]) == 2);
239 clear_feature_bit(f->bits[i], 10);
240 trim_features(&f->bits[i]);
241 assert(tal_bytelen(f->bits[i]) == 2);
242 }
243}
244
245int main(int argc, char *argv[])
246{

Callers 1

mainFunction · 0.85

Calls 4

set_feature_bitFunction · 0.85
tal_bytelenFunction · 0.85
clear_feature_bitFunction · 0.85
trim_featuresFunction · 0.85

Tested by

no test coverage detected