Changeset 7937
- Timestamp:
- Jul 18, 2006, 5:43:14 PM (20 years ago)
- Location:
- trunk/psLib
- Files:
-
- 4 edited
-
src/types/psMetadata.c (modified) (2 diffs)
-
src/types/psMetadata.h (modified) (2 diffs)
-
test/types/tst_psMetadata_01.c (modified) (2 diffs)
-
test/types/verified/tst_psMetadata_01.stderr (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/types/psMetadata.c
r7933 r7937 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.1 19$ $Name: not supported by cvs2svn $15 * @date $Date: 2006-07-1 8 21:53:25$14 * @version $Revision: 1.120 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2006-07-19 03:43:14 $ 16 16 * 17 17 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 465 465 466 466 // may need to extend this to change the keyname in the copy 467 psMetadata *psMetadataItemTransfer(psMetadata *out, const psMetadata *in, const char *key) 468 { 469 PS_ASSERT_PTR_NON_NULL(in, NULL); 467 bool psMetadataItemTransfer(psMetadata *out, 468 const psMetadata *in, 469 const char *key) 470 { 471 if (in == NULL) { 472 psError(PS_ERR_BAD_PARAMETER_NULL, true, 473 "psMetadataItemTransfer: 'in' cannot be NULL.\n"); 474 return false; 475 } 476 if (out == NULL) { 477 psError(PS_ERR_BAD_PARAMETER_NULL, true, 478 "psMetadataItemTransfer: 'out' cannot be NULL.\n"); 479 return false; 480 } 470 481 if (key == NULL) { 471 482 psError(PS_ERR_BAD_PARAMETER_NULL, true, 472 483 "psMetadataItemTransfer: 'key' cannot be NULL.\n"); 473 return NULL;484 return false; 474 485 } 475 486 476 487 psMetadataItem *item = psMetadataLookup(in, key); 477 488 if (!item) { 478 return NULL;479 }480 if (out == NULL) {481 out = psMetadataAlloc();482 }483 if (!psMetadataAddItem(out, item, PS_LIST_HEAD, PS_META_DEFAULT) ) {484 psFree(out);485 return NULL;486 } 487 488 return out;489 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 490 "psMetadataItemTransfer: Could not find 'key' in psMetadata 'in'.\n"); 491 return false; 492 } 493 if (!psMetadataAddItem(out, item, PS_LIST_TAIL, PS_META_REPLACE) ) { 494 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 495 "psMetadataItemTransfer: Could not add item to psMetadata 'out'.\n"); 496 return false; 497 } 498 499 return true; 489 500 } 490 501 -
trunk/psLib/src/types/psMetadata.h
r7933 r7937 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.8 2$ $Name: not supported by cvs2svn $14 * @date $Date: 2006-07-1 8 21:53:25$13 * @version $Revision: 1.83 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2006-07-19 03:43:14 $ 15 15 * 16 16 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 400 400 * @return bool: True if successful, otherwise false. 401 401 */ 402 psMetadata *psMetadataItemTransfer(402 bool psMetadataItemTransfer( 403 403 psMetadata *out, ///< output Metadata container for copying. 404 404 const psMetadata *in, ///< Metadata collection from which to copy. -
trunk/psLib/test/types/tst_psMetadata_01.c
r7933 r7937 5 5 * @author dRob, MHPCC 6 6 * 7 * @version $Revision: 1. 9$ $Name: not supported by cvs2svn $8 * @date $Date: 2006-07-1 8 21:53:25$7 * @version $Revision: 1.10 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2006-07-19 03:43:14 $ 9 9 * 10 10 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 100 100 psS32 testMetadataItemTransfer(void) 101 101 { 102 // psMetadataItem *item = psMetadataItemAlloc("metaITEM", PS_DATA_S32, "no Comment"); 103 // item->data.S32 = 666; 104 // psMetadataItem *item2 = NULL; 102 105 103 psMetadata *md = psMetadataAlloc(); 106 // psMetadata *md2 = psMetadataAlloc();107 104 psMetadata *out = NULL; 108 // out = psMetadataAlloc(); 109 // psMetadataAddItem(md, item, PS_LIST_HEAD, PS_META_DEFAULT); 110 psMetadataAddS32(md, PS_LIST_HEAD, "metaITEM", 0, "no Comment", 666); 111 112 //attempt transfer to NULL metadata. 113 out = psMetadataItemTransfer(out, md, "metaITEM"); 114 if ( out == NULL) { 115 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 116 "psMetadataItemTransfer failed to correctly allocate metadata and transfer item.\n"); 105 psMetadataAddS32(md, PS_LIST_TAIL, "metaITEM", 0, "no Comment", 666); 106 107 //attempt transfer to NULL 'out' metadata. 108 psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message"); 109 if ( psMetadataItemTransfer(out, md, "metaITEM") ) { 110 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 111 "psMetadataItemTransfer failed to return false for NULL 'out' metadata.\n"); 117 112 return 1; 118 113 } 114 out = psMetadataAlloc(); 115 //attempt to transfer using a NULL key. 116 psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message"); 117 if ( psMetadataItemTransfer(out, md, NULL) ) { 118 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 119 "psMetadataItemTransfer failed to return false for NULL key input.\n"); 120 return 2; 121 } 122 //attempt transfer to NULL 'in' metadata. 123 psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message"); 124 if ( psMetadataItemTransfer(out, NULL, "metaITEM") ) { 125 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 126 "psMetadataItemTransfer failed to return false for NULL 'in' metadata.\n"); 127 return 3; 128 } 129 //attempt to transfer using an allocated metadata and invalid key 130 psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message"); 131 if (psMetadataItemTransfer(out, md, "metaITEM2") ) { 132 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 133 "psMetadataItemTransfer failed to return false for invalid 'key'.\n"); 134 return 4; 135 } 136 //attempt to transfer with all valid inputs. 137 psMetadataItem *item = NULL; 138 if ( !psMetadataItemTransfer(out, md, "metaITEM") ) { 139 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 140 "psMetadataItemTransfer failed with valid inputs.\n"); 141 return 7; 142 } 143 item = psMetadataGet(out, PS_LIST_HEAD); 144 if (item->data.S32 != 666 || strncmp(item->comment, "no Comment", 20)) { 145 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 146 "psMetadataItemTransfer failed to correctly transfer item data.\n"); 147 return 8; 148 } 149 119 150 psFree(out); 120 /* //attempt to transfer using a NULL key.121 psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message");122 if (psMetadataItemTransfer(mdNULL, md, NULL)) {123 psError(PS_ERR_BAD_PARAMETER_VALUE, true,124 "psMetadataItemTransfer failed to return false for NULL key input.\n");125 return 2;126 }127 if (mdNULL != NULL) printf("\nERROR HERE\n");128 //attempt to transfer using an allocated metadata and valid key129 if (!psMetadataItemTransfer(md2, md, "metaITEM") ){130 psError(PS_ERR_BAD_PARAMETER_VALUE, true,131 "psMetadataItemTransfer failed to correctly transfer item.\n");132 return 3;133 }134 */135 // item2 = psMetadataGet(md2, PS_LIST_HEAD);136 /* item2 = psMetadataLookup(md2, "metaITEM");137 if (item2->data.S32 != 666 || strncmp(item2->comment, "no Comment", 20)) {138 psError(PS_ERR_BAD_PARAMETER_VALUE, true,139 "psMetadataItemTransfer failed to correctly transfer item data.\n");140 return 4;141 }142 */143 151 psFree(md); 144 // psFree(md2);145 // psFree(item);146 // psFree(item2);147 // psFree(mdNULL);148 152 149 153 return 0; -
trunk/psLib/test/types/verified/tst_psMetadata_01.stderr
r7377 r7937 14 14 /***************************** TESTPOINT ******************************************\ 15 15 * TestFile: tst_psMetadata_01.c * 16 * TestPoint: psMetadata_01{psMetadataItemTransfer()} * 17 * TestType: Positive * 18 \**********************************************************************************/ 19 20 <DATE><TIME>|<HOST>|I|testMetadataItemTransfer 21 Following should generate error message 22 <DATE><TIME>|<HOST>|E|psMetadataItemTransfer (FILE:LINENO) 23 psMetadataItemTransfer: 'out' cannot be NULL. 24 <DATE><TIME>|<HOST>|I|testMetadataItemTransfer 25 Following should generate error message 26 <DATE><TIME>|<HOST>|E|psMetadataItemTransfer (FILE:LINENO) 27 psMetadataItemTransfer: 'key' cannot be NULL. 28 <DATE><TIME>|<HOST>|I|testMetadataItemTransfer 29 Following should generate error message 30 <DATE><TIME>|<HOST>|E|psMetadataItemTransfer (FILE:LINENO) 31 psMetadataItemTransfer: 'in' cannot be NULL. 32 <DATE><TIME>|<HOST>|I|testMetadataItemTransfer 33 Following should generate error message 34 <DATE><TIME>|<HOST>|E|psMetadataItemTransfer (FILE:LINENO) 35 psMetadataItemTransfer: Could not find 'key' in psMetadata 'in'. 36 37 ---> TESTPOINT PASSED (psMetadata_01{psMetadataItemTransfer()} | tst_psMetadata_01.c) 38 39 /***************************** TESTPOINT ******************************************\ 40 * TestFile: tst_psMetadata_01.c * 16 41 * TestPoint: psMetadata_01{psMetadataPrint} * 17 42 * TestType: Positive *
Note:
See TracChangeset
for help on using the changeset viewer.
