IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 3962


Ignore:
Timestamp:
May 18, 2005, 1:22:02 PM (21 years ago)
Author:
asc
Message:

tweak tests for new code, in particular handling/testing AUTO_INCREMENT and Keys

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/test/dataIO/tst_psDB.c

    r3682 r3962  
    99 *  @author Aaron Culliney, MHPCC
    1010 *
    11  *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2005-04-07 20:27:41 $
     11 *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2005-05-18 23:22:02 $
    1313 *
    1414 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    4343    const char *key1, const char *comm1, psS32 val1,
    4444    const char *key2, const char *comm2, psF32 val2,
    45     const char *key3, const char *comm3, psF64 val3);
     45    const char *key3, const char *comm3, psF64 val3,
     46    const char *key4, const char *comm4, psS32 val4);
    4647static psMetadata *_get_row( void );
    4748static psMetadata *_get_where( void );
     
    107108{
    108109    return _get_RowMetadata(
    109                "key_string", "comment-string", "90000",  // XXX value used to determine size of field ...
    110                "key_s32",    "comment-s32",     0,       // NOTE: values unused here
    111                "key_f32",    "comment-f32",     0.0,
    112                "key_f64",    "comment-f64",     0.0);
     110               "key_string", "comment-string",     "90000", // value used to determine size of field
     111               "key_s32",    "Primary Key",        0,       // values unused here ...
     112               "key_f32",    "Key",                0.0,
     113               "key_f64",    "",                   0.0,
     114               "key_s32_0",  "Key,AUTO_INCREMENT", 0);
    113115}
    114116
     
    119121               "key_s32",    "comment-s32",    val1,
    120122               "key_f32",    "comment-f32",    val2,
    121                "key_f64",    "comment-f64",    val3);
     123               "key_f64",    "comment-f64",    val3,
     124               NULL,         NULL,             0.0);
    122125}
    123126
     
    126129    const char *key1, const char *comm1, psS32 val1,
    127130    const char *key2, const char *comm2, psF32 val2,
    128     const char *key3, const char *comm3, psF64 val3)
     131    const char *key3, const char *comm3, psF64 val3,
     132    const char *key4, const char *comm4, psS32 val4)
    129133{
    130134    psMetadata *md = NULL;
    131     psMetadataItem *str=NULL, *s32=NULL, *f32=NULL, *f64=NULL;
     135    psMetadataItem *str=NULL, *s32_0=NULL, *s32=NULL, *f32=NULL, *f64=NULL;
    132136
    133137    md = psMetadataAlloc();
     
    139143        str = psMetadataItemAllocStr(key0, comm0, val0);
    140144    }
     145    if (key4 != NULL) {
     146        s32_0 = psMetadataItemAllocS32(key4, comm4, val4);
     147    }
    141148    s32 = psMetadataItemAllocS32(key1, comm1, val1);
    142149    f32 = psMetadataItemAllocF32(key2, comm2, val2);
    143150    f64 = psMetadataItemAllocF64(key3, comm3, val3);
    144     if ( ((key0 != NULL) && (str == NULL)) || (s32 == NULL) || (f32 == NULL) || (f64 == NULL)) {
     151
     152    if ( ((key0 != NULL) && (str == NULL)) || (s32 == NULL) || (f32 == NULL) || (f64 == NULL) ||
     153            ((key4 != NULL) && (s32_0 == NULL)) ) {
    145154        psError(PS_ERR_UNKNOWN, true, "could not create psMetadataItem(s) in %s!", __func__ );
    146155        return NULL;
    147156    }
    148157    if ( ((key0 != NULL) && !psMetadataAddItem(md, str, 0, 0)) || !psMetadataAddItem(md, s32, 0, 0) ||
    149             !psMetadataAddItem(md, f32, 0, 0) || !psMetadataAddItem(md, f64, 0, 0)) {
     158            !psMetadataAddItem(md, f32, 0, 0) || !psMetadataAddItem(md, f64, 0, 0) ||
     159            ((key4 != NULL) && !psMetadataAddItem(md, s32_0, 0, 0))) {
    150160        psError(PS_ERR_UNKNOWN, true, "could not add psMetadataItem(s) to psMetadata in %s!", __func__ );
    151161        return NULL;
     
    158168    psFree(f32);
    159169    psFree(f64);
     170    if (s32_0 != NULL) {
     171        psFree(s32_0);
     172    }
    160173
    161174    return md;
     175}
     176
     177psMetadata *_get_rand_row( void )
     178{
     179    char buf[32];
     180    snprintf(buf, 32, "%d", rand());
     181    return _get_RowMetadata(
     182               "key_string", "comment-string", buf,
     183               "key_s32",    "comment-s32",    rand(),
     184               "key_f32",    "comment-f32",    (double)rand()/RAND_MAX,
     185               "key_f64",    "comment-f64",    (double)rand()/RAND_MAX,
     186               NULL,         NULL,             0.0);
    162187}
    163188
     
    168193               "key_s32",    "comment-s32",    S32_1,
    169194               "key_f32",    "comment-f32",    F32_1,
    170                "key_f64",    "comment-f64",    F64_1);
     195               "key_f64",    "comment-f64",    F64_1,
     196               NULL,         NULL,             0.0);
    171197}
    172198
     
    225251    psLogSetLevel( PS_LOG_INFO );
    226252
     253    srand(time(NULL));
     254
    227255    return ( ! runTestSuite( stderr, "psDB", tests, argc, argv ) );
    228256}
     
    347375    if (!failed) {
    348376
    349         row = _get_row();
     377        row = _get_rand_row();
    350378        psDBInsertOneRow(dbh, table, row);
    351379        psFree(row);
    352380
    353         row = _get_row();
     381        row = _get_rand_row();
    354382        psDBInsertOneRow(dbh, table, row);
    355383        psFree(row);
     
    363391            failed = 1;
    364392        } else {
    365             ptr = psArrayGet(ary, 0);
     393            ptr = psArrayGet(ary, 2);
    366394            psLogMsg( __func__, PS_LOG_INFO, "psDBSelectColumn: [%s]\n", ptr );
    367395
     
    369397            psLogMsg( __func__, PS_LOG_INFO, "psDBSelectColumn: [%s]\n", ptr );
    370398
    371             ptr = psArrayGet(ary, 2);
     399            ptr = psArrayGet(ary, 0);
    372400            psLogMsg( __func__, PS_LOG_INFO, "psDBSelectColumn: [%s]\n", ptr );
    373401
     
    409437    if (!failed) {
    410438
    411         row = _get_row();
     439        row = _get_rand_row();
    412440        psDBInsertOneRow(dbh, table, row);
    413441        psFree(row);
    414442
    415         row = _get_row();
     443        row = _get_rand_row();
    416444        psDBInsertOneRow(dbh, table, row);
    417445        psFree(row);
     
    425453            failed = 1;
    426454        } else {
     455            psLogMsg( __func__, PS_LOG_INFO, "str=[%d]\n", (vec->data.S32)[2] );
     456            psLogMsg( __func__, PS_LOG_INFO, "str=[%d]\n", (vec->data.S32)[1] );
    427457            psLogMsg( __func__, PS_LOG_INFO, "str=[%d]\n", (vec->data.S32)[0] );
    428             psLogMsg( __func__, PS_LOG_INFO, "str=[%d]\n", (vec->data.S32)[1] );
    429             psLogMsg( __func__, PS_LOG_INFO, "str=[%d]\n", (vec->data.S32)[2] );
    430             if ((vec->data.S32)[2] != S32_1) {
     458            if ((vec->data.S32)[0] != S32_1) {
    431459                psLogMsg( __func__, PS_LOG_INFO, "oops, did not find expected S32 output!\n" );
    432460                failed = 1;
     
    465493    if (!failed) {
    466494
    467         row = _get_row();
     495        row = _get_rand_row();
    468496        psDBInsertOneRow(dbh, table, row);
    469497        psFree(row);
    470498
    471         row = _get_row();
     499        row = _get_rand_row();
    472500        psDBInsertOneRow(dbh, table, row);
    473501        psFree(row);
     
    484512                failed = 1;
    485513            } else {
    486                 _print_row((psMetadata*)psArrayGet(ary, 0));
    487                 _print_row((psMetadata*)psArrayGet(ary, 1));
    488                 row = (psMetadata*)psArrayGet(ary, 2);
     514                row = (psMetadata*)psArrayGet(ary, 0);
    489515                _print_row(row);
    490516
     
    530556    failed = ! psDBCreateTable(dbh, table, md);
    531557    if (!failed) {
    532         row = _get_row();
     558        row = _get_rand_row();
    533559        failed = ! psDBInsertOneRow(dbh, table, row);
    534560        psFree(row);
     
    564590        rowSet->n = 0;
    565591
    566         row = _get_row();
     592        row = _get_rand_row();
    567593        psArrayAdd(rowSet, 0, row);
    568594        psFree(row);
    569595
    570         row = _get_row();
     596        row = _get_rand_row();
    571597        psArrayAdd(rowSet, 0, row);
    572598        psFree(row);
     
    584610            failed = 1;
    585611        } else {
    586             _print_row((psMetadata*)psArrayGet(rowSet, 0));
     612            _print_row((psMetadata*)psArrayGet(rowSet, 2));
    587613            _print_row((psMetadata*)psArrayGet(rowSet, 1));
    588             row = (psMetadata*)psArrayGet(rowSet, 2);
     614            row = (psMetadata*)psArrayGet(rowSet, 0);
    589615            _print_row(row);
    590616
     
    629655    if (!failed) {
    630656
    631         row = _get_row();
     657        row = _get_rand_row();
    632658        psDBInsertOneRow(dbh, table, row);
    633659        psFree(row);
    634660
    635         row = _get_row();
     661        row = _get_rand_row();
    636662        psDBInsertOneRow(dbh, table, row);
    637663        psFree(row);
     
    647673            } else {
    648674
    649                 _print_row((psMetadata*)psArrayGet(ary, 0));
     675                _print_row((psMetadata*)psArrayGet(ary, 2));
    650676                _print_row((psMetadata*)psArrayGet(ary, 1));
    651                 row = (psMetadata*)psArrayGet(ary, 2);
     677                row = (psMetadata*)psArrayGet(ary, 0);
    652678                _print_row(row);
    653679
     
    728754        rowSet->n = 0;
    729755
    730         row = _get_row();
     756        row = _get_rand_row();
    731757        psArrayAdd(rowSet, 0, row);
    732758        psFree(row);
    733759
    734         row = _get_row();
     760        row = _get_rand_row();
    735761        psArrayAdd(rowSet, 0, row);
    736762        psFree(row);
     
    751777            } else {
    752778
    753                 _print_row((psMetadata*)psArrayGet(ary, 0));
    754                 _print_row((psMetadata*)psArrayGet(ary, 1));
    755                 row = (psMetadata*)psArrayGet(ary, 2);
     779                row = (psMetadata*)psArrayGet(ary, 0);
    756780                _print_row(row);
    757781
     
    801825        rowSet->n = 0;
    802826
    803         row = _get_row();
     827        row = _get_rand_row();
    804828        psArrayAdd(rowSet, 0, row);
    805829        psFree(row);
    806830
    807         row = _get_row();
     831        row = _get_rand_row();
    808832        psArrayAdd(rowSet, 0, row);
    809833        psFree(row);
     
    822846                failed = 1;
    823847            } else {
    824                 if (ary->n > 0) {
     848                if (ary->n != 2) {
    825849                    psLogMsg( __func__, PS_LOG_INFO, "oops, did not delete stuff!\n" );
    826850                    failed = 1;
    827851                } else {
    828                     psLogMsg( __func__, PS_LOG_INFO, "found expected empty table.\n" );
     852                    psLogMsg( __func__, PS_LOG_INFO, "found expected two-row table.\n" );
    829853                }
    830854
Note: See TracChangeset for help on using the changeset viewer.