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

Function test_feature_trim

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

Source from the content-addressed store, hash-verified

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

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