IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 14, 2007, 4:19:09 PM (19 years ago)
Author:
jhoblitt
Message:

fix serveral psMetdataConfig* bugs related to 'overwrite' & METADATA handling

Location:
trunk/psLib/test/types
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/test/types/metaconf.in

    r9895 r12441  
     1#
     2# Good lines
     3#
     4
    15item1            BOOL      T                # I am a boolean
    2 item1            BOOL      F                # I am a boolean2
    36item2            S32       55               # I am int
    47item3            F32       3.14
    58item4            F64       6.28             # I am float
    6 item4-1          F64       6.28 1           # I am float
    79item5            STR       GNIRTS           # I am a string
    8 item6            S32       10 1
    9 item6-1          S32       ~
    1010item7            S64       555
    11 item7-1          S64       555 x
    1211item8            S8        3
    13 item8            S8        5
    14 item8-1          S8        5 1
    1512itemu1           U16       2
    16 itemu1-1         U16       2 1
    1713itemu2           U32       55
    18 itemu2-1         U32       55 1
    19 itemu3-1         U8        1 2
    2014itemu3           U8        1
    2115itemu4           U64       1634
    22 itemu4-1         U64       1634 1
    2316item9            BOOL      F                # I am a boolean2
    2417item10           S16       16
    25 item10-1         S16       16 16
    2618@vector1  S8  1 2 3 4 5   # I am a vector
    27 @vector1-1 S8 % #
    2819@vector2  S16 1 2 3 4 5
    2920@vector3  S32 1 2 3 4 5
     
    3526@vector9  F32 1.0 2.3 3.1 4.5 5.0   # I am a vector
    3627@vector10 F64 1.0 2.0 3.0 4.0 5.0
    37 @vector11 C64 1.0 2.0 3.0 4.0 5.0
    38 @@@vector12 F64 1.0 2.0 3.0 4.0 5.0
    3928time01           TT        1970-01-01T00:16:39Z  # I am time
    4029time02           UTC       NULL     # I am time2
    41 
    42 ps1  S32  NAN
    4330
    4431f32 MULTI
    4532f32              S32       666              # f32_1
    4633f32              S32       665              # f32_2
    47 f32 MULTI
    4834
    4935f32 METADATA
     
    5440meta1 METADATA
    5541    itemS32   S32       666              # f32_1
    56 END
    57 meta1 METADATA
    58     M2   S32       666
    5942END
    6043
     
    6851   ITEM03           F64       666.666          # I AM DOUBLE
    6952END
    70 
    71      TYPE  C32  3
    72      TYPE  C32  3
    73      TYPE PS_TYPE_C32 2                 #
    74 newC32      C32 7i+5
    75 newC32      PS_TYPE_C32 7i+5
    7653#item11           C32       16+2i            # I am Complex
    7754
    7855TYPE PS_TYPE_DD D
     56DD2     PS_TYPE_DD   ""
     57     TYPE  C32  3
     58newC32      C32 7i+5
     59
     60#
     61# Bad lines : 28 (-1 for the GOOD line in meta1) & 3 valid duplicates
     62#
     63item1            BOOL      F                # duplicate
     64item8            S8        5                # duplicate
     65item4-1          F64       6.28 1           # I am float
     66item6            S32       10 1
     67item6-1          S32       ~
     68item7-1          S64       555 x
     69item8-1          S8        5 1
     70itemu1-1         U16       2 1
     71itemu2-1         U32       55 1
     72itemu3-1         U8        1 2
     73itemu4-1         U64       1634 1
     74item10-1         S16       16 16
     75@vector1-1 S8 % #
     76@@@vector12 F64 1.0 2.0 3.0 4.0 5.0
     77@vector11 C64 1.0 2.0 3.0 4.0 5.0
     78meta1 METADATA                              # duplicate
     79    M2   S32       666  # this line is "GOOD" but parsed in the top level
     80END
    7981newDD   PS_TYPE_DD
    80 DD2     PS_TYPE_DD   ""
    81 
    8282TYPE            1
    8383TYPE
    8484TYPE         #  # 1
     85     TYPE  C32  3
     86     TYPE PS_TYPE_C32 2                 #
     87newC32      PS_TYPE_C32 7i+5        # duplicate but with borken type
     88ps1  S32  NAN
     89f32 MULTI
    8590\n
  • trunk/psLib/test/types/table3.dat

    r9746 r12441  
    1 #  Table with valid types and index-values
     1#
     2# This file is not valid metdataconfig syntax
    23#
    34#psF32     psU16    psU32     psU64    psS8    psS16    psS32    psS64    psU8   psF64
  • trunk/psLib/test/types/tap_psMetadataConfig_input.c

    r12408 r12441  
    1919#include "pstap.h"
    2020
    21 static void testMetaConfigRead(void);
    22 static void testMetaConfigParse(void);
    23 
    24 
    2521int main(void)
    2622{
     23    plan_tests(42);
     24
    2725    psLogSetFormat("HLNM");
    28     plan_tests(39);
    29 
    30     note("Tests for psMetadataConfig Input Functions");
    31     testMetaConfigRead();
    32     testMetaConfigParse();
    33 }
    34 
    35 void testMetaConfigRead(void)
    36 {
    37     note("  >>>Test 1:  psMetadataConfigRead");
    38 
    39     //Return NULL for NULL filename input
     26//    psTraceSetLevel("err", 10);
     27
     28
     29    // Return NULL for NULL filename input
    4030    {
    4131        unsigned int nfail = 0;
    4232        psMetadata *out = psMetadataConfigRead(NULL, &nfail, NULL, false);
    43         ok( out == NULL,
    44             "psMetadataConfigRead: return NULL for NULL filename input.");
    45     }
    46     //Return NULL for invalid filename input
     33
     34        ok(out == NULL, "return NULL for NULL filename input.");
     35    }
     36
     37    // Return NULL for invalid filename input
    4738    {
    4839        unsigned int nfail = 0;
    4940        psMetadata *out = psMetadataConfigRead(NULL, &nfail, ".", false);
    50         ok( out == NULL,
    51             "psMetadataConfigRead: return NULL for invalid filename input.");
    52     }
    53     //Return NULL for missing file input
     41
     42        ok(out == NULL, "return NULL for invalid filename input.");
     43    }
     44
     45    // Return NULL for missing file input
    5446    {
    5547        unsigned int nfail = 0;
    5648        psMetadata *out = psMetadataConfigRead(NULL, &nfail, "table4.dat", false);
    57         ok( out == NULL,
    58             "psMetadataConfigRead: return NULL for missing file input.");
    59     }
    60     //Return empty metadata for read-only file with invalid syntax
     49        ok(out == NULL, "return NULL for missing file input.");
     50    }
     51
     52    // Return NULL for read-only file with comments, bad syntax, and no good
     53    // lines
    6154    {
    6255        unsigned int nfail = 0;
    6356        psMetadata *out = psMetadataConfigRead(NULL, &nfail, "table3.dat", false);
    64         ok( out != NULL && out->list->n == 0,
    65             "psMetadataConfigRead: return empty metadata for file"
    66             " with invalid syntax.");
    67         psFree(out);
    68     }
    69     //Return true for valid inputs - overwrite = false
     57        ok(out == NULL, "return NULL for all bad syntax");
     58        is_int(nfail, 0, "correct nfail");
     59
     60        psFree(out);
     61    }
     62
     63    // Return true for valid inputs - overwrite = false
    7064    {
    7165        unsigned int nfail = 0;
    7266        psMetadata *out = psMetadataConfigRead(NULL, &nfail, "metaconf.in", false);
    73         psMetadataItem *tempItem = psMetadataGet(out, PS_LIST_HEAD);
    74 
    75         //XXX: Josh, please review the "metaconf.in" in this directory and ensure that
    76         //the number of failed lines, which we test next, should indeed be 26.
    77         ok(out != NULL && nfail == 26,
    78             "psMetadataConfigRead: return correct metadata for valid inputs (nfail was %d)", nfail);
    79         skip_start(tempItem == NULL, 6,
    80                      "Skipping 1 tests because metadata container is empty!");
    81         ok_str(tempItem->name, "item1",
    82                "psMetadataConfigRead: return correct metadataItem name from "
    83                "returned metadata.");
    84         ok(tempItem->type == PS_DATA_BOOL && tempItem->data.B == true,
    85             "psMetadataConfigRead: return correct metadataItem data from "
    86             "returned metadata.");
    87         ok_str(tempItem->comment, "I am a boolean",
    88                 "psMetadataConfigRead: return correct metadataItem comment from "
    89                 "returned metadata.");
     67
     68        ok(out != NULL, "return metadata for valid input");
     69        is_int(nfail, 27, "return correct nFail count");
     70
     71        skip_start(out == NULL, 8,
     72                     "Skipping 1 tests because metadata container is empty!");
     73
     74        // look at the first item
     75        psMetadataItem *tempItem = psMetadataGet(out, PS_LIST_HEAD);
     76        // XXX shouldn't assume tempItem isn't NULL
     77        ok_str(tempItem->name, "item1", "metadataItem name");
     78        ok(tempItem->type == PS_DATA_BOOL, "metadataItem type");
     79        is_bool(tempItem->data.B, true, "metdataItem value");
     80        ok_str(tempItem->comment, "I am a boolean", "metadataItem comment.");
     81
     82        // look at the last item
    9083        tempItem = psMetadataGet(out, PS_LIST_TAIL);
    91         ok_str(tempItem->name, "DD2",
    92                 "psMetadataConfigRead: return correct metadataItem name from returned metadata");
    93         ok(tempItem->type == PS_DATA_METADATA &&
    94             ((psMetadata*)(tempItem->data.V))->list->n == 1
    95             && strlen(tempItem->comment) == 0,
    96             "psMetadataConfigRead: return correct metadataItem data from "
    97             "returned metadata.");
    98         skip_end();
    99         // psMetadataConfigWrite(out, "mdc-overwrite_false.txt");
    100         psFree(out);
    101     }
    102 
    103     //Return true for valid inputs - overwrite = true
     84        // XXX shouldn't assume tempItem isn't NULL
     85        ok_str(tempItem->name, "M2", "metadataItem name");
     86        ok(tempItem->type == PS_DATA_S32, "metdataItem type");
     87        is_int(tempItem->data.S32, 666, "metdataItem value");
     88        ok_str(tempItem->comment, "this line is \"GOOD\" but parsed in the top level", "metadataItem comment.");
     89
     90        skip_end();
     91        psFree(out);
     92    }
     93
     94    // Return true for valid inputs - overwrite = true
    10495    {
    10596        unsigned int nfail = 0;
    10697        psMetadata *out = psMetadataConfigRead(NULL, &nfail, "metaconf.in", true);
    107         psMetadataItem *tempItem = psMetadataGet(out, PS_LIST_HEAD);
    108         //XXX: Josh, please review the "metaconf.in" in this directory and ensure that
    109         //the number of failed lines, which we test next, should indeed be 23.
    110         ok( out != NULL  && nfail == 23,
    111             "psMetadataConfigRead: return correct metadata for valid inputs (nfail was %d).", nfail);
    112         skip_start(  tempItem == NULL, 6,
    113                      "Skipping 1 tests because metadata container is empty!");
    114         ok_str( tempItem->name, "item1",
    115                 "psMetadataConfigRead: return correct metadataItem name from "
    116                 "returned metadata.");
    117         ok( tempItem->type == PS_DATA_BOOL && tempItem->data.B == false,
    118             "psMetadataConfigRead: return correct metadataItem data from "
    119             "returned metadata.");
    120         ok_str( tempItem->comment, "I am a boolean2",
    121                 "psMetadataConfigRead: return correct metadataItem comment from "
    122                 "returned metadata.");
     98//        psMetadataConfigPrint(stdout, out);
     99
     100        ok(out != NULL, "return metadata for valid input");
     101        is_int(nfail, 23, "return correct nFail count");
     102
     103        skip_start(out == NULL, 7,
     104                     "Skipping 1 tests because metadata container is empty!");
     105
     106        // look at the first item
     107        psMetadataItem *tempItem = psMetadataGet(out, PS_LIST_HEAD);
     108        // XXX shouldn't assume tempItem isn't NULL
     109        // note that item1 gets added to the "tail" of the metdata was it's
     110        // replaced
     111        ok_str(tempItem->name, "item2", "metadataItem name");
     112        ok(tempItem->type == PS_DATA_S32, "metdataItem type");
     113        is_bool(tempItem->data.S32, 55, "metadataItem value");
     114        ok_str(tempItem->comment, "I am int", "metadataItem value");
     115
     116        // look at the last item
    123117        tempItem = psMetadataGet(out, PS_LIST_TAIL);
    124         ok_str( tempItem->name, "DD2",
    125                 "psMetadataConfigRead: return correct metadataItem name from "
    126                 "returned metadata.");
    127         ok( tempItem->type == PS_DATA_METADATA &&
    128             ((psMetadata*)(tempItem->data.V))->list->n == 1
    129             && strlen(tempItem->comment) == 0,
    130             "psMetadataConfigRead: return correct metadataItem data from "
    131             "returned metadata.");
    132         skip_end();
    133         // psMetadataConfigWrite(out, "mdc-overwrite_true.txt");
    134         psFree(out);
    135     }
    136 
    137     //Check for Memory leaks
     118        // XXX shouldn't assume tempItem isn't NULL
     119        // meta1 is from "the bad section"
     120        ok_str(tempItem->name, "meta1", "metadataItem name");
     121        ok(tempItem->type == PS_DATA_METADATA, "metadataItem type");
     122
     123        ok_str(tempItem->comment, "", "metadataItem comment");
     124
     125        skip_end();
     126        psFree(out);
     127    }
     128
     129    // Check for Memory leaks
    138130    checkMem();
    139 }
    140 
    141 void testMetaConfigParse(void)
    142 {
    143     note("  >>>Test 2: psMetadataConfigParse");
    144 
    145     //Return NULL for NULL string input
     131
     132    // Return NULL for NULL string input
    146133    {
    147134        psMemId id = psMemGetId();
    148135        unsigned int nfail = 0;
    149136        psMetadata *out = psMetadataConfigParse(NULL, &nfail, NULL, false);
    150         ok(out == NULL,
    151            "psMetadataConfigParse: return NULL for NULL string input.");
    152         ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
    153     }
    154 
    155     //Return empty metadata for incorrect string input
     137
     138        ok(out == NULL, "psMetadataConfigParse: return NULL for NULL string input.");
     139
     140        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     141    }
     142
     143    // Return empty metadata for incorrect string input
    156144    {
    157145        psMemId id = psMemGetId();
     
    167155    }
    168156
    169     //Return correct metadata for correct string input - S32
     157    // Return correct metadata for correct string input - S32
    170158    {
    171159        psMemId id = psMemGetId();
     
    188176    }
    189177
    190     //Return correct metadata for correct string input - F64
     178    // Return correct metadata for correct string input - F64
    191179    {
    192180        psMemId id = psMemGetId();
     
    213201    }
    214202
    215     //Return correct metadata for string with duplicate entry - S8
     203    // Return correct metadata for string with duplicate entry - S8
    216204    {
    217205        psMemId id = psMemGetId();
Note: See TracChangeset for help on using the changeset viewer.