Beispiel #1
0
void Queue_free(Queue** queue)
{
	Queue_clear(*queue);

	pthread_mutex_destroy(&((*queue)->mutex));

	safe_free((void**)queue);

	log_debug(log_cat, "queue free success");
}
void Queue_test()
{
	queue_t testQueue;
	Queue_init(&testQueue, 5, sizeof(int));

	assert( Queue_isEmpty(&testQueue) == true );
	assert( Queue_isFull(&testQueue) == false );

	int a = 34;
	int b = 35;
	int c = 36;
	int d = 37;
	int e = 38;

	assert( Queue_push( &testQueue, (uint8_t*)&a ) == true);
	assert( Queue_push( &testQueue, (uint8_t*)&b ) == true);
	assert( Queue_push( &testQueue, (uint8_t*)&c ) == true);

	assert( Queue_isEmpty(&testQueue) == false );
	assert( Queue_isFull(&testQueue) == false );

	assert( Queue_push( &testQueue, (uint8_t*)&d ) == true);
	assert( Queue_push( &testQueue, (uint8_t*)&e ) == true);
	assert( Queue_push( &testQueue, (uint8_t*)&e ) == false);

	assert( Queue_isEmpty(&testQueue) == false );
	assert( Queue_isFull(&testQueue) == true );

	int read;

	assert( Queue_pop( &testQueue, (uint8_t*)&read ) == true);
	assert(read == 34);

	assert( Queue_pop( &testQueue, (uint8_t*)&read ) == true);
	assert(read == 35);

	assert( Queue_pop( &testQueue, (uint8_t*)&read ) == true);
	assert(read == 36);

	assert( Queue_pop( &testQueue, (uint8_t*)&read ) == true);
	assert(read == 37);

	assert( Queue_pop( &testQueue, (uint8_t*)&read ) == true);
	assert(read == 38);

	assert( Queue_pop( &testQueue, (uint8_t*)&read ) == false);
	assert(read == 38);

	assert( Queue_isEmpty(&testQueue) == true );
	assert( Queue_isFull(&testQueue) == false );


	assert( Queue_push( &testQueue, (uint8_t*)&a ) == true);
	assert( Queue_push( &testQueue, (uint8_t*)&b ) == true);
	assert( Queue_push( &testQueue, (uint8_t*)&c ) == true);

	Queue_clear(&testQueue);

	assert( Queue_isEmpty(&testQueue) == true );
	assert( Queue_isFull(&testQueue) == false );
}