Rev 3912 | Rev 4332 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3912 | Rev 4075 | ||
|---|---|---|---|
| Line 39... | Line 39... | ||
| 39 | 39 | ||
| 40 | #include <errno.h> |
40 | #include <errno.h> |
| 41 | #include <malloc.h> |
41 | #include <malloc.h> |
| 42 | #include <stdio.h> |
42 | #include <stdio.h> |
| 43 | 43 | ||
| 44 | #include "int_map.h" |
44 | #include "include/crc.h" |
| - | 45 | #include "structures/int_map.h" |
|
| 45 | #include "char_map.h" |
46 | #include "structures/char_map.h" |
| 46 | #include "generic_char_map.h" |
47 | #include "structures/generic_char_map.h" |
| 47 | #include "measured_strings.h" |
48 | #include "structures/measured_strings.h" |
| 48 | 49 | ||
| 49 | #include "self_test.h" |
50 | #include "self_test.h" |
| 50 | 51 | ||
| 51 | #define TEST( name, function_call, result ); { \ |
52 | #define TEST( name, function_call, result ); { \ |
| 52 | printf( "\n\t%s", ( name )); \ |
53 | printf( "\n\t%s", ( name )); \ |
| 53 | if(( function_call ) != ( result )){ \ |
54 | if(( function_call ) != ( result )){ \ |
| 54 | printf( "\tERROR" ); \ |
55 | printf( "\tERROR" ); \ |
| - | 56 | error = 1; \ |
|
| 55 | }else{ \ |
57 | }else{ \ |
| 56 | printf( "\tOK" ); \ |
58 | printf( "\tOK" ); \ |
| 57 | } \ |
59 | } \ |
| 58 | } |
60 | } |
| 59 | 61 | ||
| Line 80... | Line 82... | ||
| 80 | GENERIC_CHAR_MAP_IMPLEMENT( int_char_map, int ) |
82 | GENERIC_CHAR_MAP_IMPLEMENT( int_char_map, int ) |
| 81 | 83 | ||
| 82 | #endif |
84 | #endif |
| 83 | 85 | ||
| 84 | int self_test( void ){ |
86 | int self_test( void ){ |
| - | 87 | int error = 0; |
|
| 85 | int * x, * y, * z, * u, * v, * w; |
88 | int * x, * y, * z, * u, * v, * w; |
| 86 | 89 | ||
| 87 | #if NET_SELF_TEST_MEASURED_STRINGS |
90 | #if NET_SELF_TEST_MEASURED_STRINGS |
| 88 | measured_string_ref string; |
91 | measured_string_ref string; |
| 89 | 92 | ||
| 90 | printf( "\nMeasured strings test" ); |
93 | printf( "\nMeasured strings test" ); |
| 91 | string = measured_string_create_bulk( "I am a measured string!", -1 ); |
94 | string = measured_string_create_bulk( "I am a measured string!", 0 ); |
| 92 | printf( "\n%x, %s at %x of %d", string, string->value, string->value, string->length ); |
95 | printf( "\n%x, %s at %x of %d", string, string->value, string->value, string->length ); |
| 93 | printf( "\nOK" ); |
96 | printf( "\nOK" ); |
| 94 | #endif |
97 | #endif |
| 95 | 98 | ||
| 96 | #if NET_SELF_TEST_CHAR_MAP |
99 | #if NET_SELF_TEST_CHAR_MAP |
| Line 130... | Line 133... | ||
| 130 | printf( "\n\tdestroy" ); |
133 | printf( "\n\tdestroy" ); |
| 131 | char_map_destroy( & cm ); |
134 | char_map_destroy( & cm ); |
| 132 | TEST( "update ucho 3 einval", char_map_update( & cm, "ucho", 0, 3 ), EINVAL ); |
135 | TEST( "update ucho 3 einval", char_map_update( & cm, "ucho", 0, 3 ), EINVAL ); |
| 133 | printf( "\nOK" ); |
136 | printf( "\nOK" ); |
| 134 | 137 | ||
| - | 138 | if( error ) return EINVAL; |
|
| - | 139 | ||
| 135 | #endif |
140 | #endif |
| 136 | 141 | ||
| 137 | #if NET_SELF_TEST_INT_MAP |
142 | #if NET_SELF_TEST_INT_MAP |
| 138 | - | ||
| 139 | int_map_t im; |
143 | int_map_t im; |
| 140 | 144 | ||
| 141 | x = ( int * ) malloc( sizeof( int )); |
145 | x = ( int * ) malloc( sizeof( int )); |
| 142 | y = ( int * ) malloc( sizeof( int )); |
146 | y = ( int * ) malloc( sizeof( int )); |
| 143 | z = ( int * ) malloc( sizeof( int )); |
147 | z = ( int * ) malloc( sizeof( int )); |
| Line 183... | Line 187... | ||
| 183 | printf( "\n\tdestroy" ); |
187 | printf( "\n\tdestroy" ); |
| 184 | int_map_destroy( & im ); |
188 | int_map_destroy( & im ); |
| 185 | TEST( "count -1", int_map_count( & im ), -1 ); |
189 | TEST( "count -1", int_map_count( & im ), -1 ); |
| 186 | printf( "\nOK" ); |
190 | printf( "\nOK" ); |
| 187 | 191 | ||
| - | 192 | if( error ) return EINVAL; |
|
| - | 193 | ||
| 188 | #endif |
194 | #endif |
| 189 | 195 | ||
| 190 | #if NET_SELF_TEST_GENERIC_FIELD |
196 | #if NET_SELF_TEST_GENERIC_FIELD |
| 191 | - | ||
| 192 | int_field_t gf; |
197 | int_field_t gf; |
| 193 | 198 | ||
| 194 | x = ( int * ) malloc( sizeof( int )); |
199 | x = ( int * ) malloc( sizeof( int )); |
| 195 | y = ( int * ) malloc( sizeof( int )); |
200 | y = ( int * ) malloc( sizeof( int )); |
| 196 | z = ( int * ) malloc( sizeof( int )); |
201 | z = ( int * ) malloc( sizeof( int )); |
| Line 233... | Line 238... | ||
| 233 | printf( "\n\tdestroy" ); |
238 | printf( "\n\tdestroy" ); |
| 234 | int_field_destroy( & gf ); |
239 | int_field_destroy( & gf ); |
| 235 | TEST( "count -1", int_field_count( & gf ), -1 ); |
240 | TEST( "count -1", int_field_count( & gf ), -1 ); |
| 236 | printf( "\nOK" ); |
241 | printf( "\nOK" ); |
| 237 | 242 | ||
| - | 243 | if( error ) return EINVAL; |
|
| - | 244 | ||
| 238 | #endif |
245 | #endif |
| 239 | 246 | ||
| 240 | #if NET_SELF_TEST_GENERIC_CHAR_MAP |
247 | #if NET_SELF_TEST_GENERIC_CHAR_MAP |
| 241 | - | ||
| 242 | int_char_map_t icm; |
248 | int_char_map_t icm; |
| 243 | 249 | ||
| 244 | x = ( int * ) malloc( sizeof( int )); |
250 | x = ( int * ) malloc( sizeof( int )); |
| 245 | y = ( int * ) malloc( sizeof( int )); |
251 | y = ( int * ) malloc( sizeof( int )); |
| 246 | z = ( int * ) malloc( sizeof( int )); |
252 | z = ( int * ) malloc( sizeof( int )); |
| Line 275... | Line 281... | ||
| 275 | printf( "\n\tdestroy" ); |
281 | printf( "\n\tdestroy" ); |
| 276 | int_char_map_destroy( & icm ); |
282 | int_char_map_destroy( & icm ); |
| 277 | TEST( "add ucho z einval", int_char_map_add( & icm, "ucho", 0, z ), EINVAL ); |
283 | TEST( "add ucho z einval", int_char_map_add( & icm, "ucho", 0, z ), EINVAL ); |
| 278 | printf( "\nOK" ); |
284 | printf( "\nOK" ); |
| 279 | 285 | ||
| - | 286 | if( error ) return EINVAL; |
|
| - | 287 | ||
| - | 288 | #endif |
|
| - | 289 | ||
| - | 290 | #if NET_SELF_TEST_CRC |
|
| - | 291 | uint32_t value; |
|
| - | 292 | ||
| - | 293 | printf( "\nCRC computation test" ); |
|
| - | 294 | value = ~ compute_crc32( ~ 0, "123456789", 8 * 9 ); |
|
| - | 295 | TEST( "123456789", value, 0xCBF43926 ); |
|
| - | 296 | printf( "\t=> %X", value ); |
|
| - | 297 | value = ~ compute_crc32( ~ 0, "1", 8 ); |
|
| - | 298 | TEST( "1", value, 0x83DCEFB7 ); |
|
| - | 299 | printf( "\t=> %X", value ); |
|
| - | 300 | value = ~ compute_crc32( ~ 0, "12", 8 * 2 ); |
|
| - | 301 | TEST( "12", value, 0x4F5344CD ); |
|
| - | 302 | printf( "\t=> %X", value ); |
|
| - | 303 | value = ~ compute_crc32( ~ 0, "123", 8 * 3 ); |
|
| - | 304 | TEST( "123", value, 0x884863D2 ); |
|
| - | 305 | printf( "\t=> %X", value ); |
|
| - | 306 | value = ~ compute_crc32( ~ 0, "1234", 8 * 4 ); |
|
| - | 307 | TEST( "1234", value, 0x9BE3E0A3 ); |
|
| - | 308 | printf( "\t=> %X", value ); |
|
| - | 309 | value = ~ compute_crc32( ~ 0, "12345678", 8 * 8 ); |
|
| - | 310 | TEST( "12345678", value, 0x9AE0DAAF ); |
|
| - | 311 | printf( "\t=> %X", value ); |
|
| - | 312 | value = ~ compute_crc32( ~ 0, "ahoj pane", 8 * 9 ); |
|
| - | 313 | TEST( "ahoj pane", value, 0x5FC3D706 ); |
|
| - | 314 | printf( "\t=> %X", value ); |
|
| - | 315 | ||
| - | 316 | if( error ) return EINVAL; |
|
| - | 317 | ||
| 280 | #endif |
318 | #endif |
| 281 | 319 | ||
| 282 | return EOK; |
320 | return EOK; |
| 283 | } |
321 | } |
| 284 | 322 | ||