-#include "../src/common/include/rmr.h"
-#include "../src/common/include/rmr_agnostic.h"
-#include "../src/common/src/ring_static.c"
-
-
-/*
- Conduct a series of interleaved tests inserting i-factor
- values before beginning to pull values (i-factor must be
- size - 2 smaller than the ring.
- Returns 0 on success, 1 on insert failure and 2 on pull failure.
-*/
-static int ie_test( void* r, int i_factor, long inserts ) {
- int i;
- int* dp;
- int data[29];
-
- for( i = 0; i < inserts; i++ ) {
- data[i%29] = i;
- if( ! uta_ring_insert( r, &data[i%29] ) ) {
- fprintf( stderr, "[FAIL] interleaved insert failed on ifactor=%d i=%d\n", i_factor, i );
- return 1;
- }
- if( i > i_factor-1 ) {
- dp = uta_ring_extract( r );
- if( *dp != data[(i-i_factor)%29] ) {
- fprintf( stderr, "[FAIL] interleaved exctract failed on ifactor=%d i=%d expected=%d got=%d\n", i_factor, i, data[(i-i_factor)%29], *dp );
- return 2;
- }
- }
- }
- //fprintf( stderr, "[OK] interleaved insert/extract test passed for insert factor %d\n", i_factor );
-
- return 0;
-}
-
-int main( void ) {
- void* r;
- int i;
- int j;
- int data[20];
- int* dp;
- int size = 18;
-
- r = uta_mk_ring( 0 ); // should return nil
- if( r != NULL ) {
- fprintf( stderr, "[FAIL] attempt to make a ring with size 0 returned a pointer\n" );
- exit( 1 );
- }
- r = uta_mk_ring( -1 ); // should also return nil
- if( r != NULL ) {
- fprintf( stderr, "[FAIL] attempt to make a ring with size <0 returned a pointer\n" );
- exit( 1 );
- }
-
- r = uta_mk_ring( 18 );
- if( r == NULL ) {
- fprintf( stderr, "[FAIL] unable to make ring with 17 entries\n" );
- exit( 1 );
- }
-
- for( i = 0; i < 20; i++ ) { // test to ensure it reports full when head/tail start at 0
- data[i] = i;
- if( ! uta_ring_insert( r, &data[i] ) ) {
- break;
- }
- }
-
- if( i > size ) {
- fprintf( stderr, "[FAIL] didn not report table full: i=%d\n", i );
- exit( 1 );
- }