IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 2, 2008, 10:49:57 AM (19 years ago)
Author:
gusciora
Message:

Modified file reads to look for dataFiles and then ../dataFiles.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/test/concepts/tap_pmConceptsAverage.c

    r15650 r15986  
    8282    cell->hdu = pmHDUAlloc("cellExtName");
    8383    for (int i = 0 ; i < NUM_READOUTS ; i++) {
    84         cell->readouts->data[i] = generateSimpleReadout(cell);
     84        cell->readouts->data[i] = psMemDecrRefCounter((psPtr) generateSimpleReadout(cell));
    8585    }
    8686
     
    129129    psArrayRealloc(chip->cells, NUM_CELLS);
    130130    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 
    136 
     131        chip->cells->data[i] = psMemDecrRefCounter((psPtr) generateSimpleCell(chip));
     132    }
    137133    return(chip);
    138134}
     
    153149    psArrayRealloc(fpa->chips, NUM_CHIPS);
    154150    for (int i = 0 ; i < NUM_CHIPS ; i++) {
    155         fpa->chips->data[i] = generateSimpleChip(fpa);
    156     }
    157 
    158     // XXX: Eventually, when you finish the pmConcepts tests, add full concept
    159     // reading code from wherever.
     151        fpa->chips->data[i] = psMemDecrRefCounter((psPtr) generateSimpleChip(fpa));
     152    }
    160153    pmConceptsBlankFPA(fpa);
    161 //    bool mdok;
    162 //    psMetadata *fileData = psMetadataLookupMetadata(&mdok, fpa->hdu->format, "FILE");
    163 //    char *fpaNameHdr = psMetadataLookupStr(&mdok, fileData, "FPA.NAME");
    164 //    psMetadataAddStr(fpa->concepts, PS_LIST_TAIL, "FPA.NAME", PS_META_REPLACE, NULL, fpaNameHdr);
    165 
    166154    return(fpa);
    167155}
    168 
    169 // XXX: This should only be necessary until the psFree() functions for
    170 // FPA/chip/cell/readout correctly free all child chips/cells/readouts
    171 void myFreeCell(pmCell *cell)
    172 {
    173     for (int k = 0 ; k < cell->readouts->n ; k++) {
    174         psFree(cell->readouts->data[k]);
    175     }
    176     psFree(cell);
    177 }
    178 
    179 void myFreeChip(pmChip *chip) {
    180     for (int j = 0 ; j < chip->cells->n ; j++) {
    181         myFreeCell(chip->cells->data[j]);
    182     }
    183     psFree(chip);
    184 }
    185 
    186 void myFreeFPA(pmFPA *fpa)
    187 {
    188     for (int i = 0 ; i < fpa->chips->n ; i++) {
    189         myFreeChip(fpa->chips->data[i]);
    190     }
    191     psFree(fpa);
    192 }
    193 
    194156
    195157
     
    219181
    220182        for (int fpaID = 0 ; fpaID < NUM_FPAS ; fpaID++) {
    221             myFreeFPA(sourceFPA[fpaID]);
     183            psFree(sourceFPA[fpaID]);
    222184        }
    223185        psFree(sources);
    224         myFreeFPA(targetFPA);
     186        psFree(targetFPA);
    225187        psFree(camera);
    226188        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     
    245207
    246208        for (int fpaID = 0 ; fpaID < NUM_FPAS ; fpaID++) {
    247             myFreeFPA(sourceFPA[fpaID]);
     209            psFree(sourceFPA[fpaID]);
    248210        }
    249211        psFree(sources);
    250         myFreeFPA(targetFPA);
     212        psFree(targetFPA);
    251213        psFree(camera);
    252214        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     
    261223        pmFPA *targetFPA = generateSimpleFPA(camera);
    262224        pmFPA *sourceFPA[NUM_FPAS];
     225        psMetadata *cameras[NUM_FPAS];
    263226
    264227        // Ensure that the FPA.TIME average is computed correctly
     
    266229        psF64 actualTime = 0.0;
    267230        for (int fpaID = 0 ; fpaID < NUM_FPAS ; fpaID++) {
    268             sourceFPA[fpaID] = generateSimpleFPA(camera);
     231            cameras[fpaID] = psMetadataAlloc();
     232            sourceFPA[fpaID] = generateSimpleFPA(cameras[fpaID]);
    269233            psTime *fpaTime = psMetadataLookupPtr(NULL, (sourceFPA[fpaID])->concepts, "FPA.TIME");
    270234            // Add a small value to the psTime so that we can test/ensure that pmConceptsAverageFPAs()
     
    279243            }
    280244        }
    281         ok(pmConceptsAverageFPAs(targetFPA, sources), "pmConceptsAverage(NULL, sources) returned FALSE");
     245        // XXX: The memory leak occurs during the following single call
     246        ok(pmConceptsAverageFPAs(targetFPA, sources), "pmConceptsAverage(targetFPA, sources) returned TRUE");
    282247        actualTime/= (float) NUM_FPAS;
    283248        psTime *fpaTime = psMetadataLookupPtr(NULL, targetFPA->concepts, "FPA.TIME");
    284249        ok(abs(actualTime - psTimeToMJD(fpaTime)) < 1e-4, "pmConceptsAverageFPAs() calculated the average time correctly");
    285250
    286 
    287         // Replace the FPA.TIMESYS with a non-conforming value, verify that pmConceptsAverageFPAs() returnes an error       
     251        // Replace the FPA.TIMESYS with a non-conforming value, verify that pmConceptsAverageFPAs() returns an error
     252
    288253        psTimeType timeSys = psMetadataLookupS32(NULL, sourceFPA[0]->concepts, "FPA.TIMESYS");
    289254        psMetadataAddS32(sourceFPA[NUM_FPAS-1]->concepts, PS_LIST_HEAD, "FPA.TIMESYS", PS_META_REPLACE, NULL, timeSys+10);
     
    302267        // Free data, check for memory leaks
    303268        for (int fpaID = 0 ; fpaID < NUM_FPAS ; fpaID++) {
    304             myFreeFPA(sourceFPA[fpaID]);
     269            psFree(sourceFPA[fpaID]);
     270            psFree(cameras[fpaID]);
    305271        }
    306272        psFree(sources);
    307         myFreeFPA(targetFPA);
     273//        psFree(filter);
     274        psFree(targetFPA);
    308275        psFree(camera);
    309276        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
    310277    }
    311 
    312 
    313278
    314279    // ----------------------------------------------------------------------
     
    461426        psMetadataAddS32(srcCell->concepts, PS_LIST_HEAD, "CELL.Y0", PS_META_REPLACE, NULL, tmpS32);
    462427
    463         myFreeFPA(tgtFPA);
    464         myFreeFPA(srcFPA);
     428        psFree(tgtFPA);
     429        psFree(srcFPA);
    465430        psFree(tgtCamera);
    466431        psFree(srcCamera);
Note: See TracChangeset for help on using the changeset viewer.