Changeset 19135af
- Timestamp:
- 04/10/14 12:42:28 (8 years ago)
- Branches:
- 4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
- Children:
- 60e8e86
- Parents:
- abda273
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
test/test-datastruct-ringbuffer.c
rdf668eb r19135af 3 3 #include <assert.h> 4 4 5 #define TEST_SIZE 10000006 #define RINGBUFFER_SIZE 100005 #define TEST_SIZE ((char *) 1000000) 6 #define RINGBUFFER_SIZE ((char *) 10000) 7 7 8 8 static void * producer(void * a) { 9 9 libtrace_ringbuffer_t * rb = (libtrace_ringbuffer_t *) a; 10 int i; 11 void * value; 12 for (i = 0; i < TEST_SIZE; i++) { 13 value = (void *) i; 14 libtrace_ringbuffer_write(rb, value); 10 char * i; 11 for (i = NULL; i < TEST_SIZE; i++) { 12 libtrace_ringbuffer_write(rb, i); 15 13 } 16 14 return 0; … … 19 17 static void * consumer(void * a) { 20 18 libtrace_ringbuffer_t * rb = (libtrace_ringbuffer_t *) a; 21 inti;22 void * 23 for (i = 0; i < TEST_SIZE; i++) {19 char *i; 20 void *value; 21 for (i = NULL; i < TEST_SIZE; i++) { 24 22 value = libtrace_ringbuffer_read(rb); 25 assert(value == (void *)i);23 assert(value == i); 26 24 } 27 25 return 0; … … 34 32 */ 35 33 int main() { 36 inti;34 char *i; 37 35 void *value; 38 36 pthread_t t[4]; … … 40 38 libtrace_ringbuffer_t rb_polling; 41 39 42 libtrace_ringbuffer_init(&rb_block, RINGBUFFER_SIZE, LIBTRACE_RINGBUFFER_BLOCKING);43 libtrace_ringbuffer_init(&rb_polling, RINGBUFFER_SIZE, LIBTRACE_RINGBUFFER_BLOCKING);40 libtrace_ringbuffer_init(&rb_block, (size_t) RINGBUFFER_SIZE, LIBTRACE_RINGBUFFER_BLOCKING); 41 libtrace_ringbuffer_init(&rb_polling, (size_t) RINGBUFFER_SIZE, LIBTRACE_RINGBUFFER_BLOCKING); 44 42 assert(libtrace_ringbuffer_is_empty(&rb_block)); 45 43 assert(libtrace_ringbuffer_is_empty(&rb_polling)); 46 44 47 for (i = 0; i < RINGBUFFER_SIZE; i++) {45 for (i = NULL; i < RINGBUFFER_SIZE; i++) { 48 46 value = (void *) i; 49 47 libtrace_ringbuffer_write(&rb_block, value); … … 63 61 64 62 // Cycle the buffer a few times 65 for (i = 0; i < TEST_SIZE; i++) {63 for (i = NULL; i < TEST_SIZE; i++) { 66 64 value = (void *) -1; 67 65 value = libtrace_ringbuffer_read(&rb_block); … … 70 68 value = libtrace_ringbuffer_read(&rb_polling); 71 69 assert(value == (void *) i); 72 value = (void *) (i + RINGBUFFER_SIZE);70 value = (void *) (i + (size_t) RINGBUFFER_SIZE); 73 71 libtrace_ringbuffer_write(&rb_block, value); 74 72 libtrace_ringbuffer_write(&rb_polling, value); … … 76 74 77 75 // Empty it completely 78 for (i = TEST_SIZE; i < TEST_SIZE + RINGBUFFER_SIZE; i++) {76 for (i = TEST_SIZE; i < TEST_SIZE + (size_t) RINGBUFFER_SIZE; i++) { 79 77 value = libtrace_ringbuffer_read(&rb_block); 80 78 assert(value == (void *) i);
Note: See TracChangeset
for help on using the changeset viewer.