Changeset 15987 for trunk/psModules/test/camera/tap_pmFPAView.c
- Timestamp:
- Jan 2, 2008, 10:53:30 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/psModules/test/camera/tap_pmFPAView.c (modified) (30 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/test/camera/tap_pmFPAView.c
r14882 r15987 5 5 #include "tap.h" 6 6 #include "pstap.h" 7 / / XXX: pmFPAviewThisHDU(): some problems with NULL pmHDUs8 // XXX: must test: pmFPAviewThisHDU(), pmFPAviewThisPHU() 9 // XXX: must test: pmFPAviewThisPHU() 7 /* STATUS: 8 All functions are tested. 9 */ 10 10 11 11 #define ERR_TRACE_LEVEL 0 … … 77 77 cell->hdu = pmHDUAlloc("cellExtName"); 78 78 for (int i = 0 ; i < NUM_READOUTS ; i++) { 79 cell->readouts->data[i] = generateSimpleReadout(cell); 80 } 81 82 bool rc = pmConfigFileRead(&cell->hdu->format, "data/camera0/format0.config", "Camera format 0"); 79 cell->readouts->data[i] = psMemDecrRefCounter((psPtr) generateSimpleReadout(cell)); 80 } 81 82 // First try to read data from ../dataFiles, then try dataFiles. 83 bool rc = pmConfigFileRead(&cell->hdu->format, "dataFiles/camera0/format0.config", "Camera format 0"); 83 84 if (!rc) { 84 diag("pmConfigFileRead() was unsuccessful (from generateSimpleCell())"); 85 rc = pmConfigFileRead(&cell->hdu->format, "../dataFiles/camera0/format0.config", "Camera format 0"); 86 if (!rc) { 87 diag("pmConfigFileRead() was unsuccessful (from generateSimpleCell())"); 88 } 85 89 } 86 90 … … 96 100 psImageInit(cell->hdu->weights->data[k], (float) (BASE_WEIGHT+k)); 97 101 } 102 cell->hdu->blankPHU = true; 98 103 99 104 //XXX: Should the region be set some other way? Like through the various config files? 100 // psRegion *region = psRegionAlloc(0.0, TEST_NUM_COLS-1, 0.0, TEST_NUM_ROWS-1);101 105 psRegion *region = psRegionAlloc(0.0, 0.0, 0.0, 0.0); 102 106 // You shouldn't have to remove the key from the metadata. Find out how to simply change the key value. … … 119 123 psMetadataAddS32(chip->concepts, PS_LIST_HEAD, MISC_NAME, 0, NULL, MISC_NUM); 120 124 121 if (1) { 122 chip->hdu = pmHDUAlloc("chipExtName"); 123 // bool rc = pmConfigFileRead(&chip->hdu->format, "data/camera0/format0.config", "Camera format 0"); 124 // if (!rc) { 125 // diag("pmConfigFileRead() was unsuccessful (from generateSimpleChip())"); 126 // } 127 } 125 chip->hdu = pmHDUAlloc("chipExtName"); 126 bool rc = pmConfigFileRead(&chip->hdu->format, "dataFiles/camera0/format0.config", "Camera format 0"); 127 if (!rc) { 128 rc = pmConfigFileRead(&chip->hdu->format, "../dataFiles/camera0/format0.config", "Camera format 0"); 129 if (!rc) { 130 diag("pmConfigFileRead() was unsuccessful (from generateSimpleChip())"); 131 } 132 } 133 chip->hdu->blankPHU = true; 128 134 129 135 psArrayRealloc(chip->cells, NUM_CELLS); 130 136 for (int i = 0 ; i < NUM_CELLS ; i++) { 131 chip->cells->data[i] = generateSimpleCell(chip); 132 } 133 134 // XXX: Add code to initialize chip pmConcepts 135 137 chip->cells->data[i] = psMemDecrRefCounter((psPtr) generateSimpleCell(chip)); 138 } 136 139 137 140 return(chip); … … 151 154 psMetadataAddS32((psMetadata *) fpa->camera, PS_LIST_HEAD, MISC_NAME, 0, NULL, MISC_NUM); 152 155 psMetadataAddS32(fpa->concepts, PS_LIST_HEAD, MISC_NAME, 0, NULL, MISC_NUM); 153 154 if (1) {155 fpa->hdu = pmHDUAlloc("fpaExtName");156 bool rc = pmConfigFileRead(&fpa->hdu->format, "data/camera0/format0.config", "Camera format 0");156 fpa->hdu = pmHDUAlloc("fpaExtName"); 157 bool rc = pmConfigFileRead(&fpa->hdu->format, "dataFiles/camera0/format0.config", "Camera format 0"); 158 if (!rc) { 159 rc = pmConfigFileRead(&fpa->hdu->format, "../dataFiles/camera0/format0.config", "Camera format 0"); 157 160 if (!rc) { 158 161 diag("pmConfigFileRead() was unsuccessful (from generateSimpleFPA())"); 159 162 } 160 163 } 164 fpa->hdu->blankPHU = true; 161 165 162 166 psArrayRealloc(fpa->chips, NUM_CHIPS); 163 167 for (int i = 0 ; i < NUM_CHIPS ; i++) { 164 fpa->chips->data[i] = generateSimpleChip(fpa); 165 } 166 167 // XXX: Eventually, when you finish the pmConcepts tests, add full concept 168 // reading code from wherever. 168 fpa->chips->data[i] = psMemDecrRefCounter((psPtr) generateSimpleChip(fpa)); 169 } 169 170 pmConceptsBlankFPA(fpa); 170 // bool mdok;171 // psMetadata *fileData = psMetadataLookupMetadata(&mdok, fpa->hdu->format, "FILE");172 // char *fpaNameHdr = psMetadataLookupStr(&mdok, fileData, "FPA.NAME");173 // psMetadataAddStr(fpa->concepts, PS_LIST_TAIL, "FPA.NAME", PS_META_REPLACE, NULL, fpaNameHdr);174 175 171 return(fpa); 176 172 } 177 173 178 // XXX: This should only be necessary until the psFree() functions for179 // FPA/chip/cell/readout correctly free all child chips/cells/readouts180 void myFreeCell(pmCell *cell)181 {182 for (int k = 0 ; k < cell->readouts->n ; k++) {183 psFree(cell->readouts->data[k]);184 }185 psFree(cell);186 }187 188 void myFreeChip(pmChip *chip) {189 for (int j = 0 ; j < chip->cells->n ; j++) {190 myFreeCell(chip->cells->data[j]);191 }192 psFree(chip);193 }194 195 void myFreeFPA(pmFPA *fpa)196 {197 for (int i = 0 ; i < fpa->chips->n ; i++) {198 myFreeChip(fpa->chips->data[i]);199 }200 psFree(fpa);201 }202 174 203 175 psS32 main(psS32 argc, char* argv[]) … … 206 178 psLogSetLevel(PS_LOG_INFO); 207 179 psTraceSetLevel("err", ERR_TRACE_LEVEL); 208 plan_tests(137); 180 plan_tests(174); 181 209 182 210 183 // ---------------------------------------------------------------------- 211 184 // pmFPAViewAlloc() tests 212 // XXX: Add memCheckPtr() tests 213 { 214 psMemId id = psMemGetId(); 215 pmFPAview *tmpView = pmFPAviewAlloc(32); 216 ok(tmpView != NULL, "pmFPAviewAlloc() returned non-NULL"); 185 { 186 psMemId id = psMemGetId(); 187 pmFPAview *tmpView = pmFPAviewAlloc(32); 188 ok(tmpView != NULL && psMemCheckFPAview(tmpView), "pmFPAviewAlloc() returned non-NULL"); 217 189 ok(tmpView->nRows == 32, "pmFPAviewAlloc() set ->nRows properly"); 218 190 psFree(tmpView); … … 228 200 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 229 201 } 202 230 203 231 204 // pmFPAViewReset() tests: acceptable input … … 340 313 ok(NULL == pmFPAviewThisChip(NULL, fpa), "pmFPAviewThisChip(NULL, fpa) returned NULL"); 341 314 342 myFreeFPA(fpa);315 psFree(fpa); 343 316 psFree(camera); 344 317 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 366 339 ok(NULL == pmFPAviewThisChip(tmpView, fpa), "pmFPAviewThisChip(pmFPAView, fpa) returned NULL view input"); 367 340 fpa->chips = chips; 368 myFreeFPA(fpa);341 psFree(fpa); 369 342 psFree(camera); 370 343 psFree(tmpView); … … 403 376 } 404 377 ok(!errorFlag, "pmFPAviewThisChip() returned the correct pmChip for all tests"); 405 myFreeFPA(fpa);378 psFree(fpa); 406 379 psFree(camera); 407 380 psFree(tmpView); … … 425 398 ok(NULL == pmFPAviewNextChip(NULL, fpa, 0), "pmFPAviewNextChip(NULL, fpa, 0) returned NULL"); 426 399 427 myFreeFPA(fpa);400 psFree(fpa); 428 401 psFree(camera); 429 402 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 456 429 // XXX: Source code is wrong: must guard against input tmpView->chip = -1 457 430 tmpView->chip = -1; 458 ok( NULL == pmFPAviewNextChip(tmpView, fpa, 0), "pmFPAviewNextChip(pmFPAView, fpa, 0) returned NULL with pmFPAView->chip == -1");431 ok(fpa->chips->data[0] == pmFPAviewNextChip(tmpView, fpa, 1), "pmFPAviewNextChip(pmFPAView, fpa, 1) returned NULL with pmFPAView->chip == -1"); 459 432 460 433 // Test with tmpView->chip too high … … 486 459 ok(!errorFlag, "pmFPAviewNextChip() returned the correct pmChip for all tests (step = 1)"); 487 460 488 myFreeFPA(fpa);461 psFree(fpa); 489 462 psFree(camera); 490 463 psFree(tmpView); … … 506 479 ok(NULL == pmFPAviewThisCell(NULL, fpa), "pmFPAviewThisCell(NULL, fpa) returned NULL"); 507 480 508 myFreeFPA(fpa);481 psFree(fpa); 509 482 psFree(camera); 510 483 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 523 496 524 497 // pmFPAviewThisCell() tests: NULL fpa->chips input 525 // XXX: Skipping because the source code does not guard against this 526 if (0) { 498 { 527 499 psMemId id = psMemGetId(); 528 500 psMetadata *camera = psMetadataAlloc(); … … 533 505 ok(NULL == pmFPAviewThisCell(tmpView, fpa), "pmFPAviewThisCell(pmFPAView, fpa) returned NULL view input"); 534 506 fpa->chips = chips; 535 myFreeFPA(fpa);507 psFree(fpa); 536 508 psFree(camera); 537 509 psFree(tmpView); … … 575 547 } 576 548 ok(!errorFlag, "pmFPAviewThisCell() returned the correct pmCell for all tests"); 577 myFreeFPA(fpa); 578 psFree(camera); 579 psFree(tmpView); 580 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 581 } 582 549 psFree(fpa); 550 psFree(camera); 551 psFree(tmpView); 552 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 553 } 583 554 584 555 … … 597 568 ok(NULL == pmFPAviewNextCell(NULL, fpa, 0), "pmFPAviewNextCell(NULL, fpa, 0) returned NULL"); 598 569 599 myFreeFPA(fpa);570 psFree(fpa); 600 571 psFree(camera); 601 572 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 667 638 ok(!errorFlag, "pmFPAviewNextCell() returned the correct pmCell for all tests (step = 1)"); 668 639 669 myFreeFPA(fpa);640 psFree(fpa); 670 641 psFree(camera); 671 642 psFree(tmpView); … … 688 659 ok(NULL == pmFPAviewThisReadout(NULL, fpa), "pmFPAviewThisReadout(NULL, fpa) returned NULL"); 689 660 690 myFreeFPA(fpa);661 psFree(fpa); 691 662 psFree(camera); 692 663 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 705 676 706 677 // pmFPAviewThisReadout() tests: NULL fpa->chips input 707 // XXX: Skipping because the source code does not guard against this 708 if (0) { 678 { 709 679 psMemId id = psMemGetId(); 710 680 psMetadata *camera = psMetadataAlloc(); … … 715 685 ok(NULL == pmFPAviewThisReadout(tmpView, fpa), "pmFPAviewThisReadout(pmFPAView, fpa) returned NULL view input"); 716 686 fpa->chips = chips; 717 myFreeFPA(fpa);687 psFree(fpa); 718 688 psFree(camera); 719 689 psFree(tmpView); … … 761 731 ok(!errorFlag, "pmFPAviewThisReadout() returned the correct pmCell for all tests"); 762 732 763 myFreeFPA(fpa);733 psFree(fpa); 764 734 psFree(camera); 765 735 psFree(tmpView); … … 782 752 ok(NULL == pmFPAviewNextReadout(NULL, fpa, 0), "pmFPAviewNextReadout(NULL, fpa, 0) returned NULL"); 783 753 784 myFreeFPA(fpa);754 psFree(fpa); 785 755 psFree(camera); 786 756 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 857 827 ok(!errorFlag, "pmFPAviewNextReadout() returned the correct pmCell for all tests (step = 1)"); 858 828 859 myFreeFPA(fpa);829 psFree(fpa); 860 830 psFree(camera); 861 831 psFree(tmpView); … … 877 847 ok(cell != NULL, "Allocated a pmCell successfully"); 878 848 ok(NULL == pmFPAviewThisHDU(NULL, fpa), "pmFPAviewThisHDU(NULL, fpa) returned NULL"); 879 myFreeFPA(fpa);849 psFree(fpa); 880 850 psFree(camera); 881 851 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); … … 893 863 894 864 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 865 // pmFPAviewThisHDU() tests: acceptable input 949 // pmHDU *pmFPAviewThisHDU(const pmFPAview *view, const pmFPA *fpa)950 866 { 951 867 psMemId id = psMemGetId(); … … 963 879 ok(hdu, "pmFPAviewThisHDU() returned non-NULL with tmpView->chip = -1"); 964 880 ok(hdu == pmHDUFromFPA(fpa), "pmFPAviewThisHDU() returned the correct HDU"); 965 tmpView->chip = 16; 966 967 // XXX: These tests fail because the pmHDU functions are returning NULL. Why? 881 tmpView->chip = NUM_CHIPS/2; 882 968 883 tmpView->cell = -1; 969 884 hdu = pmFPAviewThisHDU(tmpView, fpa); 970 885 ok(hdu, "pmFPAviewThisHDU() returned non-NULL with tmpView->cell = -1"); 971 886 ok(hdu == pmHDUFromChip(pmFPAviewThisChip(tmpView, fpa)), "pmFPAviewThisHDU() returned the correct HDU"); 972 tmpView->cell = 16;887 tmpView->cell = NUM_CELLS/2; 973 888 974 889 tmpView->readout = -1; … … 976 891 ok(hdu, "pmFPAviewThisHDU() returned non-NULL with tmpView->readout = -1"); 977 892 ok(hdu == pmHDUFromCell(pmFPAviewThisCell(tmpView, fpa)), "pmFPAviewThisHDU() returned the correct HDU"); 978 tmpView->readout = 16;893 tmpView->readout = NUM_READOUTS/2; 979 894 980 895 hdu = pmFPAviewThisHDU(tmpView, fpa); … … 982 897 ok(hdu == pmHDUFromReadout(pmFPAviewThisReadout(tmpView, fpa)), "pmFPAviewThisHDU() returned the correct HDU"); 983 898 984 myFreeFPA(fpa); 985 psFree(camera); 986 psFree(tmpView); 899 psFree(fpa); 900 psFree(camera); 901 psFree(tmpView); 902 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 903 } 904 905 906 // ---------------------------------------------------------------------- 907 // pmFPAviewThisPHU() tests: NULL view input 908 // pmHDU *pmFPAviewThisPHU(const pmFPAview *view, const pmFPA *fpa) 909 { 910 psMemId id = psMemGetId(); 911 psMetadata *camera = psMetadataAlloc(); 912 pmFPA* fpa = generateSimpleFPA(camera); 913 pmChip *chip = fpa->chips->data[0]; 914 pmCell *cell = chip->cells->data[0]; 915 ok(fpa != NULL, "Allocated a pmFPA successfully"); 916 ok(chip != NULL, "Allocated a pmChip successfully"); 917 ok(cell != NULL, "Allocated a pmCell successfully"); 918 ok(NULL == pmFPAviewThisPHU(NULL, fpa), "pmFPAviewThisPHU(NULL, fpa) returned NULL"); 919 psFree(fpa); 920 psFree(camera); 921 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 922 } 923 924 // pmFPAviewThisPHU() tests: NULL pmFPA input 925 // pmHDU *pmFPAviewThisPHU(const pmFPAview *view, const pmFPA *fpa) 926 { 927 psMemId id = psMemGetId(); 928 pmFPAview *tmpView = pmFPAviewAlloc(32); 929 ok(NULL == pmFPAviewThisPHU(tmpView, NULL), "pmFPAviewThisPHU(pmFPAView, NULL) returned NULL"); 930 psFree(tmpView); 931 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 932 } 933 934 935 // pmFPAviewThisPHU() tests: acceptable input 936 { 937 psMemId id = psMemGetId(); 938 psMetadata *camera = psMetadataAlloc(); 939 pmFPA* fpa = generateSimpleFPA(camera); 940 pmChip *chip = fpa->chips->data[0]; 941 pmCell *cell = chip->cells->data[0]; 942 ok(fpa != NULL, "Allocated a pmFPA successfully"); 943 ok(chip != NULL, "Allocated a pmChip successfully"); 944 ok(cell != NULL, "Allocated a pmCell successfully"); 945 pmFPAview *tmpView = pmFPAviewAlloc(32); 946 947 tmpView->chip = -1; 948 pmHDU *hdu = pmFPAviewThisPHU(tmpView, fpa); 949 ok(hdu, "pmFPAviewThisPHU() returned non-NULL with tmpView->chip = -1"); 950 ok(hdu == pmHDUFromFPA(fpa), "pmFPAviewThisPHU() returned the correct HDU"); 951 tmpView->chip = NUM_CHIPS/2; 952 953 tmpView->cell = -1; 954 hdu = pmFPAviewThisPHU(tmpView, fpa); 955 ok(hdu, "pmFPAviewThisPHU() returned non-NULL with tmpView->cell = -1"); 956 ok(hdu == pmHDUFromChip(pmFPAviewThisChip(tmpView, fpa)), "pmFPAviewThisPHU() returned the correct HDU"); 957 tmpView->cell = NUM_CELLS/2; 958 959 tmpView->readout = -1; 960 hdu = pmFPAviewThisPHU(tmpView, fpa); 961 ok(hdu, "pmFPAviewThisPHU() returned non-NULL with tmpView->readout = -1"); 962 ok(hdu == pmHDUFromCell(pmFPAviewThisCell(tmpView, fpa)), "pmFPAviewThisPHU() returned the correct HDU"); 963 tmpView->readout = NUM_READOUTS/2; 964 965 hdu = pmFPAviewThisPHU(tmpView, fpa); 966 ok(hdu == NULL, "pmFPAviewThisPHU() returned NULL"); 967 968 psFree(fpa); 969 psFree(camera); 970 psFree(tmpView); 971 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 972 } 973 974 975 // ---------------------------------------------------------------------- 976 // pmFPAviewGenerate() tests: NULL pmFPA input 977 { 978 psMemId id = psMemGetId(); 979 int chipID = NUM_CHIPS/2; 980 int cellID = NUM_CELLS/2; 981 int readoutID = NUM_READOUTS/2; 982 pmFPA* fpa = generateSimpleFPA(NULL); 983 pmChip *chip = fpa->chips->data[chipID]; 984 pmCell *cell = chip->cells->data[cellID]; 985 pmReadout *readout = cell->readouts->data[readoutID]; 986 ok(fpa != NULL, "Allocated a pmFPA successfully"); 987 ok(chip != NULL, "Allocated a pmChip successfully"); 988 ok(cell != NULL, "Allocated a pmCell successfully"); 989 ok(readout != NULL, "Allocated a pmReadout successfully"); 990 pmFPAview *view = pmFPAviewGenerate(NULL, chip, cell, readout); 991 ok(view == NULL, "pmFPAviewGenerate(NULL, chip, cell, readout) returned NULL"); 992 psFree(fpa); 993 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 994 } 995 996 997 // pmFPAviewGenerate() tests: acceptable input parameters 998 // XX: Add more input combinations. 999 { 1000 psMemId id = psMemGetId(); 1001 int chipID = NUM_CHIPS/2; 1002 int cellID = NUM_CELLS/2; 1003 int readoutID = NUM_READOUTS/2; 1004 pmFPA* fpa = generateSimpleFPA(NULL); 1005 pmChip *chip = fpa->chips->data[chipID]; 1006 pmCell *cell = chip->cells->data[cellID]; 1007 pmReadout *readout = cell->readouts->data[readoutID]; 1008 ok(fpa != NULL, "Allocated a pmFPA successfully"); 1009 ok(chip != NULL, "Allocated a pmChip successfully"); 1010 ok(cell != NULL, "Allocated a pmCell successfully"); 1011 ok(readout != NULL, "Allocated a pmReadout successfully"); 1012 pmFPAview *view = pmFPAviewGenerate(fpa, chip, cell, readout); 1013 ok(view != NULL && psMemCheckFPAview(view), "pmFPAviewGenerate() returned an pmFPAviw with acceptable input parameters"); 1014 ok(view->chip == chipID, "pmFPAviewGenerate() set pmFPAview->chip correctly"); 1015 ok(view->cell == cellID, "pmFPAviewGenerate() set pmFPAview->cell correctly"); 1016 ok(view->readout == readoutID, "pmFPAviewGenerate() set pmFPAview->readout correctly"); 1017 psFree(view); 1018 psFree(fpa); 987 1019 ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks"); 988 1020 } 989 1021 } 1022
Note:
See TracChangeset
for help on using the changeset viewer.
