Changeset 15987 for trunk/psModules/test/camera/tap_pmFPAReadWrite.c
- Timestamp:
- Jan 2, 2008, 10:53:30 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/psModules/test/camera/tap_pmFPAReadWrite.c (modified) (56 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/test/camera/tap_pmFPAReadWrite.c
r14882 r15987 29 29 #define BASE_WEIGHT 70 30 30 #define VERBOSE 0 31 #define ERR_TRACE_LEVEL 031 #define ERR_TRACE_LEVEL 10 32 32 33 33 psPlaneTransform *PS_CREATE_2D_IDENTITY_PLANE_TRANSFORM() … … 80 80 cell->hdu = pmHDUAlloc("cellExtName"); 81 81 for (int i = 0 ; i < NUM_READOUTS ; i++) { 82 cell->readouts->data[i] = generateSimpleReadout(cell); 83 } 84 85 bool rc = pmConfigFileRead(&cell->hdu->format, "data/camera0/format0.config", "Camera format 0"); 82 cell->readouts->data[i] = psMemDecrRefCounter((psPtr) generateSimpleReadout(cell)); 83 } 84 85 // First try to read data from ../dataFiles, then try dataFiles. 86 bool rc = pmConfigFileRead(&cell->hdu->format, "../dataFiles/camera0/format0.config", "Camera format 0"); 86 87 if (!rc) { 87 diag("pmConfigFileRead() was unsuccessful (from generateSimpleCell())"); 88 rc = pmConfigFileRead(&cell->hdu->format, "dataFiles/camera0/format0.config", "Camera format 0"); 89 if (!rc) { 90 diag("pmConfigFileRead() was unsuccessful (from generateSimpleCell())"); 91 } 88 92 } 89 93 … … 101 105 102 106 //XXX: Should the region be set some other way? Like through the various config files? 103 // psRegion *region = psRegionAlloc(0.0, TEST_NUM_COLS-1, 0.0, TEST_NUM_ROWS-1);104 107 psRegion *region = psRegionAlloc(0.0, 0.0, 0.0, 0.0); 105 108 // You shouldn't have to remove the key from the metadata. Find out how to simply change the key value. … … 121 124 psMetadataAddS32(chip->analysis, PS_LIST_HEAD, MISC_NAME, 0, NULL, MISC_NUM); 122 125 psMetadataAddS32(chip->concepts, PS_LIST_HEAD, MISC_NAME, 0, NULL, MISC_NUM); 123 // chip->hdu = pmHDUAlloc("chipExtName"); 124 // 125 // bool rc = pmConfigFileRead(&chip->hdu->format, "data/camera0/format0.config", "Camera format 0"); 126 // if (!rc) { 127 // diag("pmConfigFileRead() was unsuccessful (from generateSimpleChip())"); 128 // } 129 // 126 130 127 psArrayRealloc(chip->cells, NUM_CELLS); 131 128 for (int i = 0 ; i < NUM_CELLS ; i++) { 132 chip->cells->data[i] = generateSimpleCell(chip);129 chip->cells->data[i] = psMemDecrRefCounter((psPtr) generateSimpleCell(chip)); 133 130 } 134 131 … … 152 149 psMetadataAddS32((psMetadata *) fpa->camera, PS_LIST_HEAD, MISC_NAME, 0, NULL, MISC_NUM); 153 150 psMetadataAddS32(fpa->concepts, PS_LIST_HEAD, MISC_NAME, 0, NULL, MISC_NUM); 154 // fpa->hdu = pmHDUAlloc("fpaExtName");155 //156 // bool rc = pmConfigFileRead(&fpa->hdu->format, "data/camera0/format0.config", "Camera format 0");157 // if (!rc) {158 // diag("pmConfigFileRead() was unsuccessful (from generateSimpleFPA())");159 // }160 151 161 152 psArrayRealloc(fpa->chips, NUM_CHIPS); 162 153 for (int i = 0 ; i < NUM_CHIPS ; i++) { 163 fpa->chips->data[i] = generateSimpleChip(fpa); 164 } 165 166 // XXX: Eventually, when you finish the pmConcepts tests, add full concept 167 // reading code from wherever. 154 fpa->chips->data[i] = psMemDecrRefCounter((psPtr) generateSimpleChip(fpa)); 155 } 168 156 pmConceptsBlankFPA(fpa); 169 // bool mdok;170 // psMetadata *fileData = psMetadataLookupMetadata(&mdok, fpa->hdu->format, "FILE");171 // char *fpaNameHdr = psMetadataLookupStr(&mdok, fileData, "FPA.NAME");172 // psMetadataAddStr(fpa->concepts, PS_LIST_TAIL, "FPA.NAME", PS_META_REPLACE, NULL, fpaNameHdr);173 174 157 return(fpa); 175 }176 177 // XXX: This should only be necessary until the psFree() functions for178 // FPA/chip/cell/readout correctly free all child chips/cells/readouts179 void myFreeCell(pmCell *cell)180 {181 for (int k = 0 ; k < cell->readouts->n ; k++) {182 psFree(cell->readouts->data[k]);183 }184 psFree(cell);185 }186 187 void myFreeChip(pmChip *chip) {188 for (int j = 0 ; j < chip->cells->n ; j++) {189 myFreeCell(chip->cells->data[j]);190 }191 psFree(chip);192 }193 194 void myFreeFPA(pmFPA *fpa)195 {196 for (int i = 0 ; i < fpa->chips->n ; i++) {197 myFreeChip(fpa->chips->data[i]);198 }199 psFree(fpa);200 158 } 201 159 … … 206 164 psLogSetLevel(PS_LOG_INFO); 207 165 psTraceSetLevel("err", ERR_TRACE_LEVEL); 208 plan_tests( 405);166 plan_tests(22); 209 167 210 168 // ---------------------------------------------------------------------- … … 212 170 // pmCellWrite(): tests 213 171 // Verify pmCellWrite() with NULL pmCell arg 214 {172 if (0) { 215 173 psMemId id = psMemGetId(); 216 174 psFits* fitsFileW = psFitsOpen(".tmp00", "w"); … … 220 178 } 221 179 180 222 181 // Verify pmCellWrite() with NULL pmCell arg 223 182 // XXXX: Big problem: Without the next code, everything else fails. Why? 224 if ( 1) {183 if (0) { 225 184 psMemId id = psMemGetId(); 226 185 psFits* fitsFileW = psFitsOpen(".tmp00", "w"); … … 232 191 233 192 // Verify pmCellWrite() with NULL pmFits arg 234 {193 if (0) { 235 194 psMemId id = psMemGetId(); 236 195 psMetadata *camera = psMetadataAlloc(); … … 240 199 ok(cell != NULL, "Allocated a pmCell successfully"); 241 200 ok(!pmCellWrite(cell, NULL, NULL, false), "pmCellWrite() returned FALSE with NULL psFits param"); 242 myFreeFPA(fpa);201 psFree(fpa); 243 202 psFree(camera); 244 203 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 265 224 // Close the FITS file, free memory 266 225 psFitsClose(fitsFileW); 267 myFreeFPA(fpa); 268 psFree(camera); 269 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 270 } 271 226 psFree(fpa); 227 psFree(camera); 228 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 229 } 272 230 273 231 // ---------------------------------------------------------------------- … … 291 249 pmCell *cell = chip->cells->data[0]; 292 250 ok(!pmCellRead(cell, NULL, NULL), "pmCellRead() returned FALSE with NULL pmFits param"); 293 myFreeFPA(fpa);251 psFree(fpa); 294 252 psFree(camera); 295 253 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 313 271 rc = pmCellRead(cell, fitsFileR, NULL); 314 272 ok(rc, "pmCellRead() returned TRUE"); 273 skip_start(!rc, 1, "Skipping tests because pmCellRead returned NULL"); 315 274 for (int k = 0 ; k < cell->hdu->images->n ; k++) { 316 275 bool errorFlag = false; … … 327 286 ok(!errorFlag, "pmCellWrite()/pmCellRead() properly set the image data (image %d)", k); 328 287 } 329 psFitsClose(fitsFileR); 330 myFreeFPA(fpa); 288 skip_end(); 289 psFitsClose(fitsFileR); 290 psFree(fpa); 331 291 psFree(camera); 332 292 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 356 316 ok(cell != NULL, "Allocated a pmCell successfully"); 357 317 ok(!pmCellWriteWeight(cell, NULL, NULL, false), "pmCellWriteWeight() returned FALSE with NULL psFits param"); 358 myFreeFPA(fpa);318 psFree(fpa); 359 319 psFree(camera); 360 320 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 381 341 // Close the FITS file, free memory 382 342 psFitsClose(fitsFileW); 383 myFreeFPA(fpa);343 psFree(fpa); 384 344 psFree(camera); 385 345 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 407 367 pmCell *cell = chip->cells->data[0]; 408 368 ok(!pmCellReadWeight(cell, NULL, NULL), "pmCellReadWeight() returned FALSE with NULL pmFits param"); 409 myFreeFPA(fpa);369 psFree(fpa); 410 370 psFree(camera); 411 371 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 444 404 } 445 405 psFitsClose(fitsFileR); 446 myFreeFPA(fpa);406 psFree(fpa); 447 407 psFree(camera); 448 408 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 473 433 ok(cell != NULL, "Allocated a pmCell successfully"); 474 434 ok(!pmCellWriteMask(cell, NULL, NULL, false), "pmCellWriteMask() returned FALSE with NULL psFits param"); 475 myFreeFPA(fpa);435 psFree(fpa); 476 436 psFree(camera); 477 437 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 498 458 // Close the FITS file, free memory 499 459 psFitsClose(fitsFileW); 500 myFreeFPA(fpa);460 psFree(fpa); 501 461 psFree(camera); 502 462 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 524 484 pmCell *cell = chip->cells->data[0]; 525 485 ok(!pmCellReadMask(cell, NULL, NULL), "pmCellReadMask() returned FALSE with NULL pmFits param"); 526 myFreeFPA(fpa);486 psFree(fpa); 527 487 psFree(camera); 528 488 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 570 530 } 571 531 psFitsClose(fitsFileR); 572 myFreeFPA(fpa);532 psFree(fpa); 573 533 psFree(camera); 574 534 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 599 559 ok(chip != NULL, "Allocated a pmChip successfully"); 600 560 ok(!pmChipWrite(chip, NULL, NULL, false, true), "pmChipWrite() returned NULL with NULL pmFits param"); 601 myFreeFPA(fpa);561 psFree(fpa); 602 562 psFree(camera); 603 563 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 621 581 // Close the FITS file, free memory 622 582 psFitsClose(fitsFileW); 623 myFreeFPA(fpa);583 psFree(fpa); 624 584 psFree(camera); 625 585 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 646 606 pmChip *chip = fpa->chips->data[0]; 647 607 ok(!pmChipRead(chip, NULL, NULL), "pmChipRead() returned NULL with NULL pmFits param"); 648 myFreeFPA(fpa);608 psFree(fpa); 649 609 psFree(camera); 650 610 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 663 623 for (int chipID = 0 ; chipID < chip->cells->n ; chipID++) { 664 624 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 665 myFreeCell(cell);625 psFree(cell); 666 626 cell = NULL; 667 627 } … … 676 636 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 677 637 for (int k = 0 ; k < cell->hdu->images->n ; k++) { 678 if (VERBOSE) diag(" Cool: image %d\n", k);638 if (VERBOSE) diag("NOTE: image %d\n", k); 679 639 psImage *img = cell->hdu->images->data[k]; 680 640 for (int i = 0 ; i < img->numRows ; i++) { … … 692 652 693 653 psFitsClose(fitsFileR); 694 myFreeFPA(fpa);654 psFree(fpa); 695 655 psFree(camera); 696 656 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 719 679 ok(chip != NULL, "Allocated a pmChip successfully"); 720 680 ok(!pmChipWriteWeight(chip, NULL, NULL, false, true), "pmChipWriteWeight() returned NULL with NULL pmFits param"); 721 myFreeFPA(fpa);681 psFree(fpa); 722 682 psFree(camera); 723 683 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 741 701 // Close the FITS file, free memory 742 702 psFitsClose(fitsFileW); 743 myFreeFPA(fpa);703 psFree(fpa); 744 704 psFree(camera); 745 705 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 766 726 pmChip *chip = fpa->chips->data[0]; 767 727 ok(!pmChipReadMask(chip, NULL, NULL), "pmChipReadMask() returned NULL with NULL pmFits param"); 768 myFreeFPA(fpa);728 psFree(fpa); 769 729 psFree(camera); 770 730 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 783 743 for (int chipID = 0 ; chipID < chip->cells->n ; chipID++) { 784 744 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 785 myFreeCell(cell);745 psFree(cell); 786 746 cell = NULL; 787 747 } … … 796 756 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 797 757 for (int k = 0 ; k < cell->hdu->weights->n ; k++) { 798 if (VERBOSE) diag(" Cool: image %d\n", k);758 if (VERBOSE) diag("NOTE: image %d\n", k); 799 759 psImage *wgt = cell->hdu->weights->data[k]; 800 760 for (int i = 0 ; i < wgt->numRows ; i++) { … … 812 772 813 773 psFitsClose(fitsFileR); 814 myFreeFPA(fpa);774 psFree(fpa); 815 775 psFree(camera); 816 776 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 837 797 pmChip *chip = fpa->chips->data[0]; 838 798 ok(!pmChipReadMask(chip, NULL, NULL), "pmChipReadMask() returned NULL with NULL pmFits param"); 839 myFreeFPA(fpa);799 psFree(fpa); 840 800 psFree(camera); 841 801 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 854 814 for (int chipID = 0 ; chipID < chip->cells->n ; chipID++) { 855 815 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 856 myFreeCell(cell);816 psFree(cell); 857 817 cell = NULL; 858 818 } … … 867 827 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 868 828 for (int k = 0 ; k < cell->hdu->masks->n ; k++) { 869 if (VERBOSE) diag(" Cool: image %d\n", k);829 if (VERBOSE) diag("NOTE: image %d\n", k); 870 830 psImage *msk = cell->hdu->masks->data[k]; 871 831 for (int i = 0 ; i < msk->numRows ; i++) { … … 883 843 884 844 psFitsClose(fitsFileR); 885 myFreeFPA(fpa);845 psFree(fpa); 886 846 psFree(camera); 887 847 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 911 871 ok(fpa != NULL, "Allocated a pmFPA successfully"); 912 872 ok(!pmFPAWrite(fpa, NULL, NULL, false, true), "pmFPAWrite() returned NULL with NULL pmFits param"); 913 myFreeFPA(fpa);873 psFree(fpa); 914 874 psFree(camera); 915 875 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 929 889 // Close the FITS file, free memory 930 890 psFitsClose(fitsFileW); 931 myFreeFPA(fpa);891 psFree(fpa); 932 892 psFree(camera); 933 893 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 953 913 pmFPA* fpa = generateSimpleFPA(camera); 954 914 ok(!pmFPARead(fpa, NULL, NULL), "pmFPARead() returned NULL with NULL pmFits param"); 955 myFreeFPA(fpa);915 psFree(fpa); 956 916 psFree(camera); 957 917 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 971 931 for (int chipID = 0 ; chipID < chip->cells->n ; chipID++) { 972 932 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 973 myFreeCell(cell);933 psFree(cell); 974 934 cell = NULL; 975 935 } … … 988 948 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 989 949 for (int k = 0 ; k < cell->hdu->images->n ; k++) { 990 if (VERBOSE) diag(" Cool: image %d\n", k);950 if (VERBOSE) diag("NOTE: image %d\n", k); 991 951 psImage *img = cell->hdu->images->data[k]; 992 952 for (int i = 0 ; i < img->numRows ; i++) { … … 1005 965 1006 966 psFitsClose(fitsFileR); 1007 myFreeFPA(fpa);967 psFree(fpa); 1008 968 psFree(camera); 1009 969 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 1033 993 ok(fpa != NULL, "Allocated a pmFPA successfully"); 1034 994 ok(!pmFPAWriteWeight(fpa, NULL, NULL, false, true), "pmFPAWriteWeight() returned NULL with NULL pmFits param"); 1035 myFreeFPA(fpa);995 psFree(fpa); 1036 996 psFree(camera); 1037 997 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 1051 1011 // Close the FITS file, free memory 1052 1012 psFitsClose(fitsFileW); 1053 myFreeFPA(fpa);1013 psFree(fpa); 1054 1014 psFree(camera); 1055 1015 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 1075 1035 pmFPA* fpa = generateSimpleFPA(camera); 1076 1036 ok(!pmFPARead(fpa, NULL, NULL), "pmFPAReadWeight() returned NULL with NULL pmFits param"); 1077 myFreeFPA(fpa);1037 psFree(fpa); 1078 1038 psFree(camera); 1079 1039 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 1093 1053 for (int chipID = 0 ; chipID < chip->cells->n ; chipID++) { 1094 1054 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 1095 myFreeCell(cell);1055 psFree(cell); 1096 1056 cell = NULL; 1097 1057 } … … 1110 1070 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 1111 1071 for (int k = 0 ; k < cell->hdu->weights->n ; k++) { 1112 if (VERBOSE) diag(" Cool: image %d\n", k);1072 if (VERBOSE) diag("NOTE: image %d\n", k); 1113 1073 psImage *wgt = cell->hdu->weights->data[k]; 1114 1074 for (int i = 0 ; i < wgt->numRows ; i++) { … … 1127 1087 1128 1088 psFitsClose(fitsFileR); 1129 myFreeFPA(fpa);1089 psFree(fpa); 1130 1090 psFree(camera); 1131 1091 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 1155 1115 ok(fpa != NULL, "Allocated a pmFPA successfully"); 1156 1116 ok(!pmFPAWriteMask(fpa, NULL, NULL, false, true), "pmFPAWriteMask() returned NULL with NULL pmFits param"); 1157 myFreeFPA(fpa);1117 psFree(fpa); 1158 1118 psFree(camera); 1159 1119 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 1173 1133 // Close the FITS file, free memory 1174 1134 psFitsClose(fitsFileW); 1175 myFreeFPA(fpa);1135 psFree(fpa); 1176 1136 psFree(camera); 1177 1137 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 1197 1157 pmFPA* fpa = generateSimpleFPA(camera); 1198 1158 ok(!pmFPARead(fpa, NULL, NULL), "pmFPAReadMask() returned NULL with NULL pmFits param"); 1199 myFreeFPA(fpa);1159 psFree(fpa); 1200 1160 psFree(camera); 1201 1161 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 1215 1175 for (int chipID = 0 ; chipID < chip->cells->n ; chipID++) { 1216 1176 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 1217 myFreeCell(cell);1177 psFree(cell); 1218 1178 cell = NULL; 1219 1179 } … … 1232 1192 pmCell *cell = (pmCell *) chip->cells->data[chipID]; 1233 1193 for (int k = 0 ; k < cell->hdu->masks->n ; k++) { 1234 if (VERBOSE) diag(" Cool: image %d\n", k);1194 if (VERBOSE) diag("NOTE: image %d\n", k); 1235 1195 psImage *msk = cell->hdu->masks->data[k]; 1236 1196 for (int i = 0 ; i < msk->numRows ; i++) { … … 1249 1209 1250 1210 psFitsClose(fitsFileR); 1251 myFreeFPA(fpa);1211 psFree(fpa); 1252 1212 psFree(camera); 1253 1213 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
Note:
See TracChangeset
for help on using the changeset viewer.
