4 static void test_mem_get();
5 static void test_mem_get_zero();
6 static void test_mem_resize();
7 static void test_mem_resize_zero();
8 static void test_mem_clone();
9 static void test_mem_free();
14 fprintf( stderr, "Running all tests for mem.c\n" );
19 test_mem_resize_zero();
23 fprintf( stderr, "Done\n\n" );
31 fprintf( stderr, " Testing mem_get ... " );
33 size_t len = 1000000000;
34 char *pt = mem_get( len );
36 mem_free( ( void * ) &pt );
38 fprintf( stderr, "OK\n" );
42 void test_mem_get_zero()
44 fprintf( stderr, " Testing mem_get_zero ... " );
48 char *pt1 = mem_get_zero( sizeof( char ) * len );
49 uint *pt2 = mem_get_zero( sizeof( uint ) * len );
51 for ( i = 0; i <= ( sizeof( char ) * len ); i++ ) {
52 assert( pt1[ i ] == '\0' );
55 for ( i = 0; i <= ( sizeof( char ) * len ); i++ ) {
56 assert( pt2[ i ] == '\0' );
59 mem_free( ( void * ) &pt1 );
60 mem_free( ( void * ) &pt2 );
62 fprintf( stderr, "OK\n" );
66 void test_mem_resize()
68 fprintf( stderr, " Testing mem_resize ... " );
73 pt1 = mem_get( 3 + 1 );
75 memcpy( pt1, pt0, 3 );
77 pt1 = mem_resize( pt1, 1 );
79 mem_free( ( void * ) &pt1 );
81 fprintf( stderr, "OK\n" );
85 void test_mem_resize_zero()
87 fprintf( stderr, " Testing mem_resize_zero ... " );
90 size_t size_before = 10;
91 size_t size_after = 100000;
95 pt = mem_get( size_before );
97 memset( pt, '1', size_before );
99 pt = mem_resize_zero( pt, size_before, size_after );
101 assert( strlen( pt ) == size_before );
103 for ( i = size_before; i <= size_after; i++ ) {
104 assert( pt[ i ] == '\0' );
107 mem_free( ( void * ) &pt );
109 fprintf( stderr, "OK\n" );
113 void test_mem_clone()
115 fprintf( stderr, " Testing mem_clone ... " );
119 size_t pt_size = 10000;
122 pt = mem_get( pt_size );
124 memset( pt, 'X', pt_size );
126 pt_clone = mem_clone( pt, pt_size );
128 assert( pt_clone != pt );
129 assert( &pt_clone != &pt );
131 for ( i = 0; i < pt_size; i++ ) {
132 assert( pt[ i ] == pt_clone[ i ] );
135 mem_free( ( void * ) &pt );
136 mem_free( ( void * ) &pt_clone );
138 fprintf( stderr, "OK\n" );
144 fprintf( stderr, " Testing mem_free ... " );
146 uint mem = 500000000;
152 for ( i = 0; i < mem; i++ )
157 assert( pt != NULL );
161 assert( pt == NULL );
163 fprintf( stderr, "OK\n" );