IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8414


Ignore:
Timestamp:
Aug 17, 2006, 2:21:59 PM (20 years ago)
Author:
drobbin
Message:

Edited format of ItemParse and printing tests. Updated accordingly. Added tests for creating metadata (allocs, adds, free's, etc.) and a new test for manipulating metadata (lookups, removes, etc.) (<-not yet done but in the makefile so including it). execute_tap is a simple shell script to run all of the tap tests in the types directory. Future expansion is anticipated.

Location:
trunk/psLib
Files:
3 added
4 edited

Legend:

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

    r8374 r8414  
    1212 *  @author Ross Harman, MHPCC
    1313 *
    14  *  @version $Revision: 1.124 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2006-08-16 03:28:13 $
     14 *  @version $Revision: 1.125 $ $Name: not supported by cvs2svn $
     15 *  @date $Date: 2006-08-18 00:21:59 $
    1616 *
    1717 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    102102static void metadataItemFree(psMetadataItem* metadataItem)
    103103{
    104     psDataType type;
    105 
    106     type = metadataItem->type;
    107 
    108104    if (metadataItem == NULL) {
    109105        return;
    110106    }
     107    psDataType type;
     108
     109    type = metadataItem->type;
     110
    111111
    112112    psMemDecrRefCounter(metadataItem->name);
  • trunk/psLib/test/types/Makefile.am

    r8374 r8414  
    3333        tap_psMetadataItemParse \
    3434        tap_psMetadata_printing \
    35         tap_psMetadata_copying
     35        tap_psMetadata_copying \
     36        tap_psMetadata_creating \
     37        tap_psMetadata_manip
    3638
    3739
     
    7779tap_psMetadata_copying_CPPFLAGS   = $(AM_CPPFLAGS) -I$(top_srcdir)/test/tap/src
    7880tap_psMetadata_copying_LDFLAGS    = $(AM_LDFLAGS) $(top_builddir)/test/tap/src/libtap.la
     81
     82tap_psMetadata_creating_CPPFLAGS   = $(AM_CPPFLAGS) -I$(top_srcdir)/test/tap/src
     83tap_psMetadata_creating_LDFLAGS    = $(AM_LDFLAGS) $(top_builddir)/test/tap/src/libtap.la
     84
     85tap_psMetadata_manip_CPPFLAGS   = $(AM_CPPFLAGS) -I$(top_srcdir)/test/tap/src
     86tap_psMetadata_manip_LDFLAGS    = $(AM_LDFLAGS) $(top_builddir)/test/tap/src/libtap.la
    7987
    8088check_DATA = \
  • trunk/psLib/test/types/tap_psMetadataItemParse.c

    r8312 r8414  
    7373
    7474        //Return 1.666 for string with "1.666"
    75         ok ( psMetadataItemParseF32(itemString2) == 1.666,
     75        ok ( abs(psMetadataItemParseF32(itemString2)-1.666) < FLT_EPSILON,
    7676             "return 1.666 in F32 for string-item with value '1.666'." );
    7777
     
    112112
    113113        //Return 1.666 for string with "1.666"
    114         ok ( psMetadataItemParseF64(itemString2) == 1.666,
     114        ok ( abs(psMetadataItemParseF64(itemString2)-1.666) < DBL_EPSILON,
    115115             "return 1.666 in F64 for string-item with value '1.666'." );
    116116
     
    151151
    152152        //Return 2 for string with "1.666"
    153         ok ( psMetadataItemParseS8(itemString2) == 2,
    154              "return 2 in S8 for string-item with value '1.666'." );
     153        ok ( psMetadataItemParseS8(itemString2) == 1,
     154             "return 1 in S8 for string-item with value '1.666'." );
    155155
    156156        //Return 0 for F32 value 0.0
     
    158158             "return 0 in S8 for F32-item with value '0.0'." );
    159159        //Return 1 for F64 value 0.5
    160         ok ( psMetadataItemParseS8(itemF64) == 1,
    161              "return 1 in S8 for F64-item with value '0.5'." );
     160        ok ( psMetadataItemParseS8(itemF64) == 0,
     161             "return 0 in S8 for F64-item with value '0.5'." );
    162162        //Return 1 for S8 value 1
    163163        ok ( psMetadataItemParseS8(itemS8) == 1,
     
    190190
    191191        //Return 2 for string with "1.666"
    192         ok ( psMetadataItemParseS16(itemString2) == 2,
    193              "return 2 in S16 for string-item with value '1.666'." );
     192        ok ( psMetadataItemParseS16(itemString2) == 1,
     193             "return 1 in S16 for string-item with value '1.666'." );
    194194
    195195        //Return 0 for F32 value 0.0
     
    197197             "return 0 in S16 for F32-item with value '0.0'." );
    198198        //Return 1 for F64 value 0.5
    199         ok ( psMetadataItemParseS16(itemF64) == 1,
    200              "return 1 in S16 for F64-item with value '0.5'." );
     199        ok ( psMetadataItemParseS16(itemF64) == 0,
     200             "return 0 in S16 for F64-item with value '0.5'." );
    201201        //Return 1 for S8 value 1
    202202        ok ( psMetadataItemParseS16(itemS8) == 1,
     
    229229
    230230        //Return 2 for string with "1.666"
    231         ok ( psMetadataItemParseS32(itemString2) == 2,
    232              "return 2 in S32 for string-item with value '1.666'." );
     231        ok ( psMetadataItemParseS32(itemString2) == 1,
     232             "return 1 in S32 for string-item with value '1.666'." );
    233233
    234234        //Return 0 for F32 value 0.0
     
    236236             "return 0 in S32 for F32-item with value '0.0'." );
    237237        //Return 1 for F64 value 0.5
    238         ok ( psMetadataItemParseS32(itemF64) == 1,
    239              "return 1 in S32 for F64-item with value '0.5'." );
     238        ok ( psMetadataItemParseS32(itemF64) == 0,
     239             "return 0 in S32 for F64-item with value '0.5'." );
    240240        //Return 1 for S8 value 1
    241241        ok ( psMetadataItemParseS32(itemS8) == 1,
     
    268268
    269269        //Return 2 for string with "1.666"
    270         ok ( psMetadataItemParseU8(itemString2) == 2,
    271              "return 2 in U8 for string-item with value '1.666'." );
     270        ok ( psMetadataItemParseU8(itemString2) == 1,
     271             "return 1 in U8 for string-item with value '1.666'." );
    272272
    273273        //Return 0 for F32 value 0.0
     
    275275             "return 0 in U8 for F32-item with value '0.0'." );
    276276        //Return 1 for F64 value 0.5
    277         ok ( psMetadataItemParseU8(itemF64) == 1,
    278              "return 1 in U8 for F64-item with value '0.5'." );
     277        ok ( psMetadataItemParseU8(itemF64) == 0,
     278             "return 0 in U8 for F64-item with value '0.5'." );
    279279        //Return 1 for S8 value 1
    280280        ok ( psMetadataItemParseU8(itemS8) == 1,
     
    307307
    308308        //Return 2 for string with "1.666"
    309         ok ( psMetadataItemParseU16(itemString2) == 2,
    310              "return 2 in U16 for string-item with value '1.666'." );
     309        ok ( psMetadataItemParseU16(itemString2) == 1,
     310             "return 1 in U16 for string-item with value '1.666'." );
    311311
    312312        //Return 0 for F32 value 0.0
     
    314314             "return 0 in U16 for F32-item with value '0.0'." );
    315315        //Return 1 for F64 value 0.5
    316         ok ( psMetadataItemParseU16(itemF64) == 1,
    317              "return 1 in U16 for F64-item with value '0.5'." );
     316        ok ( psMetadataItemParseU16(itemF64) == 0,
     317             "return 0 in U16 for F64-item with value '0.5'." );
    318318        //Return 1 for S8 value 1
    319319        ok ( psMetadataItemParseU16(itemS8) == 1,
     
    346346
    347347        //Return 2 for string with "1.666"
    348         ok ( psMetadataItemParseU32(itemString2) == 2,
    349              "return 2 in U32 for string-item with value '1.666'." );
     348        ok ( psMetadataItemParseU32(itemString2) == 1,
     349             "return 1 in U32 for string-item with value '1.666'." );
    350350
    351351        //Return 0 for F32 value 0.0
     
    353353             "return 0 in U32 for F32-item with value '0.0'." );
    354354        //Return 1 for F64 value 0.5
    355         ok ( psMetadataItemParseU32(itemF64) == 1,
    356              "return 1 in U32 for F64-item with value '0.5'." );
     355        ok ( psMetadataItemParseU32(itemF64) == 0,
     356             "return 0 in U32 for F64-item with value '0.5'." );
    357357        //Return 1 for S8 value 1
    358358        ok ( psMetadataItemParseU32(itemS8) == 1,
  • trunk/psLib/test/types/tap_psMetadata_printing.c

    r8314 r8414  
    44
    55static psMetadata *setupMeta(void);
     6void testMetaPrint(void);
     7void testMetaItemPrint(void);
    68
    79int main(void)
    810{
    9     FILE *fd = fopen("psMetadataPrint.out", "w");
    10     FILE *fd_read = fopen("Makefile", "r");
    11     psMetadata *md = NULL;
    12     psMetadata *md2 = NULL;
    13     md = setupMeta();
    14     md2 = psMetadataAlloc();
    15     psSphere *sphere = psSphereAlloc();
    16     psMetadataAddPtr(md2, PS_LIST_HEAD, "ptr", PS_DATA_SPHERE, "", sphere);
    17     psMetadataAddUnknown(md2, PS_LIST_TAIL, "unknown", 0, "", sphere);
    18 
    1911    plan_tests(30);
    20     diag("psMetadataPrint and psMetadataItemPrint tests\n>>Test 1:  psMetadataPrint");
    21 
    22     //Return false for NULL psMetadata input
    23     {
    24         ok( !psMetadataPrint(NULL, NULL, 0),
    25             "psMetadataPrint:  return false for NULL psMetadata input.");
    26     }
    27     //Return false for read-only file descriptor
    28     {
    29         ok ( !psMetadataPrint(fd_read, md, 0),
    30              "psMetadataPrint:  return false for read-only file descriptor.");
    31     }
    32     fclose(fd_read);
    33     //Error and then return true for unprintable datatype (sphere) and DATA_UNKNOWN
    34     {
    35         ok ( psMetadataPrint(NULL, md2, 0),
    36              "psMetadataPrint:  return true for metadata with unknown datatype.");
    37     }
    38     psFree(md2);
    39 
    40     //Return false for unsupported vector type (C32)
    41     md2 = psMetadataAlloc();
    42     psVector *vector = psVectorAlloc(2, PS_TYPE_C32);
    43     psMetadataAddVector(md2, PS_LIST_HEAD, "name here", 0, "I vector", vector);
    44     {
    45         ok ( !psMetadataPrint(NULL, md2, 2),
    46              "psMetadataPrint:  return false for metadata with unknown vector-type.");
    47     }
    48     psFree(vector);
    49     psFree(md2);
    50 
    51     //Valid case where fd is NULL -> stdout
    52     md2 = psMetadataAlloc();
    53     psMetadataAddStr(md2, PS_LIST_HEAD,
    54                      "  >>Hello Wally", 0, "My name is Bubbles", "Pet Me");
    55     {
    56         ok ( psMetadataPrint(NULL, md2, 0),
    57              "psMetadataPrint:  return true for NULL file pointer.");
    58     }
    59     psFree(md2);
    60     //Valid case where fd is "psMetadataPrint.out"
    61     {
    62         ok ( psMetadataPrint(fd, md, 0),
    63              "psMetadataPrint:  return true for file='psMetadataPrint.out'.");
    64     }
    65     fclose(fd);
    66 
    67     printf("\n");
    68     diag(">>Test2:  psMetadataItemPrint");
    69     //bool psMetadataItemPrint(FILE * fd, const char *format, const psMetadataItem* item)
    70     fd = fopen("psMetadataItemPrint.out", "w");
    71     psMetadataItem *item1 = psMetadataItemAlloc("bool", PS_DATA_BOOL, "No Comment", true);
    72     psMetadataItem *item2 = psMetadataItemAlloc("f32", PS_DATA_F32, "No Comment", 0.66601);
    73     psMetadataItem *item3 = psMetadataItemAlloc("string", PS_DATA_STRING, "", "Can't touch this");
    74     psMetadataItem *item4 = psMetadataItemAlloc("U16", PS_DATA_U16, "", 1);
    75     psMetadataItem *item5 = psMetadataItemAlloc("string", PS_DATA_U8, "", "a");
    76 
    77     //Return false for NULL file-pointer
    78     {
    79         ok( !psMetadataItemPrint(NULL, "%s", item1),
    80             "psMetadataItemPrint:  return false for NULL FILE*.");
    81     }
    82     //Return false for NULL format paramter
    83     {
    84         ok( !psMetadataItemPrint(fd, NULL, item1),
    85             "psMetadataItemPrint:  return false for NULL format.");
    86     }
    87     //Return false for NULL metadataItem
    88     {
    89         ok( !psMetadataItemPrint(fd, "%s", NULL),
    90             "psMetadataItemPrint:  return false for NULL psMetadataItem.");
    91     }
    92     //Return false for incorrect format parameter
    93     {
    94         ok( !psMetadataItemPrint(fd, "sos \n", item1),
    95             "psMetadataItemPrint:  return false for incorrect format.");
    96     }
    97     //Return false for type that doesn't match format (ie, %s for f32 value)
    98     {
    99         ok( !psMetadataItemPrint(fd, "%s", item2),
    100             "psMetadataItemPrint:  return false for item that doesn't match format.");
    101     }
    102 
    103     //Return false for incorrect format parameter
    104     {
    105         ok( !psMetadataItemPrint(fd, "%z", item1),
    106             "psMetadataItemPrint:  return false for incorrect format.");
    107     }
    108 
    109 
    110     //Return true for format parameter containing additional modifiers (F32)
    111     {
    112         ok( psMetadataItemPrint(fd, "%.3f\n", item2),
    113             "psMetadataItemPrint:  return true for format with .3 modifier.");
    114     }
    115     //Return true for valid string input
    116     {
    117         ok( psMetadataItemPrint(fd, "%s\n", item3),
    118             "psMetadataItemPrint:  return true for valid string case w/s.");
    119     }
    120     //Return true for valid ptr input
    121     {
    122         ok( psMetadataItemPrint(fd, "%p\n", item3),
    123             "psMetadataItemPrint:  return true for valid ptr case w/p.");
    124     }
    125 
    126     //Return true for format = %d, type = int
    127     {
    128         ok( psMetadataItemPrint(fd, "%d\n", item4),
    129             "psMetadataItemPrint:  return true for valid case w/d.");
    130     }
    131     //Return true for format = %i, type = int
    132     {
    133         ok( psMetadataItemPrint(fd, "%i\n", item4),
    134             "psMetadataItemPrint:  return true for valid case w/i.");
    135     }
    136     //Return true for format = %c, type = int
    137     {
    138         ok( psMetadataItemPrint(fd, "%c\n", item5),
    139             "psMetadataItemPrint:  return true for valid case w/c.");
    140     }
    141     //Return true for format = %o, type = int
    142     {
    143         ok( psMetadataItemPrint(fd, "%o\n", item4),
    144             "psMetadataItemPrint:  return true for valid case w/d.");
    145     }
    146     //Return true for format = %u, type = int
    147     {
    148         ok( psMetadataItemPrint(fd, "%u\n", item4),
    149             "psMetadataItemPrint:  return true for valid case w/i.");
    150     }
    151     //Return true for format = %x, type = int
    152     {
    153         ok( psMetadataItemPrint(fd, "%x\n", item5),
    154             "psMetadataItemPrint:  return true for valid case w/c.");
    155     }
    156     //Return true for format = %X, type = int
    157     {
    158         ok( psMetadataItemPrint(fd, "%X\n", item5),
    159             "psMetadataItemPrint:  return true for valid case w/c.");
    160     }
    161 
    162     //Return true for format = %e, type = int
    163     {
    164         ok( psMetadataItemPrint(fd, "%.1e\n", item2),
    165             "psMetadataItemPrint:  return true for valid case w/e.");
    166     }
    167     //Return true for format = %E, type = int
    168     {
    169         ok( psMetadataItemPrint(fd, "%.2E\n", item2),
    170             "psMetadataItemPrint:  return true for valid case w/E.");
    171     }
    172     //Return true for format = %F, type = int
    173     {
    174         ok( psMetadataItemPrint(fd, "%.3F\n", item2),
    175             "psMetadataItemPrint:  return true for valid case w/F.");
    176     }
    177     //Return true for format = %g, type = int
    178     {
    179         ok( psMetadataItemPrint(fd, "%.3g\n", item2),
    180             "psMetadataItemPrint:  return true for valid case w/g.");
    181     }
    182     //Return true for format = %G, type = int
    183     {
    184         ok( psMetadataItemPrint(fd, "%.4G\n", item2),
    185             "psMetadataItemPrint:  return true for valid case w/G.");
    186     }
    187     //Return true for format = %a, type = int
    188     {
    189         ok( psMetadataItemPrint(fd, "%.4a\n", item2),
    190             "psMetadataItemPrint:  return true for valid case w/a.");
    191     }
    192     //Return true for format = %A, type = int
    193     {
    194         ok( psMetadataItemPrint(fd, "%A\n", item2),
    195             "psMetadataItemPrint:  return true for valid case w/A.");
    196     }
    197 
    198 
    199     //Check for Memory Leaks before exit
    200     {
    201         fclose(fd);
    202         psFree(item1);
    203         psFree(item2);
    204         psFree(item3);
    205         psFree(item4);
    206         psFree(item5);
    207         psFree(sphere);
    208         psFree(md);
    209     }
     12
     13    diag("psMetadataPrint and psMetadataItemPrint tests");
     14
     15    testMetaPrint();
     16    testMetaItemPrint();
    21017
    21118    done();
     
    327134    psMetadataAddVector(md, PS_LIST_TAIL, "vector15", 0, "I am a F64-vector", vec);
    328135
    329 
     136    psImage *image = psImageAlloc(1, 1, PS_TYPE_S32);
     137    psImageSet(image, 0, 0, 1);
     138    psMetadataAddImage(md, PS_LIST_TAIL, "image1", 0, "I am an Image", image);
     139
     140    psHash *hash = psHashAlloc(1);
     141    psHashAdd(hash, "hash", image);
     142    psMetadataAddHash(md, PS_LIST_TAIL, "hash1", 0, "I am a Hash", hash);
     143
     144    psLookupTable *lookup = psLookupTableAlloc("table2.dat", "%s", 0);
     145    psMetadataAddLookupTable(md, PS_LIST_TAIL, "lookup", 0, "I am a LookupTable", lookup);
     146
     147    psArray *array = psArrayAlloc(1);
     148    psArraySet(array, 0, image);
     149    psMetadataAddArray(md, PS_LIST_TAIL, "array", 0, "I am an Array", array);
     150
     151    psFree(array);
     152    psFree(lookup);
     153    psFree(image);
     154    psFree(hash);
    330155    psFree(region);
    331156    psFree(list);
     
    337162}
    338163
     164void testMetaPrint(void)
     165{
     166    diag("\n  >>Test 1:  psMetadataPrint");
     167    FILE *fd = fopen("psMetadataPrint.out", "w");
     168    FILE *fd_read = fopen("Makefile", "r");
     169    psMetadata *md = NULL;
     170    psMetadata *md2 = NULL;
     171    md = setupMeta();
     172    md2 = psMetadataAlloc();
     173    psSphere *sphere = psSphereAlloc();
     174    psMetadataAddPtr(md2, PS_LIST_HEAD, "ptr", PS_DATA_SPHERE, "", sphere);
     175    psMetadataAddUnknown(md2, PS_LIST_TAIL, "unknown", 0, "", sphere);
     176
     177    //Return false for NULL psMetadata input
     178    {
     179        ok( !psMetadataPrint(NULL, NULL, 0),
     180            "psMetadataPrint:  return false for NULL psMetadata input.");
     181    }
     182    //Return false for read-only file descriptor
     183    {
     184        ok ( !psMetadataPrint(fd_read, md, 0),
     185             "psMetadataPrint:  return false for read-only file descriptor.");
     186    }
     187    fclose(fd_read);
     188    //Error and then return true for unprintable datatype (sphere) and DATA_UNKNOWN
     189    {
     190        ok ( psMetadataPrint(NULL, md2, 0),
     191             "psMetadataPrint:  return true for metadata with unknown datatype.");
     192    }
     193    psFree(md2);
     194
     195    //Return false for unsupported vector type (C32)
     196    md2 = psMetadataAlloc();
     197    psVector *vector = psVectorAlloc(2, PS_TYPE_C32);
     198    psMetadataAddVector(md2, PS_LIST_HEAD, "name here", 0, "I vector", vector);
     199    {
     200        ok ( !psMetadataPrint(NULL, md2, 2),
     201             "psMetadataPrint:  return false for metadata with unknown vector-type.");
     202    }
     203    psFree(vector);
     204    psFree(md2);
     205
     206    //Valid case where fd is NULL -> stdout
     207    md2 = psMetadataAlloc();
     208    psMetadataAddStr(md2, PS_LIST_HEAD,
     209                     "  >>Hello Wally", 0, "My name is Bubbles", "Pet Me");
     210    {
     211        ok ( psMetadataPrint(NULL, md2, 0),
     212             "psMetadataPrint:  return true for NULL file pointer.");
     213    }
     214    psFree(md2);
     215    //Valid case where fd is "psMetadataPrint.out"
     216    {
     217        ok ( psMetadataPrint(fd, md, 0),
     218             "psMetadataPrint:  return true for file='psMetadataPrint.out'.");
     219    }
     220
     221    //Check for Memory Leaks before exit
     222    {
     223        fclose(fd);
     224        psFree(sphere);
     225        psFree(md);
     226        checkMem();
     227    }
     228}
     229
     230void testMetaItemPrint(void)
     231{
     232    diag("\n  >>Test2:  psMetadataItemPrint");
     233    FILE *fd;
     234    //bool psMetadataItemPrint(FILE * fd, const char *format, const psMetadataItem* item)
     235    fd = fopen("psMetadataItemPrint.out", "w");
     236    psMetadataItem *item1 = psMetadataItemAlloc("bool", PS_DATA_BOOL, "No Comment", true);
     237    psMetadataItem *item2 = psMetadataItemAlloc("f32", PS_DATA_F32, "No Comment", 0.66601);
     238    psMetadataItem *item3 = psMetadataItemAlloc("string", PS_DATA_STRING, "", "Can't touch this");
     239    psMetadataItem *item4 = psMetadataItemAlloc("U16", PS_DATA_U16, "", 1);
     240    psMetadataItem *item5 = psMetadataItemAlloc("string", PS_DATA_U8, "", "a");
     241
     242    //Return false for NULL file-pointer
     243    {
     244        ok( !psMetadataItemPrint(NULL, "%s", item1),
     245            "psMetadataItemPrint:  return false for NULL FILE*.");
     246    }
     247    //Return false for NULL format paramter
     248    {
     249        ok( !psMetadataItemPrint(fd, NULL, item1),
     250            "psMetadataItemPrint:  return false for NULL format.");
     251    }
     252    //Return false for NULL metadataItem
     253    {
     254        ok( !psMetadataItemPrint(fd, "%s", NULL),
     255            "psMetadataItemPrint:  return false for NULL psMetadataItem.");
     256    }
     257    //Return false for incorrect format parameter
     258    {
     259        ok( !psMetadataItemPrint(fd, "sos \n", item1),
     260            "psMetadataItemPrint:  return false for incorrect format.");
     261    }
     262    //Return false for type that doesn't match format (ie, %s for f32 value)
     263    {
     264        ok( !psMetadataItemPrint(fd, "%s", item2),
     265            "psMetadataItemPrint:  return false for item that doesn't match format.");
     266    }
     267
     268    //Return false for incorrect format parameter
     269    {
     270        ok( !psMetadataItemPrint(fd, "%z", item1),
     271            "psMetadataItemPrint:  return false for incorrect format.");
     272    }
     273
     274
     275    //Return true for format parameter containing additional modifiers (F32)
     276    {
     277        ok( psMetadataItemPrint(fd, "%.3f\n", item2),
     278            "psMetadataItemPrint:  return true for format with .3 modifier.");
     279    }
     280    //Return true for valid string input
     281    {
     282        ok( psMetadataItemPrint(fd, "%s\n", item3),
     283            "psMetadataItemPrint:  return true for valid string case w/s.");
     284    }
     285    //Return true for valid ptr input
     286    {
     287        ok( psMetadataItemPrint(fd, "%p\n", item3),
     288            "psMetadataItemPrint:  return true for valid ptr case w/p.");
     289    }
     290
     291    //Return true for format = %d, type = int
     292    {
     293        ok( psMetadataItemPrint(fd, "%d\n", item4),
     294            "psMetadataItemPrint:  return true for valid case w/d.");
     295    }
     296    //Return true for format = %i, type = int
     297    {
     298        ok( psMetadataItemPrint(fd, "%i\n", item4),
     299            "psMetadataItemPrint:  return true for valid case w/i.");
     300    }
     301    //Return true for format = %c, type = int
     302    {
     303        ok( psMetadataItemPrint(fd, "%c\n", item5),
     304            "psMetadataItemPrint:  return true for valid case w/c.");
     305    }
     306    //Return true for format = %o, type = int
     307    {
     308        ok( psMetadataItemPrint(fd, "%o\n", item4),
     309            "psMetadataItemPrint:  return true for valid case w/d.");
     310    }
     311    //Return true for format = %u, type = int
     312    {
     313        ok( psMetadataItemPrint(fd, "%u\n", item4),
     314            "psMetadataItemPrint:  return true for valid case w/i.");
     315    }
     316    //Return true for format = %x, type = int
     317    {
     318        ok( psMetadataItemPrint(fd, "%x\n", item5),
     319            "psMetadataItemPrint:  return true for valid case w/c.");
     320    }
     321    //Return true for format = %X, type = int
     322    {
     323        ok( psMetadataItemPrint(fd, "%X\n", item5),
     324            "psMetadataItemPrint:  return true for valid case w/c.");
     325    }
     326
     327    //Return true for format = %e, type = int
     328    {
     329        ok( psMetadataItemPrint(fd, "%.1e\n", item2),
     330            "psMetadataItemPrint:  return true for valid case w/e.");
     331    }
     332    //Return true for format = %E, type = int
     333    {
     334        ok( psMetadataItemPrint(fd, "%.2E\n", item2),
     335            "psMetadataItemPrint:  return true for valid case w/E.");
     336    }
     337    //Return true for format = %F, type = int
     338    {
     339        ok( psMetadataItemPrint(fd, "%.3F\n", item2),
     340            "psMetadataItemPrint:  return true for valid case w/F.");
     341    }
     342    //Return true for format = %g, type = int
     343    {
     344        ok( psMetadataItemPrint(fd, "%.3g\n", item2),
     345            "psMetadataItemPrint:  return true for valid case w/g.");
     346    }
     347    //Return true for format = %G, type = int
     348    {
     349        ok( psMetadataItemPrint(fd, "%.4G\n", item2),
     350            "psMetadataItemPrint:  return true for valid case w/G.");
     351    }
     352    //Return true for format = %a, type = int
     353    {
     354        ok( psMetadataItemPrint(fd, "%.4a\n", item2),
     355            "psMetadataItemPrint:  return true for valid case w/a.");
     356    }
     357    //Return true for format = %A, type = int
     358    {
     359        ok( psMetadataItemPrint(fd, "%A\n", item2),
     360            "psMetadataItemPrint:  return true for valid case w/A.");
     361    }
     362
     363    //Check for Memory Leaks before exit
     364    {
     365        fclose(fd);
     366        psFree(item1);
     367        psFree(item2);
     368        psFree(item3);
     369        psFree(item4);
     370        psFree(item5);
     371        checkMem();
     372    }
     373}
     374
Note: See TracChangeset for help on using the changeset viewer.