Changeset 3286 for trunk/psLib/test/collections/tst_psArray.c
- Timestamp:
- Feb 18, 2005, 12:17:20 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/psLib/test/collections/tst_psArray.c (modified) (22 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/collections/tst_psArray.c
r3281 r3286 17 17 * @author Ross Harman, MHPCC 18 18 * 19 * @version $Revision: 1.1 1$ $Name: not supported by cvs2svn $20 * @date $Date: 2005-02-18 00:01:39$19 * @version $Revision: 1.12 $ $Name: not supported by cvs2svn $ 20 * @date $Date: 2005-02-18 22:17:20 $ 21 21 * 22 22 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 75 75 76 76 // Test A - Create void pointer array 77 printPositiveTestHeader(std out,"psArray", "Create void pointer array");77 printPositiveTestHeader(stderr,"psArray", "Create void pointer array"); 78 78 psArray *psArr = psArrayAlloc(5); 79 79 if (psArr->nalloc != 5) { … … 81 81 return 1; 82 82 } 83 printFooter(std out, "psArray", "Create void pointer array", true);83 printFooter(stderr, "psArray", "Create void pointer array", true); 84 84 85 85 86 86 // Test B - Add data to void pointer array 87 printPositiveTestHeader(std out, "psArray", "Add data to void pointer array");87 printPositiveTestHeader(stderr, "psArray", "Add data to void pointer array"); 88 88 for(psS32 i = 0; i < 5; i++) { 89 89 testStruct *ts = psAlloc(sizeof(testStruct)); … … 97 97 for(psS32 i = 0; i < 5; i++) { 98 98 testStruct *ts = (testStruct*)psArr->data[i]; 99 printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);99 fprintf(stderr,"ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y); 100 100 if (fabsf(ts->x - 10*i) > 0.01f || fabsf(ts->y - 10.1*i) > 0.01f) { 101 101 psError(PS_ERR_UNKNOWN, true,"Couldn't properly get elements from array."); … … 103 103 } 104 104 } 105 printf("array size = %d\n", psArr->nalloc);105 fprintf(stderr,"array size = %d\n", psArr->nalloc); 106 106 if (psArr->nalloc != 5) { 107 107 psError(PS_ERR_UNKNOWN, true,"Array Size wrong"); 108 108 return 3; 109 109 } 110 printf("array population = %d\n", psArr->n);110 fprintf(stderr,"array population = %d\n", psArr->n); 111 111 if (psArr->n != 5) { 112 112 psError(PS_ERR_UNKNOWN, true,"Array population wrong"); 113 113 return 4; 114 114 } 115 printFooter(std out, "psArray", "Add data to void pointer array", true);115 printFooter(stderr, "psArray", "Add data to void pointer array", true); 116 116 117 117 118 118 // Test C - Reallocate void pointer array bigger 119 printPositiveTestHeader(std out,"psArray", "Reallocate void pointer array bigger");119 printPositiveTestHeader(stderr,"psArray", "Reallocate void pointer array bigger"); 120 120 psArr = psArrayRealloc(psArr,10); 121 printf("Adding more elements to void pointer array...\n");121 fprintf(stderr,"Adding more elements to void pointer array...\n"); 122 122 for(psS32 i = 5; i < 10; i++) { 123 123 testStruct *ts = psAlloc(sizeof(testStruct)); … … 131 131 for(psS32 i = 0; i < 10; i++) { 132 132 testStruct *ts = (testStruct*)psArr->data[i]; 133 printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);133 fprintf(stderr,"ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y); 134 134 if (fabsf(ts->x - 10*i) > 0.01f || fabsf(ts->y - 10.1*i) > 0.01f) { 135 135 psError(PS_ERR_UNKNOWN, true,"Couldn't properly get elements from array."); … … 137 137 } 138 138 } 139 printf("array size = %d\n", psArr->nalloc);139 fprintf(stderr,"array size = %d\n", psArr->nalloc); 140 140 if (psArr->nalloc != 10) { 141 141 psError(PS_ERR_UNKNOWN, true,"Array Size wrong"); 142 142 return 6; 143 143 } 144 printf("array population = %d\n", psArr->n);144 fprintf(stderr,"array population = %d\n", psArr->n); 145 145 if (psArr->n != 10) { 146 146 psError(PS_ERR_UNKNOWN, true,"Array Population wrong"); 147 147 return 7; 148 148 } 149 printFooter(std out, "psArray", "Reallocate void pointer array bigger", true);149 printFooter(stderr, "psArray", "Reallocate void pointer array bigger", true); 150 150 151 151 // Test D - Reallocate void pointer array smaller 152 printPositiveTestHeader(std out,"psArray","Reallocate void pointer array smaller");152 printPositiveTestHeader(stderr,"psArray","Reallocate void pointer array smaller"); 153 153 psArr = psArrayRealloc(psArr,3); 154 154 for(psS32 i = 0; i < 3; i++) { 155 155 testStruct *ts = (testStruct*)psArr->data[i]; 156 printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);156 fprintf(stderr,"ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y); 157 157 if (fabsf(ts->x - 10*i) > 0.01f || fabsf(ts->y - 10.1*i) > 0.01f) { 158 158 psError(PS_ERR_UNKNOWN, true,"Couldn't properly get elements from array."); … … 160 160 } 161 161 } 162 printf("array size = %d\n", psArr->nalloc);162 fprintf(stderr,"array size = %d\n", psArr->nalloc); 163 163 if (psArr->nalloc != 3) { 164 164 psError(PS_ERR_UNKNOWN, true,"Array Size wrong"); 165 165 return 9; 166 166 } 167 printf("array population = %d\n", psArr->n);167 fprintf(stderr,"array population = %d\n", psArr->n); 168 168 if (psArr->n != 3) { 169 169 psError(PS_ERR_UNKNOWN, true,"Array Population wrong"); 170 170 return 10; 171 171 } 172 printFooter(std out, "psArray", "Reallocate integer void pointer smaller", true);172 printFooter(stderr, "psArray", "Reallocate integer void pointer smaller", true); 173 173 174 174 // Test E - Reallocate with a null 175 printNegativeTestHeader(std out,"psArray","Reallocate with a null array",175 printNegativeTestHeader(stderr,"psArray","Reallocate with a null array", 176 176 "Error message generator", 0 ); 177 177 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message."); 178 178 psArr1 = psArrayRealloc(NULL,5); 179 179 if ( psArr1 != NULL ) { 180 printf("ERROR: Return is not NULL\n");181 } 182 printFooter(std out,"psArray","Reallocate with a null array",true);180 fprintf(stderr,"ERROR: Return is not NULL\n"); 181 } 182 printFooter(stderr,"psArray","Reallocate with a null array",true); 183 183 184 184 185 185 // Test F - Remove item from array 186 printPositiveTestHeader(std out, "psArray", "Remove valid item");186 printPositiveTestHeader(stderr, "psArray", "Remove valid item"); 187 187 if( !psArrayRemove(psArr,mySt[0]) ) { 188 188 psError(PS_ERR_UNKNOWN,true,"Unable to remove valid item"); 189 189 return 100; 190 190 } 191 printf("Array size after removal = %d\n",psArr->n);191 fprintf(stderr,"Array size after removal = %d\n",psArr->n); 192 192 if ( psArr->n != 2 ) { 193 193 psError(PS_ERR_UNKNOWN, true, "Items in array not decremented after removal"); … … 196 196 for(psS32 i = 0; i < psArr->n; i++) { 197 197 testStruct *ts = (testStruct*)psArr->data[i]; 198 printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);198 fprintf(stderr,"ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y); 199 199 if(fabsf(ts->x - 10*(i+1)) > 0.01f || fabsf(ts->y - 10.1*(i+1)) > 0.01f) { 200 200 psError(PS_ERR_UNKNOWN, true, "Elements not as expected after remove."); … … 203 203 } 204 204 psFree(mySt[0]); 205 printFooter(std out,"psArray","Remove valid item", true);205 printFooter(stderr,"psArray","Remove valid item", true); 206 206 207 207 // Test G - Remove invalid item from array 208 printPositiveTestHeader(std out, "psArray", "Remove invalid item from array");208 printPositiveTestHeader(stderr, "psArray", "Remove invalid item from array"); 209 209 if( psArrayRemove(psArr,mySt[9]) ) { 210 210 psError(PS_ERR_UNKNOWN,true,"Removed invalid item from array"); 211 211 return 103; 212 212 } 213 printFooter(std out,"psArray","Remove invalid item from array",true);213 printFooter(stderr,"psArray","Remove invalid item from array",true); 214 214 215 215 // Test H - Remove item from null array 216 printPositiveTestHeader(std out, "psArray", "Remove item from null array");216 printPositiveTestHeader(stderr, "psArray", "Remove item from null array"); 217 217 if ( psArrayRemove(NULL,mySt[1]) ) { 218 218 psError(PS_ERR_UNKNOWN,true,"Removed valid item from null array"); 219 219 return 104; 220 220 } 221 printFooter(std out,"psArray","Remove item from null array",true);221 printFooter(stderr,"psArray","Remove item from null array",true); 222 222 223 223 // Test I - Remove null item from array 224 printPositiveTestHeader(std out, "psArray", "Remove null item from array");224 printPositiveTestHeader(stderr, "psArray", "Remove null item from array"); 225 225 if( psArrayRemove(psArr,NULL) ) { 226 226 psError(PS_ERR_UNKNOWN,true,"Remove null item from array",true); 227 227 return 105; 228 228 } 229 printFooter(std out,"psArray","Remove null item from array",true);229 printFooter(stderr,"psArray","Remove null item from array",true); 230 230 231 231 // Test J - Free void pointer array 232 printPositiveTestHeader(std out, "psArray", "Free void pointer array");232 printPositiveTestHeader(stderr, "psArray", "Free void pointer array"); 233 233 psFree(psArr); 234 234 for(psS32 i = 0; i < 10; i++) { 235 235 psFree(mySt[i]); 236 236 } 237 if( psMemCheckLeaks(0, NULL, std out, false) != 0) {237 if( psMemCheckLeaks(0, NULL, stderr, false) != 0) { 238 238 psError(PS_ERR_UNKNOWN,true,"Memory leaks detected."); 239 239 return 110; … … 241 241 psS32 nBad = psMemCheckCorruption(0); 242 242 if(nBad) { 243 printf("ERROR: Found %d bad memory blocks\n", nBad);243 fprintf(stderr,"ERROR: Found %d bad memory blocks\n", nBad); 244 244 return 111; 245 245 } 246 printFooter(std out, "psArray" ,"Free void pointer array", true);246 printFooter(stderr, "psArray" ,"Free void pointer array", true); 247 247 248 248 return 0; … … 255 255 256 256 // Test A - Create void pointer array 257 printPositiveTestHeader(std out,"psArray", "Create void pointer array");257 printPositiveTestHeader(stderr,"psArray", "Create void pointer array"); 258 258 psArray *psArr = psArrayAlloc(10); 259 259 if (psArr->nalloc != 10) { … … 261 261 return 1; 262 262 } 263 printFooter(std out, "psArray", "Create void pointer array", true);263 printFooter(stderr, "psArray", "Create void pointer array", true); 264 264 265 265 // Test B - Add data to void pointer array 266 printPositiveTestHeader(std out, "psArray", "Add data to void pointer array");266 printPositiveTestHeader(stderr, "psArray", "Add data to void pointer array"); 267 267 for(psS32 i = 0; i < 10; i++) { 268 268 testStruct *ts = psAlloc(sizeof(testStruct)); … … 276 276 for(psS32 i = 0; i < 10; i++) { 277 277 testStruct *ts = (testStruct*)psArr->data[i]; 278 printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);278 fprintf(stderr,"ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y); 279 279 if (fabsf(ts->x - 10*(10-i)) > 0.01f || fabsf(ts->y - 10.1*(10-i)) > 0.01f) { 280 280 psError(PS_ERR_UNKNOWN, true,"Couldn't properly get elements from array."); … … 282 282 } 283 283 } 284 printf("array size = %d\n", psArr->nalloc);284 fprintf(stderr,"array size = %d\n", psArr->nalloc); 285 285 if (psArr->nalloc != 10) { 286 286 psError(PS_ERR_UNKNOWN, true,"Array Size wrong"); 287 287 return 3; 288 288 } 289 printf("array population = %d\n", psArr->n);289 fprintf(stderr,"array population = %d\n", psArr->n); 290 290 if (psArr->n != 10) { 291 291 psError(PS_ERR_UNKNOWN, true,"Array population wrong"); 292 292 return 4; 293 293 } 294 printFooter(std out, "psArray", "Add data to void pointer array", true);294 printFooter(stderr, "psArray", "Add data to void pointer array", true); 295 295 296 296 // Test C - Sort data in array 297 printPositiveTestHeader(std out,"psArray","Sort data in array");297 printPositiveTestHeader(stderr,"psArray","Sort data in array"); 298 298 psArr = psArraySort(psArr,testStructCompare); 299 299 for(psS32 i = 0; i < 10; i++) { 300 300 testStruct *ts = (testStruct*)psArr->data[i]; 301 printf("ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y);301 fprintf(stderr,"ts[%d].x = %d ts[%d].y = %.2f\n", i, ts->x, i, ts->y); 302 302 if (fabsf(ts->x - 10*(i+1)) > 0.01f || fabsf(ts->y - 10.1*(i+1)) > 0.01f) { 303 303 psError(PS_ERR_UNKNOWN, true,"Couldn't properly get elements from array."); … … 305 305 } 306 306 } 307 printFooter(std out,"psArray","Sort data in array",true);307 printFooter(stderr,"psArray","Sort data in array",true); 308 308 309 309 // Test D - Attempt to sort null array 310 printPositiveTestHeader(std out,"psArray","Attempt to sort array");310 printPositiveTestHeader(stderr,"psArray","Attempt to sort array"); 311 311 psArray* tempArr = psArraySort(NULL,testStructCompare); 312 312 if(tempArr != NULL) { … … 314 314 return 6; 315 315 } 316 printFooter(std out,"psArray","Attempt to sort array",true);316 printFooter(stderr,"psArray","Attempt to sort array",true); 317 317 318 318 // Test E - Free void pointer array 319 printPositiveTestHeader(std out, "psArray", "Free void pointer array");319 printPositiveTestHeader(stderr, "psArray", "Free void pointer array"); 320 320 psFree(psArr); 321 321 for(psS32 i = 0; i < 10; i++) { 322 322 psFree(mySt[i]); 323 323 } 324 if( psMemCheckLeaks(0, NULL, std out, false) != 0) {324 if( psMemCheckLeaks(0, NULL, stderr, false) != 0) { 325 325 psError(PS_ERR_UNKNOWN,true,"Memory leaks detected."); 326 326 return 110; … … 328 328 psS32 nBad = psMemCheckCorruption(0); 329 329 if(nBad) { 330 printf("ERROR: Found %d bad memory blocks\n", nBad);330 fprintf(stderr,"ERROR: Found %d bad memory blocks\n", nBad); 331 331 return 111; 332 332 } 333 printFooter(std out, "psArray" ,"Free void pointer array", true);333 printFooter(stderr, "psArray" ,"Free void pointer array", true); 334 334 335 335 return 0; … … 352 352 data = psAlloc(sizeof(float)); 353 353 arr = psArrayAdd(arr, delta*2, data); // make delta unique versus next delta used. 354 355 subtest++; 356 if (psMemGetRefCounter(data) != 2) { 357 // in response of Bug #302 358 psError(PS_ERR_UNKNOWN, true, 359 "psArrayAdd did not increment the data reference count."); 360 return subtest; 361 } 362 363 psFree(data); 354 364 355 365 subtest++; … … 381 391 data = psAlloc(sizeof(float)); 382 392 arr = psArrayAdd(arr, delta, data); 393 psFree(data); 383 394 384 395 // make sure the array was expanded … … 411 422 data = psAlloc(sizeof(float)); 412 423 arr = psArrayAdd(arr, 0, data); 424 psFree(data); 413 425 } 414 426 nalloc = arr->nalloc; … … 419 431 data = psAlloc(sizeof(float)); 420 432 arr = psArrayAdd(arr, 0, data); 433 psFree(data); 421 434 422 435 subtest++;
Note:
See TracChangeset
for help on using the changeset viewer.
