MCPcopy Create free account
hub / github.com/acl-dev/acl / test_ring

Function test_ring

unit_test/stdlib/test_ring.c:39–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

37}
38
39int test_ring(AUT_LINE *test_line acl_unused, void *arg acl_unused)
40{
41 ACL_RING_ITER ring_iter;
42 MY_TYPE *my_type;
43
44 acl_ring_init(&__ring_header);
45
46 __create_ring(0, 10);
47
48 printf("\nring loop printf:> len=%d\n", acl_ring_size(&__ring_header));
49
50 acl_ring_foreach(ring_iter, &__ring_header) {
51 my_type = ACL_RING_TO_APPL(ring_iter.ptr, MY_TYPE, ring_entry);
52 printf("name=%s, value=%s\n", my_type->name, my_type->value);
53 }
54
55 printf("\nring pop head loop printf:> len=%d\n", acl_ring_size(&__ring_header));
56
57 while (1) {
58 ring_iter.ptr = acl_ring_pop_head(&__ring_header);
59 if (ring_iter.ptr == NULL)
60 break;
61
62 my_type = ACL_RING_TO_APPL(ring_iter.ptr, MY_TYPE, ring_entry);
63 printf("name=%s, value=%s\n", my_type->name, my_type->value);
64 acl_myfree(my_type);
65 }
66
67 printf("first end, len=%d\n", acl_ring_size(&__ring_header));
68
69 __create_ring(1, 20);
70
71 printf("\nring loop printf:> len=%d\n", acl_ring_size(&__ring_header));
72
73 acl_ring_foreach_reverse(ring_iter, &__ring_header) {
74 my_type = ACL_RING_TO_APPL(ring_iter.ptr, MY_TYPE, ring_entry);
75 printf("name=%s, value=%s\n", my_type->name, my_type->value);
76 }
77
78 printf("\nring pop tail loop printf:> len=%d\n", acl_ring_size(&__ring_header));
79
80 while (1) {
81 ring_iter.ptr = acl_ring_pop_tail(&__ring_header);
82 if (ring_iter.ptr == NULL)
83 break;
84
85 my_type = ACL_RING_TO_APPL(ring_iter.ptr, MY_TYPE, ring_entry);
86 printf("name=%s, value=%s\n", my_type->name, my_type->value);
87 acl_myfree(my_type);
88 }
89
90 return (0);
91}
92

Callers

nothing calls this directly

Calls 5

acl_ring_initFunction · 0.85
__create_ringFunction · 0.85
acl_ring_sizeFunction · 0.85
acl_ring_pop_headFunction · 0.85
acl_ring_pop_tailFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…