IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 2, 2008, 10:53:30 AM (18 years ago)
Author:
gusciora
Message:

Modified file reads to look for dataFiles and then ../dataFiles.
Other additions as well.
First version: tap_pmReadoutFake.c
First version: tap_pmReadoutStack.c

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/test/camera/tap_pmFPAView.c

    r14882 r15987  
    55#include "tap.h"
    66#include "pstap.h"
    7 // XXX: pmFPAviewThisHDU(): some problems with NULL pmHDUs
    8 // XXX: must test: pmFPAviewThisHDU(), pmFPAviewThisPHU()
    9 // XXX: must test: pmFPAviewThisPHU()
     7/* STATUS:
     8    All functions are tested.
     9*/
    1010
    1111#define ERR_TRACE_LEVEL         0
     
    7777    cell->hdu = pmHDUAlloc("cellExtName");
    7878    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");
    8384    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        }
    8589    }
    8690
     
    96100        psImageInit(cell->hdu->weights->data[k], (float) (BASE_WEIGHT+k));
    97101    }
     102    cell->hdu->blankPHU = true;
    98103
    99104    //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);
    101105    psRegion *region = psRegionAlloc(0.0, 0.0, 0.0, 0.0);
    102106    // You shouldn't have to remove the key from the metadata.  Find out how to simply change the key value.
     
    119123    psMetadataAddS32(chip->concepts, PS_LIST_HEAD, MISC_NAME, 0, NULL, MISC_NUM);
    120124
    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;
    128134
    129135    psArrayRealloc(chip->cells, NUM_CELLS);
    130136    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    }
    136139
    137140    return(chip);
     
    151154    psMetadataAddS32((psMetadata *) fpa->camera, PS_LIST_HEAD, MISC_NAME, 0, NULL, MISC_NUM);
    152155    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");
    157160        if (!rc) {
    158161            diag("pmConfigFileRead() was unsuccessful (from generateSimpleFPA())");
    159162        }
    160163    }
     164    fpa->hdu->blankPHU = true;
    161165
    162166    psArrayRealloc(fpa->chips, NUM_CHIPS);
    163167    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    }
    169170    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 
    175171    return(fpa);
    176172}
    177173
    178 // XXX: This should only be necessary until the psFree() functions for
    179 // FPA/chip/cell/readout correctly free all child chips/cells/readouts
    180 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 }
    202174
    203175psS32 main(psS32 argc, char* argv[])
     
    206178    psLogSetLevel(PS_LOG_INFO);
    207179    psTraceSetLevel("err", ERR_TRACE_LEVEL);
    208     plan_tests(137);
     180    plan_tests(174);
     181
    209182
    210183    // ----------------------------------------------------------------------
    211184    // 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");
    217189        ok(tmpView->nRows == 32, "pmFPAviewAlloc() set ->nRows properly");
    218190        psFree(tmpView);
     
    228200        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
    229201    }
     202
    230203
    231204    // pmFPAViewReset() tests: acceptable input
     
    340313        ok(NULL == pmFPAviewThisChip(NULL, fpa), "pmFPAviewThisChip(NULL, fpa) returned NULL");
    341314
    342         myFreeFPA(fpa);
     315        psFree(fpa);
    343316        psFree(camera);
    344317        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     
    366339        ok(NULL == pmFPAviewThisChip(tmpView, fpa), "pmFPAviewThisChip(pmFPAView, fpa) returned NULL view input");
    367340        fpa->chips = chips;
    368         myFreeFPA(fpa);
     341        psFree(fpa);
    369342        psFree(camera);
    370343        psFree(tmpView);
     
    403376        }
    404377        ok(!errorFlag, "pmFPAviewThisChip() returned the correct pmChip for all tests");
    405         myFreeFPA(fpa);
     378        psFree(fpa);
    406379        psFree(camera);
    407380        psFree(tmpView);
     
    425398        ok(NULL == pmFPAviewNextChip(NULL, fpa, 0), "pmFPAviewNextChip(NULL, fpa, 0) returned NULL");
    426399
    427         myFreeFPA(fpa);
     400        psFree(fpa);
    428401        psFree(camera);
    429402        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     
    456429        // XXX: Source code is wrong: must guard against input tmpView->chip = -1
    457430        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");
    459432
    460433        // Test with tmpView->chip too high
     
    486459        ok(!errorFlag, "pmFPAviewNextChip() returned the correct pmChip for all tests (step = 1)");
    487460
    488         myFreeFPA(fpa);
     461        psFree(fpa);
    489462        psFree(camera);
    490463        psFree(tmpView);
     
    506479        ok(NULL == pmFPAviewThisCell(NULL, fpa), "pmFPAviewThisCell(NULL, fpa) returned NULL");
    507480
    508         myFreeFPA(fpa);
     481        psFree(fpa);
    509482        psFree(camera);
    510483        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     
    523496
    524497    // pmFPAviewThisCell() tests: NULL fpa->chips input
    525     // XXX: Skipping because the source code does not guard against this
    526     if (0) {
     498    {
    527499        psMemId id = psMemGetId();
    528500        psMetadata *camera = psMetadataAlloc();
     
    533505        ok(NULL == pmFPAviewThisCell(tmpView, fpa), "pmFPAviewThisCell(pmFPAView, fpa) returned NULL view input");
    534506        fpa->chips = chips;
    535         myFreeFPA(fpa);
     507        psFree(fpa);
    536508        psFree(camera);
    537509        psFree(tmpView);
     
    575547        }
    576548        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    }
    583554
    584555
     
    597568        ok(NULL == pmFPAviewNextCell(NULL, fpa, 0), "pmFPAviewNextCell(NULL, fpa, 0) returned NULL");
    598569
    599         myFreeFPA(fpa);
     570        psFree(fpa);
    600571        psFree(camera);
    601572        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     
    667638        ok(!errorFlag, "pmFPAviewNextCell() returned the correct pmCell for all tests (step = 1)");
    668639
    669         myFreeFPA(fpa);
     640        psFree(fpa);
    670641        psFree(camera);
    671642        psFree(tmpView);
     
    688659        ok(NULL == pmFPAviewThisReadout(NULL, fpa), "pmFPAviewThisReadout(NULL, fpa) returned NULL");
    689660
    690         myFreeFPA(fpa);
     661        psFree(fpa);
    691662        psFree(camera);
    692663        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     
    705676
    706677    // pmFPAviewThisReadout() tests: NULL fpa->chips input
    707     // XXX: Skipping because the source code does not guard against this
    708     if (0) {
     678    {
    709679        psMemId id = psMemGetId();
    710680        psMetadata *camera = psMetadataAlloc();
     
    715685        ok(NULL == pmFPAviewThisReadout(tmpView, fpa), "pmFPAviewThisReadout(pmFPAView, fpa) returned NULL view input");
    716686        fpa->chips = chips;
    717         myFreeFPA(fpa);
     687        psFree(fpa);
    718688        psFree(camera);
    719689        psFree(tmpView);
     
    761731        ok(!errorFlag, "pmFPAviewThisReadout() returned the correct pmCell for all tests");
    762732
    763         myFreeFPA(fpa);
     733        psFree(fpa);
    764734        psFree(camera);
    765735        psFree(tmpView);
     
    782752        ok(NULL == pmFPAviewNextReadout(NULL, fpa, 0), "pmFPAviewNextReadout(NULL, fpa, 0) returned NULL");
    783753
    784         myFreeFPA(fpa);
     754        psFree(fpa);
    785755        psFree(camera);
    786756        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     
    857827        ok(!errorFlag, "pmFPAviewNextReadout() returned the correct pmCell for all tests (step = 1)");
    858828
    859         myFreeFPA(fpa);
     829        psFree(fpa);
    860830        psFree(camera);
    861831        psFree(tmpView);
     
    877847        ok(cell != NULL, "Allocated a pmCell successfully");
    878848        ok(NULL == pmFPAviewThisHDU(NULL, fpa), "pmFPAviewThisHDU(NULL, fpa) returned NULL");
    879         myFreeFPA(fpa);
     849        psFree(fpa);
    880850        psFree(camera);
    881851        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     
    893863
    894864
    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 
    948865    // pmFPAviewThisHDU() tests: acceptable input
    949     // pmHDU *pmFPAviewThisHDU(const pmFPAview *view, const pmFPA *fpa)
    950866    {
    951867        psMemId id = psMemGetId();
     
    963879        ok(hdu, "pmFPAviewThisHDU() returned non-NULL with tmpView->chip = -1");
    964880        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
    968883        tmpView->cell = -1;
    969884        hdu = pmFPAviewThisHDU(tmpView, fpa);
    970885        ok(hdu, "pmFPAviewThisHDU() returned non-NULL with tmpView->cell = -1");
    971886        ok(hdu == pmHDUFromChip(pmFPAviewThisChip(tmpView, fpa)), "pmFPAviewThisHDU() returned the correct HDU");
    972         tmpView->cell = 16;
     887        tmpView->cell = NUM_CELLS/2;
    973888
    974889        tmpView->readout = -1;
     
    976891        ok(hdu, "pmFPAviewThisHDU() returned non-NULL with tmpView->readout = -1");
    977892        ok(hdu == pmHDUFromCell(pmFPAviewThisCell(tmpView, fpa)), "pmFPAviewThisHDU() returned the correct HDU");
    978         tmpView->readout = 16;
     893        tmpView->readout = NUM_READOUTS/2;
    979894
    980895        hdu = pmFPAviewThisHDU(tmpView, fpa);
     
    982897        ok(hdu == pmHDUFromReadout(pmFPAviewThisReadout(tmpView, fpa)), "pmFPAviewThisHDU() returned the correct HDU");
    983898
    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);
    9871019        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
    9881020    }
    9891021}
     1022
Note: See TracChangeset for help on using the changeset viewer.