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 *pt = mem_get_zero( len );
50 for ( i = 0; i <= len; i++ ) {
51 assert( pt[ i ] == '\0' );
54 mem_free( ( void * ) &pt );
56 fprintf( stderr, "OK\n" );
60 void test_mem_resize()
62 fprintf( stderr, " Testing mem_resize ... " );
67 pt1 = mem_get( 3 + 1 );
69 memcpy( pt1, pt0, 3 );
71 pt1 = mem_resize( pt1, 1 );
73 mem_free( ( void * ) &pt1 );
75 fprintf( stderr, "OK\n" );
79 void test_mem_resize_zero()
81 fprintf( stderr, " Testing mem_resize_zero ... " );
84 size_t size_before = 10;
85 size_t size_after = 100000;
89 pt = mem_get( size_before );
91 memset( pt, '1', size_before );
93 assert( strlen( pt ) == size_before );
95 pt = mem_resize_zero( pt, size_before, size_after );
97 assert( strlen( pt ) == size_before );
99 for ( i = size_before; i <= size_after; i++ ) {
100 assert( pt[ i ] == '\0' );
103 mem_free( ( void * ) &pt );
105 fprintf( stderr, "OK\n" );
109 void test_mem_clone()
111 fprintf( stderr, " Testing mem_clone ... " );
115 size_t pt_size = 10000;
118 pt = mem_get( pt_size );
120 memset( pt, 'X', pt_size );
122 pt_clone = mem_clone( pt, pt_size );
124 assert( pt_clone != pt );
125 assert( &pt_clone != &pt );
127 for ( i = 0; i < pt_size; i++ ) {
128 assert( pt[ i ] == pt_clone[ i ] );
131 mem_free( ( void * ) &pt );
132 mem_free( ( void * ) &pt_clone );
134 fprintf( stderr, "OK\n" );
140 fprintf( stderr, " Testing mem_free ... " );
146 assert( pt0 != NULL );
147 assert( pt1 == NULL );
148 assert( pt2 == NULL );
150 pt1 = mem_get( 100 );
151 pt2 = mem_get( 100 );
153 assert( pt1 != NULL );
154 assert( pt2 != NULL );
156 memcpy( pt2, pt0, 3 );
160 mem_free( ( void * ) &pt1 );
161 mem_free( ( void * ) &pt2 );
163 assert( pt1 == NULL );
164 assert( pt2 == NULL );
166 fprintf( stderr, "OK\n" );