IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8694


Ignore:
Timestamp:
Aug 29, 2006, 2:54:51 PM (20 years ago)
Author:
drobbin
Message:

edited psMetadataCopy for errorhandling of out param. Edited tests for coverage. Added array to execute_tap.

Location:
trunk/psLib
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/types/psMetadata.c

    r8668 r8694  
    1212 *  @author Ross Harman, MHPCC
    1313 *
    14  *  @version $Revision: 1.130 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2006-08-29 20:23:54 $
     14 *  @version $Revision: 1.131 $ $Name: not supported by cvs2svn $
     15 *  @date $Date: 2006-08-30 00:54:51 $
    1616 *
    1717 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    376376            psVector *vecCopy = psVectorCopy(NULL, (psVector*)(in->data.V),
    377377                                             ((psVector*)(in->data.V))->type.type);
    378             //Following condition was removed b/c it doesn't seem possible for a
    379             //non-NULL vector to be returned for non-NULL input
    380             //            if (vecCopy == NULL) {
    381             //                psError(PS_ERR_BAD_PARAMETER_NULL, false,
    382             //                        "Error copying vector.  Vector skipped.\n");
    383             //            } else {
    384378            newItem = psMetadataItemAlloc(in->name, PS_DATA_VECTOR, in->comment, vecCopy);
    385379            psFree(vecCopy);    // Drop reference
    386             //            }
    387380            break;
    388381        }
     
    425418                           const psMetadata *in)
    426419{
    427     PS_ASSERT_PTR_NON_NULL(in,NULL);
    428     PS_ASSERT_PTR_NON_NULL(in->list,NULL);
     420    //    PS_ASSERT_PTR_NON_NULL(in,NULL);
     421    if (in == NULL) {
     422        if (out != NULL) {
     423            psFree(out);
     424            out = NULL;
     425        }
     426        return out;
     427    }
     428    //    PS_ASSERT_PTR_NON_NULL(in->list,NULL);
     429    if (in->list == NULL) {
     430        if (out != NULL) {
     431            psFree(out);
     432            out = NULL;
     433        }
     434        return out;
     435    }
     436
    429437    if (out ==  NULL) {
    430438        out = psMetadataAlloc();
     
    447455            psErrorStackPrint(stderr, "Error copying %s (%s) in the metadata\n", inItem->name,
    448456                              inItem->comment);
     457            psFree(newItem);
     458            psFree(iter);
     459            psFree(out);
     460            out = NULL;
     461            return out;
    449462        }
    450463        psFree(newItem);                // Drop reference
  • trunk/psLib/test/types/execute_tap

    r8414 r8694  
    11make tests
     2./tap_psArray_all
    23./tap_psListIterator
    34./tap_psMetadataConfigParse
  • trunk/psLib/test/types/tap_psMetadata_copying.c

    r8668 r8694  
    1919int main(void)
    2020{
    21     plan_tests(32);
     21    plan_tests(35);
    2222
    2323    diag("psMetadataCopy and psMetadataItemCopy tests");
     
    4444            "psMetadataCopy:  return NULL for NULL input metadata.");
    4545    }
     46    //Return NULL for NULL psMetadata input (with allocated out)
     47    {
     48        out = psMetadataAlloc();
     49        out = psMetadataCopy(out, NULL);
     50        ok( out == NULL,
     51            "psMetadataCopy:  return NULL for NULL input metadata.");
     52    }
     53    //Return NULL for attempt to copy item of unsupported data type
     54    {
     55        in = psMetadataAlloc();
     56        psMetadataAddS32(in, PS_LIST_HEAD, "S32", 0, "", 1);
     57        psMetadataItem *notype = psMetadataGet(in, PS_LIST_HEAD);
     58        notype->type = PS_DATA_METADATA_MULTI + 1000;
     59        out = psMetadataCopy(out, in);
     60        ok( out == NULL,
     61            "psMetadataCopy:  return NULL for metadata with item of bad type.");
     62        notype->type = PS_DATA_S32;
     63        psFree(in);
     64        in = NULL;
     65        if (out != NULL)
     66        {
     67            psFree(out);
     68            out = NULL;
     69        }
     70    }
     71
    4672    //Return NULL for NULL psMetadata input->list
    4773    in = psMetadataAlloc();
     
    5278    {
    5379        ok( psMetadataCopy(out, in) == NULL,
     80            "psMetadataCopy:  return NULL for NULL metadata input->list.");
     81    }
     82    //Return NULL for NULL psMetadata input->list (with allocated out)
     83    {
     84        out = psMetadataAlloc();
     85        out = psMetadataCopy(out, in);
     86        ok( out == NULL,
    5487            "psMetadataCopy:  return NULL for NULL metadata input->list.");
    5588    }
     
    108141    {
    109142        ok( psMetadataItemCopy(NULL) == NULL,
    110             "psMetadataItemCopy:  return NULL for NULL input metadataItem.");
     143            "psMetadataItemCopy:   return NULL for NULL input metadataItem.");
    111144    }
    112145
  • trunk/psLib/test/types/tap_psMetadata_creating.c

    r8668 r8694  
    2121int main(void)
    2222{
    23     plan_tests(34);
     23    plan_tests(35);
    2424
    2525    diag("psMetadata & psMetadataItem Creation Functions");
     
    6060           && !strncmp(itemStr->data.V, "itemStr", 10)
    6161           && !strncmp(itemStr->comment, "", 2),
    62            "psMetadataItemAllocStr:  create valid string item.");
     62           "psMetadataItemAllocStr:    create valid string item.");
    6363        skip_end();
    6464    }
     
    7171           && abs(itemF32->data.F32 - 6.66) < FLT_EPSILON
    7272           && !strncmp(itemF32->comment, "", 2),
    73            "psMetadataItemAllocF32:  create valid F32 item.");
     73           "psMetadataItemAllocF32:    create valid F32 item.");
    7474        skip_end();
    7575    }
     
    8282           && abs(itemF64->data.F64 - 0.666) < DBL_EPSILON
    8383           && !strncmp(itemF64->comment, "", 2),
    84            "psMetadataItemAllocF64:  create valid F64 item.");
     84           "psMetadataItemAllocF64:    create valid F64 item.");
    8585        skip_end();
    8686    }
     
    9393           && itemS8->data.S8 == 0
    9494           && !strncmp(itemS8->comment, "", 2),
    95            "psMetadataItemAllocS8:  create valid S8 item.");
     95           "psMetadataItemAllocS8:     create valid S8 item.");
    9696        skip_end();
    9797    }
     
    104104           && itemS16->data.S16 == 1
    105105           && !strncmp(itemS16->comment, "", 2),
    106            "psMetadataItemAllocS16:  create valid S16 item.");
     106           "psMetadataItemAllocS16:    create valid S16 item.");
    107107        skip_end();
    108108    }
     
    115115           && itemS32->data.S32 == 2
    116116           && !strncmp(itemS32->comment, "", 2),
    117            "psMetadataItemAllocS32:  create valid S32 item.");
     117           "psMetadataItemAllocS32:    create valid S32 item.");
    118118        skip_end();
    119119    }
     
    126126           && itemS64->data.S64 == 3
    127127           && !strncmp(itemS64->comment, "", 2),
    128            "psMetadataItemAllocS64:  create valid S64 item.");
     128           "psMetadataItemAllocS64:    create valid S64 item.");
    129129        skip_end();
    130130    }
     
    137137           && itemU8->data.U8 == 0
    138138           && !strncmp(itemU8->comment, "", 2),
    139            "psMetadataItemAllocU8:  create valid U8 item.");
     139           "psMetadataItemAllocU8:     create valid U8 item.");
    140140        skip_end();
    141141    }
     
    148148           && itemU16->data.U16 == 1
    149149           && !strncmp(itemU16->comment, "", 2),
    150            "psMetadataItemAllocU16:  create valid U16 item.");
     150           "psMetadataItemAllocU16:    create valid U16 item.");
    151151        skip_end();
    152152    }
     
    159159           && itemU32->data.U32 == 2
    160160           && !strncmp(itemU32->comment, "", 2),
    161            "psMetadataItemAllocU32:  create valid U32 item.");
     161           "psMetadataItemAllocU32:   create valid U32 item.");
    162162        skip_end();
    163163    }
     
    170170           && itemU64->data.U64 == 3
    171171           && !strncmp(itemU64->comment, "", 2),
    172            "psMetadataItemAllocU64:  create valid U64 item.");
     172           "psMetadataItemAllocU64:   create valid U64 item.");
    173173        skip_end();
    174174    }
     
    199199            && abs(r-1.1) < FLT_EPSILON && abs(d-2.1) < FLT_EPSILON
    200200            && !strncmp(itemPtr->comment, "", 2),
    201             "psMetadataItemAllocPtr:  create valid ptr (psSphere) item.");
     201            "psMetadataItemAllocPtr:   create valid ptr (psSphere) item.");
    202202        skip_end();
    203203        psFree(s);
     
    211211        itemNULL = psMetadataItemAlloc("itemNULL", PS_DATA_LINE, NULL, line);
    212212        ok( itemNULL == NULL,
    213             "psMetadataItemAlloc:  return NULL for unsupported type.");
     213            "psMetadataItemAlloc:      return NULL for unsupported type.");
    214214        psFree(line);
    215215    }
     
    224224            && itemAllocV->data.S32 == 4
    225225            && !strncmp(itemAllocV->comment, "", 2),
    226             "psMetadataItemAlloc:  create valid S32 item.");
     226            "psMetadataItemAlloc:      create valid S32 item.");
    227227        ok ( psMemCheckMetadataItem(itemAllocV),
    228              "psMemCheckMetadataItem:  return true for valid MetadataItem.");
     228             "psMemCheckMetadataItem:   return true for valid MetadataItem.");
    229229        skip_end();
    230230        psFree(itemAllocV);
     
    235235        int j = 2;
    236236        ok( !psMemCheckMetadataItem(&j),
    237             "psMemCheckMetadataItem:  return false for non-MetadataItem input.");
     237            "psMemCheckMetadataItem:   return false for non-MetadataItem input.");
    238238    }
    239239
     
    259259void testMDAlloc_AddItem(void)
    260260{
    261     diag("\n  >>>Test 2:  psMetadataAlloc & Free Fxns");
     261    diag("\n  >>>Test 2:  psMetadataAlloc, psMemCheckMetadata, & psMetadataAdd Fxns");
    262262    psMetadata *md = NULL;
    263263    //Attempt to free a null metadata
     
    276276            "psMemCheckMetadata:  return false for non-Metadata input.");
    277277    }
     278    //Return false for attempt to add a psMetadataItem with no name.
     279    {
     280        ok( !psMetadataAdd(md1, PS_LIST_HEAD, NULL, PS_DATA_S32, "", 1),
     281            "psMetadataAdd:       return false for adding item with no name.");
     282    }
     283    psFree(md1);
     284    md1 = psMetadataAlloc();
    278285
    279286    diag("\n  >>>Test 3:  psMetadataAddItem");
     
    282289    {
    283290        ok( !psMetadataAddItem(NULL, item, PS_LIST_HEAD, PS_META_DEFAULT),
    284             "psMetadataAddItem:  return false for NULL metadata input.");
     291            "psMetadataAddItem:   return false for NULL metadata input.");
    285292    }
    286293    //Return false for metadata with NULL hash
     
    289296    {
    290297        ok( !psMetadataAddItem(md1, item, PS_LIST_HEAD, PS_META_DEFAULT),
    291             "psMetadataAddItem:  return false for metadata with no hash.");
     298            "psMetadataAddItem:   return false for metadata with no hash.");
    292299    }
    293300    psFree(md1);
     
    297304    {
    298305        ok( !psMetadataAddItem(md2, item, PS_LIST_HEAD, PS_META_DEFAULT),
    299             "psMetadataAddItem:  return false for metadata with no list.");
     306            "psMetadataAddItem:   return false for metadata with no list.");
    300307    }
    301308    psFree(md2);
     
    303310    {
    304311        ok( !psMetadataAddItem(md, NULL, PS_LIST_HEAD, PS_META_DEFAULT),
    305             "psMetadataAddItem:  return false for NULL item input.");
     312            "psMetadataAddItem:   return false for NULL item input.");
    306313    }
    307314    //Return false for psMetadataItem with NULL name
     
    310317    {
    311318        ok( !psMetadataAddItem(md, item, PS_LIST_HEAD, PS_META_DEFAULT),
    312             "psMetadataAddItem:  return false for item with no name.");
     319            "psMetadataAddItem:   return false for item with no name.");
    313320    }
    314321    psFree(item);
     
    324331    {
    325332        ok( psMetadataAddItem(md, item2, PS_LIST_TAIL, PS_META_DUPLICATE_OK),
    326             "psMetadataAddItem:  return true for addition of PS_DATA_METADATA_MULTI.");
     333            "psMetadataAddItem:   return true for addition of PS_DATA_METADATA_MULTI.");
    327334    }
    328335    //    printf("\n  >>Memory leakage coming from above test for METADATA_MULTI\n\n");
     
    336343    {
    337344        ok( psMetadataAddItem(md, item2, PS_LIST_TAIL, PS_META_DUPLICATE_OK),
    338             "psMetadataAddItem:  return true for PS_META_DUPLICATE_OK flag.");
     345            "psMetadataAddItem:   return true for PS_META_DUPLICATE_OK flag.");
    339346    }
    340347    //FLAG = PS_META_REPLACE
    341348    {
    342349        ok( psMetadataAddItem(md, item2, PS_LIST_TAIL, PS_META_REPLACE),
    343             "psMetadataAddItem:  return true for PS_META_REPLACE flag.");
     350            "psMetadataAddItem:   return true for PS_META_REPLACE flag.");
    344351    }
    345352    //FLAG = PS_META_NO_REPLACE
    346353    {
    347354        ok( psMetadataAddItem(md, item2, PS_LIST_TAIL, PS_META_NO_REPLACE),
    348             "psMetadataAddItem:  return true for PS_META_NO_REPLACE flag.");
     355            "psMetadataAddItem:   return true for PS_META_NO_REPLACE flag.");
    349356    }
    350357    //FLAG = PS_META_DEFAULT
    351358    {
    352359        ok( psMetadataAddItem(md, item2, PS_LIST_TAIL, PS_META_DEFAULT),
    353             "psMetadataAddItem:  return false for PS_META_DEFAULT flag.");
     360            "psMetadataAddItem:   return false for PS_META_DEFAULT flag.");
    354361    }
    355362
     
    359366    {
    360367        ok( psMetadataAddItem(md, item2, PS_LIST_TAIL, PS_META_DUPLICATE_OK),
    361             "psMetadataAddItem:  return true for new item.");
     368            "psMetadataAddItem:   return true for new item.");
    362369    }
    363370
Note: See TracChangeset for help on using the changeset viewer.