void circular_buffer_enqueue_test()
{
	CircularBuffer *buffer = circular_buffer_create(12);

	circular_buffer_enqueue(buffer, 1);
	test_int(circular_buffer_dequeue(buffer), 1, "Enqueue and dequeue value");

	circular_buffer_destroy(buffer);
}
Exemple #2
0
void mesg_queue_create(mesg_queue **q) {
	mesg_queue * retval = malloc(sizeof(mesg_queue));
	memset(retval, 0, sizeof(mesg_queue));
	smc_init_magic(mesg_queue, retval);
	retval->poisoned = 0;
	pthread_mutex_init(&retval->lock, NULL);

  circular_buffer_create(&retval->buffer, 10);
	*q = retval;
};
Exemple #3
0
int 
main(int argc, char* argv[])
{
  circular_buffer_t cb = circular_buffer_create(0);

  circular_buffer_test(cb);

  circular_buffer_delete(&cb);
  return 0;
}
void circular_buffer_wrap_around_test()
{
	int ii;
	CircularBuffer *buffer = circular_buffer_create(12);

	for (ii = 1; ii <= 13; ii++) circular_buffer_enqueue(buffer, ii);

	test_int(circular_buffer_dequeue(buffer), 13, "Enqueue wraps around");
	for (ii = 2; ii <= 12; ii++) {
		test_int(circular_buffer_dequeue(buffer), ii, "Dequeue continues after wrap-around");
	}

	circular_buffer_destroy(buffer);
}