Index: trunk/psLib/test/collections/.cvsignore
===================================================================
--- trunk/psLib/test/collections/.cvsignore	(revision 3684)
+++ trunk/psLib/test/collections/.cvsignore	(revision 3690)
@@ -37,2 +37,14 @@
 tst_psArray01
 tst_psScalar
+tst_psMetadata05_OUT
+tst_psMetadata_01
+tst_psMetadata_02
+tst_psMetadata_03
+tst_psMetadata_04
+tst_psMetadata_05
+tst_psMetadata_06
+tst_psMetadata_07
+tst_psMetadataIO
+header_1.fits
+header_2.fits
+test.config
Index: trunk/psLib/test/collections/Makefile.am
===================================================================
--- trunk/psLib/test/collections/Makefile.am	(revision 3684)
+++ trunk/psLib/test/collections/Makefile.am	(revision 3690)
@@ -1,5 +1,8 @@
 #Makefile for collections functions of psLib
 #
-EXTRA_DIST = verified
+EXTRA_DIST = verified \
+	data/header_1.fits \
+	data/header_2.fits \
+	data/test.config
 
 INCLUDES = \
@@ -14,4 +17,5 @@
 
 AM_LDFLAGS = -L$(top_builddir)/src -lpslib $(PSLIB_LIBS)
+AM_CFLAGS = -DXML_CONFIG_FILE="\"$(top_srcdir)/etc/pslib/psTime.xml\""
 
 TESTS = \
@@ -30,9 +34,20 @@
          tst_psHash04          \
          tst_psHash05          \
-         tst_psScalar
+         tst_psScalar \
+         tst_psMetadataIO  \
+         tst_psMetadata_01 \
+         tst_psMetadata_02 \
+         tst_psMetadata_03 \
+         tst_psMetadata_04 \
+         tst_psMetadata_05 \
+         tst_psMetadata_06 \
+         tst_psMetadata_07
 
 check_PROGRAMS =$(TESTS)
 
-check_DATA =
+check_DATA = test.config \
+	header_1.fits \
+	header_2.fits
+
 
 TESTS_ENVIRONMENT = perl $(top_srcdir)/test/runTest -verified=$(srcdir)/verified 
@@ -57,4 +72,21 @@
 tst_psHash05_SOURCES = tst_psHash05.c
 tst_psScalar_SOURCES = tst_psScalar.c
+tst_psMetadataIO_SOURCES = tst_psMetadataIO.c
+tst_psMetadata_01_SOURCES = tst_psMetadata_01.c
+tst_psMetadata_02_SOURCES = tst_psMetadata_02.c
+tst_psMetadata_03_SOURCES = tst_psMetadata_03.c
+tst_psMetadata_04_SOURCES = tst_psMetadata_04.c
+tst_psMetadata_05_SOURCES = tst_psMetadata_05.c
+tst_psMetadata_06_SOURCES = tst_psMetadata_06.c
+tst_psMetadata_07_SOURCES = tst_psMetadata_07.c
+
+test.config: data/test.config
+	cp $? $@
+
+header_1.fits: data/header_1.fits
+	cp $? $@
+
+header_2.fits: data/header_2.fits
+	cp $? $@
 
 test: check
Index: trunk/psLib/test/collections/data/header_1.fits
===================================================================
--- trunk/psLib/test/collections/data/header_1.fits	(revision 3690)
+++ trunk/psLib/test/collections/data/header_1.fits	(revision 3690)
@@ -0,0 +1,1 @@
+SIMPLE  =                    T / file does conform to FITS standard             BITPIX  =                    8 / number of bits per data pixel                  NAXIS   =                    0 / number of data axes                            HISTORY File modified by user 'harman' with fv  on 2004-08-04T11:11:18          END                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
Index: trunk/psLib/test/collections/data/header_2.fits
===================================================================
--- trunk/psLib/test/collections/data/header_2.fits	(revision 3690)
+++ trunk/psLib/test/collections/data/header_2.fits	(revision 3690)
@@ -0,0 +1,1 @@
+SIMPLE  =                    T / file does conform to FITS standard             BITPIX  =                  -64 / number of bits per data pixel                  NAXIS   =                    1 / number of data axes                            NAXIS1  =                   64 / length of data axis 1                          EXTEND  =                    T / FITS dataset may contain extensions            COMMENT   FITS (Flexible Image Transport System) format is defined in 'AstronomyCOMMENT   and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H END                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             XTENSION= 'IMAGE   '           / IMAGE extension                                BITPIX  =                  -64 / number of bits per data pixel                  NAXIS   =                    1 / number of data axes                            NAXIS1  =                   64 / length of data axis 1                          PCOUNT  =                    0 / required keyword; must = 0                     GCOUNT  =                    1 / required keyword; must = 1                     BITPIX  =                  -64 / number of bits per data pixel                  EXTNAME = 'MY_DATA_1'                                                           HISTORY File modified by user 'harman' with fv  on 2004-08-04T13:14:45          HISTORY File modified by user 'harman' with fv  on 2004-08-04T13:15:29          HISTORY File modified by user 'harman' with fv  on 2004-08-04T13:21:18          HISTORY File modified by user 'harman' with fv  on 2004-08-04T13:21:46          END                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             XTENSION= 'IMAGE   '           / IMAGE extension                                BITPIX  =                  -64 / number of bits per data pixel                  NAXIS   =                    1 / number of data axes                            NAXIS1  =                   64 / length of data axis 1                          PCOUNT  =                    0 / required keyword; must = 0                     GCOUNT  =                    1 / required keyword; must = 1                     EXTNAME = 'MY_DATA_2'                                                           HISTORY File modified by user 'harman' with fv  on 2004-08-04T13:22:12          HISTORY File modified by user 'harman' with fv  on 2004-08-04T13:22:52          END                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
Index: trunk/psLib/test/collections/data/test.config
===================================================================
--- trunk/psLib/test/collections/data/test.config	(revision 3690)
+++ trunk/psLib/test/collections/data/test.config	(revision 3690)
@@ -0,0 +1,128 @@
+##########################################################################################################
+#  test.config
+#
+#  This is a sample metadata configuration file used to test the metadata configuration file parser. 
+#  It tests both positive and negative cases as described in the comments below.
+#
+#  author  Ross Harman, MHPCC
+#
+#  version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+#  date  $Date: 2005-04-09 00:04:58 $
+#
+#  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+##########################################################################################################
+#
+#
+#
+########## Test 1 ##########
+# Lines beginning with # are comments. The line below, as well as those above are comments. They should be ignored by the parser.
+# I am a comment.
+#
+#
+#
+########## Test 2 ##########
+# The line below is a comment that begins with some whitespace. It should be ignored by the parser.
+      #        		Another comment
+#
+#
+#
+########## Test 3 ##########
+# The line below is completely blank except for a carriage return. It should be ignored by the parser.
+
+#
+#
+#
+########## Test 4 ##########
+# The line below consists of spaces and tabs (whitespace). It should be ignored by the parser.
+     	   			                    
+#
+#
+#
+########## Test 5 ##########
+# The line below consists of a variable name, type, value, and trailing comment. It should be read by the parser
+pi          F64         3.1415926535897932384626433832795029        # Definition of pi
+#
+#
+#
+########## Test 6 ##########
+# The line below consists of a variable name, type, and value, but without a trailing comment. It should be read by the parser.
+altitude          S32         10000   
+#
+#
+#
+########## Test 7 ##########
+# The lines below contain variations in name, type, value, trailing comment, and whitespace. They should all be read by the parser.
+   time F32 1234.5678 
+ myBool     BOOL            F           # F, f, 0, T, t, 1 are also acceptable
+title1  STR   Hello world #This is a comment for the string value
+    title2  STRING   Good bye world   #    STRING or STR may be used as the string type 
+#
+#
+#
+########## Test 8 ##########
+# The line below creates a vector. It should be read by the parser.
+@primes     S32     2, 3, 5, 7, 11, 13, 17   # These are prime numbers
+#
+#
+#
+########## Test 9 ##########
+# The line below creates a vector with commas mixed with spaces in the values. It should be read by the parser.
+@negatives  S32     -1,  -2 -3    -4, -5, -6,      -7
+#
+#
+#
+########## Test 10  ##########
+# The lines below should create a folder node with children that are strings. They should be read by the parser.
+comment *STR This
+comment *STR     is
+comment *STR         an
+comment *STR             ugly
+comment *STR                 comment
+comment *STR                         but
+comment *STR                             still
+comment *STR                                 valid
+#
+#
+#
+########## Test 11  ##########
+# The line below contains an incorrect value. It should produce an error.
+xPosition    F64          9876.54qqq32
+#
+#
+#
+########## Test 12  ##########
+# The line below contains no value. It should produce an error.
+yPosition    F64          
+#
+#
+#
+########## Test 13  ##########
+# The line below contains no type. It should produce an error.
+zPosition       99.999          
+#
+#
+#
+########## Test 14  ##########
+# The line below contains two * characters. It should produce an error.
+aPosition   **          
+#
+#
+#
+########## Test 15 ##########
+# The line below contains two @ characters. It should produce an error.
+@@bPosition     F64     22.33             
+#
+#
+#
+########## Test 16 ##########
+# The line below contains a ~ character used for special processing. It should produce an error.
+range     F64     140.0 ~             
+#
+#
+#
+########## Test 17 ##########
+# The variable name below is repeated. It should produce an error if the overwrite function argument is set to false.
+# If overwrite is true, then the last name and value will be stored and there will be no error.
+speed     F32     55.55
+speed     F32     66.66
+             
Index: trunk/psLib/test/collections/tst_psHash01.c
===================================================================
--- trunk/psLib/test/collections/tst_psHash01.c	(revision 3684)
+++ trunk/psLib/test/collections/tst_psHash01.c	(revision 3690)
@@ -21,5 +21,5 @@
 {
     ID *id = psAlloc(sizeof(ID));
-    p_psMemSetDeallocator(id,(psFreeFcn)IdFree);
+    psMemSetDeallocator(id,(psFreeFcn)IdFree);
     id->name = psStringCopy(name);
 
Index: trunk/psLib/test/collections/tst_psHash02.c
===================================================================
--- trunk/psLib/test/collections/tst_psHash02.c	(revision 3684)
+++ trunk/psLib/test/collections/tst_psHash02.c	(revision 3690)
@@ -24,5 +24,5 @@
 {
     ID *id = psAlloc(sizeof(ID));
-    p_psMemSetDeallocator(id,(psFreeFcn)IdFree);
+    psMemSetDeallocator(id,(psFreeFcn)IdFree);
     id->name = psStringCopy(name);
 
Index: trunk/psLib/test/collections/tst_psHash03.c
===================================================================
--- trunk/psLib/test/collections/tst_psHash03.c	(revision 3684)
+++ trunk/psLib/test/collections/tst_psHash03.c	(revision 3690)
@@ -26,5 +26,5 @@
 
     id = psAlloc(sizeof(ID));
-    p_psMemSetDeallocator(id,(psFreeFcn)IdFree);
+    psMemSetDeallocator(id,(psFreeFcn)IdFree);
 
     id->name = psStringCopy(name);
Index: trunk/psLib/test/collections/tst_psHash04.c
===================================================================
--- trunk/psLib/test/collections/tst_psHash04.c	(revision 3684)
+++ trunk/psLib/test/collections/tst_psHash04.c	(revision 3690)
@@ -19,5 +19,5 @@
 {
     ID *id = psAlloc(sizeof(ID));
-    p_psMemSetDeallocator(id,(psFreeFcn)IdFree);
+    psMemSetDeallocator(id,(psFreeFcn)IdFree);
 
     id->name = psStringCopy(name);
Index: trunk/psLib/test/collections/verified/tst_psMetadataIO.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadataIO.stderr	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadataIO.stderr	(revision 3690)
@@ -0,0 +1,46 @@
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Failed to parse the value '9876.54qqq32' of metadata item xPosition, type F64, on line 89 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Failed to read a metadata value on line 95 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Metadata type '99.999', found on line 101 of test.config, is not invalid.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    More than one '*' character not allowed.  Found on line 107 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    More than one '@' character not allowed.  Found on line 113 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    More than one '~' character not allowed.  Found on line 119 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Failed to parse the value '9876.54qqq32' of metadata item xPosition, type F64, on line 89 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Failed to read a metadata value on line 95 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Metadata type '99.999', found on line 101 of test.config, is not invalid.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    More than one '*' character not allowed.  Found on line 107 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    More than one '@' character not allowed.  Found on line 113 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    More than one '~' character not allowed.  Found on line 119 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataAddItem (FILE:LINENO)
+    Duplicate metadata item name is not allowed.  Use a psMetadataFlags option to allow such action.
+<DATE><TIME>|<HOST>|E|psMetadataAddV (FILE:LINENO)
+    Failed to add metadata item to metadata collection list.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Duplicate Metadata item, speed, found on line 127 of test.config.  Overwrite not allowed.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Failed to parse the value '9876.54qqq32' of metadata item xPosition, type F64, on line 89 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Failed to read a metadata value on line 95 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Metadata type '99.999', found on line 101 of test.config, is not invalid.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    More than one '*' character not allowed.  Found on line 107 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    More than one '@' character not allowed.  Found on line 113 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    More than one '~' character not allowed.  Found on line 119 of test.config.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Unallowable operation: fileName is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataParseConfig (FILE:LINENO)
+    Failed to open file 'abcedfg'. Check if it exists and it has the proper permissions.
Index: trunk/psLib/test/collections/verified/tst_psMetadataIO.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadataIO.stdout	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadataIO.stdout	(revision 3690)
@@ -0,0 +1,173 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadataIO.c                                         *
+*            TestPoint: psMetadata{Test A - Read config file with overwrite set true} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Failed lines: 6 Expected: 6
+Contents of metadata list:
+ Key Name:       pi  Key mdType: 0x00000408 Key Value:           3.142  Key Comment: Definition of pi
+ Key Name: altitude  Key mdType: 0x00000104 Key Value:           10000  Key Comment: 
+ Key Name:     time  Key mdType: 0x00000404 Key Value:        1234.568  Key Comment: 
+ Key Name:   myBool  Key mdType: 0x00001301 Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
+ Key Name:   title1  Key mdType: 0x00010001 Key Value:     Hello world  Key Comment: This is a comment for the string value
+ Key Name:   title2  Key mdType: 0x00010001 Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
+ Key Name:   primes  Key mdType: 0x00010002 Key Value:   [2,3,5,7,...]  Key Comment: These are prime numbers
+ Key Name: negatives  Key mdType: 0x00010002 Key Value:  [-1,-2,-3,...]  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:            This  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:              is  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:              an  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:            ugly  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:         comment  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:             but  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:           still  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:           valid  Key Comment: 
+ Key Name:    speed  Key mdType: 0x00000404 Key Value:          66.660  Key Comment: 
+
+Contents of metadata table:
+ Key Name:  comment  Key mdType: 0x0001000a Key Value:                  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:            This  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:              is  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:              an  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:            ugly  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:         comment  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:             but  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:           still  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:           valid  Key Comment: 
+ Key Name:   title2  Key mdType: 0x00010001 Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
+ Key Name:     time  Key mdType: 0x00000404 Key Value:        1234.568  Key Comment: 
+ Key Name: negatives  Key mdType: 0x00010002 Key Value:  [-1,-2,-3,...]  Key Comment: 
+ Key Name:       pi  Key mdType: 0x00000408 Key Value:           3.142  Key Comment: Definition of pi
+ Key Name:   myBool  Key mdType: 0x00001301 Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
+ Key Name:   primes  Key mdType: 0x00010002 Key Value:   [2,3,5,7,...]  Key Comment: These are prime numbers
+ Key Name: altitude  Key mdType: 0x00000104 Key Value:           10000  Key Comment: 
+ Key Name:    speed  Key mdType: 0x00000404 Key Value:          66.660  Key Comment: 
+ Key Name:   title1  Key mdType: 0x00010001 Key Value:     Hello world  Key Comment: This is a comment for the string value
+
+---> TESTPOINT PASSED (psMetadata{Test A - Read config file with overwrite set true} | tst_psMetadataIO.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadataIO.c                                         *
+*            TestPoint: psMetadata{Test B - Read config file with overwrite set false} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Failed lines: 7 Expected: 7 Contents of metadata list:
+ Key Name:       pi  Key mdType: 0x00000408 Key Value:           3.142  Key Comment: Definition of pi
+ Key Name: altitude  Key mdType: 0x00000104 Key Value:           10000  Key Comment: 
+ Key Name:     time  Key mdType: 0x00000404 Key Value:        1234.568  Key Comment: 
+ Key Name:   myBool  Key mdType: 0x00001301 Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
+ Key Name:   title1  Key mdType: 0x00010001 Key Value:     Hello world  Key Comment: This is a comment for the string value
+ Key Name:   title2  Key mdType: 0x00010001 Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
+ Key Name:   primes  Key mdType: 0x00010002 Key Value:   [2,3,5,7,...]  Key Comment: These are prime numbers
+ Key Name: negatives  Key mdType: 0x00010002 Key Value:  [-1,-2,-3,...]  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:            This  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:              is  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:              an  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:            ugly  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:         comment  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:             but  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:           still  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:           valid  Key Comment: 
+ Key Name:    speed  Key mdType: 0x00000404 Key Value:          55.550  Key Comment: 
+
+Contents of metadata table:
+ Key Name:  comment  Key mdType: 0x0001000a Key Value:                  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:            This  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:              is  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:              an  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:            ugly  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:         comment  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:             but  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:           still  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:           valid  Key Comment: 
+ Key Name:   title2  Key mdType: 0x00010001 Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
+ Key Name:     time  Key mdType: 0x00000404 Key Value:        1234.568  Key Comment: 
+ Key Name: negatives  Key mdType: 0x00010002 Key Value:  [-1,-2,-3,...]  Key Comment: 
+ Key Name:       pi  Key mdType: 0x00000408 Key Value:           3.142  Key Comment: Definition of pi
+ Key Name:   myBool  Key mdType: 0x00001301 Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
+ Key Name:   primes  Key mdType: 0x00010002 Key Value:   [2,3,5,7,...]  Key Comment: These are prime numbers
+ Key Name: altitude  Key mdType: 0x00000104 Key Value:           10000  Key Comment: 
+ Key Name:    speed  Key mdType: 0x00000404 Key Value:          55.550  Key Comment: 
+ Key Name:   title1  Key mdType: 0x00010001 Key Value:     Hello world  Key Comment: This is a comment for the string value
+
+---> TESTPOINT PASSED (psMetadata{Test B - Read config file with overwrite set false} | tst_psMetadataIO.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadataIO.c                                         *
+*            TestPoint: psMetadata{Test C - Read config file without auto-allocation of metadata} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Failed lines: 6 Expected: 6 Contents of metadata list:
+ Key Name:       pi  Key mdType: 0x00000408 Key Value:           3.142  Key Comment: Definition of pi
+ Key Name: altitude  Key mdType: 0x00000104 Key Value:           10000  Key Comment: 
+ Key Name:     time  Key mdType: 0x00000404 Key Value:        1234.568  Key Comment: 
+ Key Name:   myBool  Key mdType: 0x00001301 Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
+ Key Name:   title1  Key mdType: 0x00010001 Key Value:     Hello world  Key Comment: This is a comment for the string value
+ Key Name:   title2  Key mdType: 0x00010001 Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
+ Key Name:   primes  Key mdType: 0x00010002 Key Value:   [2,3,5,7,...]  Key Comment: These are prime numbers
+ Key Name: negatives  Key mdType: 0x00010002 Key Value:  [-1,-2,-3,...]  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:            This  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:              is  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:              an  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:            ugly  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:         comment  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:             but  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:           still  Key Comment: 
+ Key Name:  comment  Key mdType: 0x00010001 Key Value:           valid  Key Comment: 
+ Key Name:    speed  Key mdType: 0x00000404 Key Value:          66.660  Key Comment: 
+
+Contents of metadata table:
+ Key Name:  comment  Key mdType: 0x0001000a Key Value:                  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:            This  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:              is  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:              an  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:            ugly  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:         comment  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:             but  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:           still  Key Comment: 
+    Key Name:  comment  Key mdType: 0x00010001 Key Value:           valid  Key Comment: 
+ Key Name:   title2  Key mdType: 0x00010001 Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
+ Key Name:     time  Key mdType: 0x00000404 Key Value:        1234.568  Key Comment: 
+ Key Name: negatives  Key mdType: 0x00010002 Key Value:  [-1,-2,-3,...]  Key Comment: 
+ Key Name:       pi  Key mdType: 0x00000408 Key Value:           3.142  Key Comment: Definition of pi
+ Key Name:   myBool  Key mdType: 0x00001301 Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
+ Key Name:   primes  Key mdType: 0x00010002 Key Value:   [2,3,5,7,...]  Key Comment: These are prime numbers
+ Key Name: altitude  Key mdType: 0x00000104 Key Value:           10000  Key Comment: 
+ Key Name:    speed  Key mdType: 0x00000404 Key Value:          66.660  Key Comment: 
+ Key Name:   title1  Key mdType: 0x00010001 Key Value:     Hello world  Key Comment: This is a comment for the string value
+
+---> TESTPOINT PASSED (psMetadata{Test C - Read config file without auto-allocation of metadata} | tst_psMetadataIO.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadataIO.c                                         *
+*            TestPoint: psMetadataIO{Test D - Attempt to use null fileName argument} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null failedLines not allowed                               *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test D - Attempt to use null fileName argument} | tst_psMetadataIO.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadataIO.c                                         *
+*            TestPoint: psMetadataIO{Test E - Attempt to open nonexistant file}    *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Error opening file                                         *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test E - Attempt to open nonexistant file} | tst_psMetadataIO.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadataIO.c                                         *
+*            TestPoint: psMetadata{Test F - Free psMetadata}                       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test F - Free psMetadata} | tst_psMetadataIO.c)
+
Index: trunk/psLib/test/collections/verified/tst_psMetadata_01.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_01.stderr	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_01.stderr	(revision 3690)
@@ -0,0 +1,14 @@
+<DATE><TIME>|<HOST>|E|psMetadataReadHeader (FILE:LINENO)
+    Unallowable operation: fileName is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataReadHeader (FILE:LINENO)
+    FITS error while opening file: missing.dat could not open the named file
+<DATE><TIME>|<HOST>|E|psMetadataReadHeader (FILE:LINENO)
+    Couldn't close FITS file. FITS error: NULL input pointer
+<DATE><TIME>|<HOST>|E|psMetadataReadHeader (FILE:LINENO)
+    Specified extension number, 0, is invalid.  Value must be positive if no extension name is given.
+<DATE><TIME>|<HOST>|E|psMetadataReadHeader (FILE:LINENO)
+    FITS error while locating header 22: tried to move past end of file
+<DATE><TIME>|<HOST>|E|psMetadataReadHeader (FILE:LINENO)
+    FITS error while locating header AARGH: illegal HDU number
+<DATE><TIME>|<HOST>|E|psMetadataReadHeader (FILE:LINENO)
+    Specified extension number, 0, is invalid.  Value must be positive if no extension name is given.
Index: trunk/psLib/test/collections/verified/tst_psMetadata_01.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_01.stdout	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_01.stdout	(revision 3690)
@@ -0,0 +1,194 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test A - Read 1st hdr from simple FITS file}    *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Contents of metadata list:
+ Key Name:   SIMPLE  Key mdType: 0x00001301  Key Value:               1  Key Comment: file does conform to FITS standard
+ Key Name:   BITPIX  Key mdType: 0x00000104  Key Value:               8  Key Comment: number of bits per data pixel
+ Key Name:    NAXIS  Key mdType: 0x00000104  Key Value:               0  Key Comment: number of data axes
+ Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+
+Contents of metadata table:
+ Key Name:    NAXIS  Key mdType: 0x00000104  Key Value:               0  Key Comment: number of data axes
+ Key Name:   SIMPLE  Key mdType: 0x00001301  Key Value:               1  Key Comment: file does conform to FITS standard
+ Key Name:   BITPIX  Key mdType: 0x00000104  Key Value:               8  Key Comment: number of bits per data pixel
+ Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+
+---> TESTPOINT PASSED (psMetadata{Test A - Read 1st hdr from simple FITS file} | tst_psMetadata_01.c)
+
+ID=34
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test B - Read 2nd hdr from complex FITS file}   *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Contents of metadata list:
+ Key Name: XTENSION  Key mdType: 0x00010001  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
+ Key Name:   BITPIX  Key mdType: 0x00000104  Key Value:             -64  Key Comment: number of bits per data pixel
+ Key Name:    NAXIS  Key mdType: 0x00000104  Key Value:               1  Key Comment: number of data axes
+ Key Name:   NAXIS1  Key mdType: 0x00000104  Key Value:              64  Key Comment: length of data axis 1
+ Key Name:   PCOUNT  Key mdType: 0x00000104  Key Value:               0  Key Comment: required keyword; must = 0
+ Key Name:   GCOUNT  Key mdType: 0x00000104  Key Value:               1  Key Comment: required keyword; must = 1
+ Key Name:   BITPIX  Key mdType: 0x00000104  Key Value:             -64  Key Comment: number of bits per data pixel
+ Key Name:  EXTNAME  Key mdType: 0x00010001  Key Value:     'MY_DATA_1'  Key Comment: 
+ Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+ Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+ Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+ Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+
+Contents of metadata table:
+ Key Name:    NAXIS  Key mdType: 0x00000104  Key Value:               1  Key Comment: number of data axes
+ Key Name:   NAXIS1  Key mdType: 0x00000104  Key Value:              64  Key Comment: length of data axis 1
+ Key Name:   PCOUNT  Key mdType: 0x00000104  Key Value:               0  Key Comment: required keyword; must = 0
+ Key Name: XTENSION  Key mdType: 0x00010001  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
+ Key Name:   BITPIX  Key mdType: 0x0001000a  Key Value:                  Key Comment: 
+    Key Name:   BITPIX  Key mdType: 0x00000104  Key Value:             -64  Key Comment: number of bits per data pixel
+    Key Name:   BITPIX  Key mdType: 0x00000104  Key Value:             -64  Key Comment: number of bits per data pixel
+ Key Name:   GCOUNT  Key mdType: 0x00000104  Key Value:               1  Key Comment: required keyword; must = 1
+ Key Name:  HISTORY  Key mdType: 0x0001000a  Key Value:                  Key Comment: 
+    Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+    Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+    Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+    Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+ Key Name:  EXTNAME  Key mdType: 0x00010001  Key Value:     'MY_DATA_1'  Key Comment: 
+
+---> TESTPOINT PASSED (psMetadata{Test B - Read 2nd hdr from complex FITS file} | tst_psMetadata_01.c)
+
+ID=138
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test C - Read named hdr from complex FITS file} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Contents of metadata list:
+ Key Name: XTENSION  Key mdType: 0x00010001  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
+ Key Name:   BITPIX  Key mdType: 0x00000104  Key Value:             -64  Key Comment: number of bits per data pixel
+ Key Name:    NAXIS  Key mdType: 0x00000104  Key Value:               1  Key Comment: number of data axes
+ Key Name:   NAXIS1  Key mdType: 0x00000104  Key Value:              64  Key Comment: length of data axis 1
+ Key Name:   PCOUNT  Key mdType: 0x00000104  Key Value:               0  Key Comment: required keyword; must = 0
+ Key Name:   GCOUNT  Key mdType: 0x00000104  Key Value:               1  Key Comment: required keyword; must = 1
+ Key Name:  EXTNAME  Key mdType: 0x00010001  Key Value:     'MY_DATA_2'  Key Comment: 
+ Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+ Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+
+Contents of metadata table:
+ Key Name:    NAXIS  Key mdType: 0x00000104  Key Value:               1  Key Comment: number of data axes
+ Key Name:   NAXIS1  Key mdType: 0x00000104  Key Value:              64  Key Comment: length of data axis 1
+ Key Name:   PCOUNT  Key mdType: 0x00000104  Key Value:               0  Key Comment: required keyword; must = 0
+ Key Name: XTENSION  Key mdType: 0x00010001  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
+ Key Name:   GCOUNT  Key mdType: 0x00000104  Key Value:               1  Key Comment: required keyword; must = 1
+ Key Name:   BITPIX  Key mdType: 0x00000104  Key Value:             -64  Key Comment: number of bits per data pixel
+ Key Name:  HISTORY  Key mdType: 0x0001000a  Key Value:                  Key Comment: 
+    Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+    Key Name:  HISTORY  Key mdType: 0x00010001  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
+ Key Name:  EXTNAME  Key mdType: 0x00010001  Key Value:     'MY_DATA_2'  Key Comment: 
+
+---> TESTPOINT PASSED (psMetadata{Test C - Read named hdr from complex FITS file} | tst_psMetadata_01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test D - Remove items with same name from all metadata} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Removed HISTORY from all metadata from prior test. Resulting metadata:
+
+Contents of metadata list:
+ Key Name: XTENSION  Key mdType: 0x00010001  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
+ Key Name:   BITPIX  Key mdType: 0x00000104  Key Value:             -64  Key Comment: number of bits per data pixel
+ Key Name:    NAXIS  Key mdType: 0x00000104  Key Value:               1  Key Comment: number of data axes
+ Key Name:   NAXIS1  Key mdType: 0x00000104  Key Value:              64  Key Comment: length of data axis 1
+ Key Name:   PCOUNT  Key mdType: 0x00000104  Key Value:               0  Key Comment: required keyword; must = 0
+ Key Name:   GCOUNT  Key mdType: 0x00000104  Key Value:               1  Key Comment: required keyword; must = 1
+ Key Name:  EXTNAME  Key mdType: 0x00010001  Key Value:     'MY_DATA_2'  Key Comment: 
+
+Contents of metadata table:
+ Key Name:    NAXIS  Key mdType: 0x00000104  Key Value:               1  Key Comment: number of data axes
+ Key Name:   NAXIS1  Key mdType: 0x00000104  Key Value:              64  Key Comment: length of data axis 1
+ Key Name:   PCOUNT  Key mdType: 0x00000104  Key Value:               0  Key Comment: required keyword; must = 0
+ Key Name: XTENSION  Key mdType: 0x00010001  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
+ Key Name:   GCOUNT  Key mdType: 0x00000104  Key Value:               1  Key Comment: required keyword; must = 1
+ Key Name:   BITPIX  Key mdType: 0x00000104  Key Value:             -64  Key Comment: number of bits per data pixel
+ Key Name:  EXTNAME  Key mdType: 0x00010001  Key Value:     'MY_DATA_2'  Key Comment: 
+
+---> TESTPOINT PASSED (psMetadata{Test D - Remove items with same name from all metadata} | tst_psMetadata_01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test E - Attempt to use null filename}          *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null fileName not allowed                                  *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test E - Attempt to use null filename} | tst_psMetadata_01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test F - Attempt to open nonexistant file}      *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: FITS error while opening file: missing.dat...Couldn't close FITS file... *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test F - Attempt to open nonexistant file} | tst_psMetadata_01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test G - Attempt to use two null inputs}        *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null extName and extNum = 0 not allowed                    *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test G - Attempt to use two null inputs} | tst_psMetadata_01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test H - Attempt to use bad extNum}             *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: FITS error while locating header 22: tried to move past end of file *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test H - Attempt to use bad extNum} | tst_psMetadata_01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test I - Attempt to use bad extName}            *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: FITS error while locating header AARGH: illegal HDU number *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test I - Attempt to use bad extName} | tst_psMetadata_01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test J - Read named hdr w/ invalid extnum}      *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: If extName specified, extNum should be -1.                 *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test J - Read named hdr w/ invalid extnum} | tst_psMetadata_01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_01.c                                        *
+*            TestPoint: psMetadata{Test K - Free psMetadata}                       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test K - Free psMetadata} | tst_psMetadata_01.c)
+
Index: trunk/psLib/test/collections/verified/tst_psMetadata_02.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_02.stderr	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_02.stderr	(revision 3690)
@@ -0,0 +1,10 @@
+<DATE><TIME>|<HOST>|I|main
+    Following should produce error for null name.
+<DATE><TIME>|<HOST>|E|psMetadataItemAllocV (FILE:LINENO)
+    Unallowable operation: name is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataItemAllocV (FILE:LINENO)
+    Specified psMetadataType, -1, is not supported.
+<DATE><TIME>|<HOST>|E|psMetadataAddItem (FILE:LINENO)
+    Unallowable operation: md is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataAddItem (FILE:LINENO)
+    Unallowable operation: metadataItem is NULL.
Index: trunk/psLib/test/collections/verified/tst_psMetadata_02.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_02.stdout	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_02.stdout	(revision 3690)
@@ -0,0 +1,76 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_02.c                                        *
+*            TestPoint: psMetadata{Test A - Allocate metadata items}               *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Key Name:  myItem1  Key mdType: 0x00001301  Key Value:               1  Key Comment: I am a boolean
+Key Name:  myItem2  Key mdType: 0x00000104  Key Value:             111  Key Comment: I am a signed integer
+Key Name:  myItem3  Key mdType: 0x00000404  Key Value:         222.222  Key Comment: I am a single precision floating point
+Key Name:  myItem4  Key mdType: 0x00000408  Key Value:         333.333  Key Comment: I am a double precision floating point
+Key Name:  myItem5  Key mdType: 0x00010001  Key Value:     HELLO WORLD  Key Comment: I am a string
+
+---> TESTPOINT PASSED (psMetadata{Test A - Allocate metadata items} | tst_psMetadata_02.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_02.c                                        *
+*            TestPoint: psMetadata{Test B - Attempt to create metadata item with null name} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null value for name not allowed                            *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test B - Attempt to create metadata item with null name} | tst_psMetadata_02.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_02.c                                        *
+*            TestPoint: psMetadata{Test C - Attempt to create metadata item with invalid type} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Invalid psMetadataType: 6                                  *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test C - Attempt to create metadata item with invalid type} | tst_psMetadata_02.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_02.c                                        *
+*            TestPoint: psMetadata{Test D - Allocate metadata}                     *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test D - Allocate metadata} | tst_psMetadata_02.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_02.c                                        *
+*            TestPoint: psMetadata{Test E - Attempt to add metadata item to null metadata} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null metadata collection not allowed                       *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test E - Attempt to add metadata item to null metadata} | tst_psMetadata_02.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_02.c                                        *
+*            TestPoint: psMetadata{Test F - Attempt to add null metadata item to metadata} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null metadata item not allowed                             *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test F - Attempt to add null metadata item to metadata} | tst_psMetadata_02.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_02.c                                        *
+*            TestPoint: psMetadata{Test G - Free psMetadata}                       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test G - Free psMetadata} | tst_psMetadata_02.c)
+
Index: trunk/psLib/test/collections/verified/tst_psMetadata_03.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_03.stderr	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_03.stderr	(revision 3690)
@@ -0,0 +1,20 @@
+<DATE><TIME>|<HOST>|E|psMetadataRemove (FILE:LINENO)
+    Unallowable operation: md is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataRemove (FILE:LINENO)
+    Failed to remove metadata item, AARGH, from metadata table.
+<DATE><TIME>|<HOST>|E|psMetadataRemove (FILE:LINENO)
+    Could not find metadata item at index 22.
+<DATE><TIME>|<HOST>|E|psMetadataAddItem (FILE:LINENO)
+    Unallowable operation: md->table is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataRemove (FILE:LINENO)
+    Unallowable operation: md->table is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataAddItem (FILE:LINENO)
+    Unallowable operation: md->list is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataRemove (FILE:LINENO)
+    Unallowable operation: md->list is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataAddItem (FILE:LINENO)
+    Unallowable operation: metadataItem->name is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataAddItem (FILE:LINENO)
+    Unallowable operation: md->table is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataAddV (FILE:LINENO)
+    Failed to add metadata item to metadata collection list.
Index: trunk/psLib/test/collections/verified/tst_psMetadata_03.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_03.stdout	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_03.stdout	(revision 3690)
@@ -0,0 +1,117 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test A - Allocate metadata items}               *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Key Name:  myItem1  Key mdType: 0x00001301  Key Value:               1  Key Comment: I am a boolean
+Key Name:  myItem2  Key mdType: 0x00000104  Key Value:              55  Key Comment: I am a integer
+Key Name:  myItem3  Key mdType: 0x00001301  Key Value:               0  Key Comment: I am a boolean
+Key Name:  myItem4  Key mdType: 0x00000104  Key Value:              66  Key Comment: I am a integer
+
+---> TESTPOINT PASSED (psMetadata{Test A - Allocate metadata items} | tst_psMetadata_03.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test B - Remove items from metadata by name}    *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test B - Remove items from metadata by name} | tst_psMetadata_03.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test C - Remove items from metadata by index}   *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test C - Remove items from metadata by index} | tst_psMetadata_03.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test D - Attempt to use null metadata}          *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null metadata collection not allowed                       *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test D - Attempt to use null metadata} | tst_psMetadata_03.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test E - Attempt to remove non-existant metadata item by name} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Couldn't find metadata item. Name: AARGH                   *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test E - Attempt to remove non-existant metadata item by name} | tst_psMetadata_03.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test E - Attempt to remove non-existant metadata item by index} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Couldn't find metadata item in list. Index: 22             *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test E - Attempt to remove non-existant metadata item by index} | tst_psMetadata_03.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test G - Attempt to add item to metadata w/o hash table} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Couldn't add item to invalid metadata structure.           *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test G - Attempt to add item to invalid metadata w/o hash table} | tst_psMetadata_03.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test H - Attempt to add item to metadata w/o link list} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Couldn't add item to invalid metadata structure.           *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test H - Attempt to add item to invalid metadata w/o link list} | tst_psMetadata_03.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test I - Attempt to add item with null name}    *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Couldn't add item with null name.                          *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test I - Attempt to add item with null name} | tst_psMetadata_03.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test J - Attempt to add item to metadata w/o hash table} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Couldn't add item to invalid metadata structure.           *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test J - Attempt to add item to invalid metadata w/o hash table} | tst_psMetadata_03.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_03.c                                        *
+*            TestPoint: psMetadata{Test K - Free psMetadata}                       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test K - Free psMetadata} | tst_psMetadata_03.c)
+
Index: trunk/psLib/test/collections/verified/tst_psMetadata_04.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_04.stderr	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_04.stderr	(revision 3690)
@@ -0,0 +1,16 @@
+<DATE><TIME>|<HOST>|E|psMetadataLookup (FILE:LINENO)
+    Unallowable operation: md is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataLookup (FILE:LINENO)
+    Unallowable operation: key is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataGet (FILE:LINENO)
+    Unallowable operation: md is NULL.
+<DATE><TIME>|<HOST>|E|psListIteratorSet (FILE:LINENO)
+    Specified location, 22, is invalid.
+<DATE><TIME>|<HOST>|E|psListGet (FILE:LINENO)
+    Specified location, 22, is invalid.
+<DATE><TIME>|<HOST>|E|psMetadataGet (FILE:LINENO)
+    Could not find metadata item at index 22.
+<DATE><TIME>|<HOST>|E|psMetadataLookup (FILE:LINENO)
+    Unallowable operation: md->table is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataGet (FILE:LINENO)
+    Unallowable operation: md->list is NULL.
Index: trunk/psLib/test/collections/verified/tst_psMetadata_04.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_04.stdout	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_04.stdout	(revision 3690)
@@ -0,0 +1,174 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test A - Allocate metadata items}               *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Key Name:  myItem1  Key mdType: 0x00001301  Key Value:               1  Key Comment: I am a boolean
+Key Name:  myItem2  Key mdType: 0x00000104  Key Value:              55  Key Comment: I am a integer
+Key Name:  myItem3  Key mdType: 0x00001301  Key Value:               0  Key Comment: I am a boolean
+Key Name:  myItem4  Key mdType: 0x00000104  Key Value:              66  Key Comment: I am a integer
+Key Name:  myItem5  Key mdType: 0x00000408  Key Value:           3.140  Key Comment: I am a double
+
+---> TESTPOINT PASSED (psMetadata{Test A - Allocate metadata items} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test B - Lookup metadata item by name}          *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Found item named myItem2
+
+---> TESTPOINT PASSED (psMetadata{Test B - Lookup metadata item by name} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test C - Attempt to use null metadata}          *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null metadata collection not allowed                       *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test C - Attempt to use null metadata} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test D - Attempt to use null key}               *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null key name not allowed                                  *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test D - Attempt to use null key} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test E - Attempt to lookup non-existant metadata item} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Couldn't find metadata item. Name: AARGH                   *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test E - Attempt to lookup non-existant metadata item} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test F - Lookup metadata item by index}         *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Found item named myItem6
+
+---> TESTPOINT PASSED (psMetadata{Test F - Lookup metadata item by index} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test G - Lookup metadata item and return psS32 value} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test G - Lookup metadata item and return psS32 value} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test H - Lookup metadata item and return psF64 value} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test H - Lookup metadata item and return psF64 value} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test I - Lookup metadata item and return psVector pointer} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test I - Lookup metadata item and return psVector pointer} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test J - Attempt to use null metadata}          *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null metadata collection not allowed                       *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test J - Attempt to use null metadata} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test K - Attempt to get non-existant metadata item} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Couldn't find metadata item with given index. Index: 22    *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test K - Attempt to get non-existant metadata item} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test L - Attemp to look up with an invalid metadata} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Lookup item with invalid metadata object.                  *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test L - Attempt to lookup an invalid metadata object.} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test M - Attempt to get item with an invalid metadata} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Get item with invalid metadata object.                     *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test M - Attempt to get item with  invalid metadata object} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test N - Attempt get psS32 value of non-existant metadata item} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test N - Attempt get psS32 value of non-existant metadata item} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test O - Attempt get psF64 value of non-existant metadata item} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test O - Attempt get psF64 value of non-existant metadata item} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test P - Attempt get psVector value of non-existant metadata item} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test P - Attempt get psVector value of non-existant metadata item} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test Q - Free psMetadata}                       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test Q - Free psMetadata} | tst_psMetadata_04.c)
+
Index: trunk/psLib/test/collections/verified/tst_psMetadata_05.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_05.stderr	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_05.stderr	(revision 3690)
@@ -0,0 +1,6 @@
+<DATE><TIME>|<HOST>|E|psMetadataItemPrint (FILE:LINENO)
+    Unallowable operation: fd is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataItemPrint (FILE:LINENO)
+    Unallowable operation: format is NULL.
+<DATE><TIME>|<HOST>|E|psMetadataItemPrint (FILE:LINENO)
+    Unallowable operation: metadataItem is NULL.
Index: trunk/psLib/test/collections/verified/tst_psMetadata_05.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_05.stdout	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_05.stdout	(revision 3690)
@@ -0,0 +1,64 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_05.c                                        *
+*            TestPoint: psMetadata{Test A - Allocate metadata items}               *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Key Name:  myItem1  Key mdType: 0x00001301  Key Value:               1  Key Comment: I am a boolean
+Key Name:  myItem2  Key mdType: 0x00000104  Key Value:              55  Key Comment: I am a integer
+Key Name:  myItem3  Key mdType: 0x00001301  Key Value:               0  Key Comment: I am a boolean
+Key Name:  myItem4  Key mdType: 0x00000104  Key Value:              66  Key Comment: I am a integer
+
+---> TESTPOINT PASSED (psMetadata{Test A - Allocate metadata items} | tst_psMetadata_05.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_05.c                                        *
+*            TestPoint: psMetadata{Test F - Write metadata item to file}           *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test F - Write metadata item to file} | tst_psMetadata_05.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_05.c                                        *
+*            TestPoint: psMetadata{Test J - Attempt to use null file with itemPrint} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null file descriptor not allowed                           *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test J - Attempt to use null file with itemPrint} | tst_psMetadata_05.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_05.c                                        *
+*            TestPoint: psMetadata{Test K - Attempt to use null format with itemPrint} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null format not allowed                                    *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test K - Attempt to use null format with itemPrint} | tst_psMetadata_05.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_05.c                                        *
+*            TestPoint: psMetadata{Test L - Attempt to use null item with itemPrint} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Null metadata not allowed                                  *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test L - Attempt to use null item with itemPrint} | tst_psMetadata_05.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_05.c                                        *
+*            TestPoint: psMetadata{Test M - Free psMetadata}                       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test M - Free psMetadata} | tst_psMetadata_05.c)
+
Index: trunk/psLib/test/collections/verified/tst_psMetadata_06.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_06.stdout	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_06.stdout	(revision 3690)
@@ -0,0 +1,50 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_06.c                                        *
+*            TestPoint: psMetadata{Test A - Allocate metadata and items}           *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Key Name:  myItem1  Key mdType: 0x00001301  Key Value:               1  Key Comment: I am a boolean
+Key Name:  myItem1  Key mdType: 0x00000104  Key Value:             111  Key Comment: I am a signed integer
+Key Name:  myItem1  Key mdType: 0x00000104  Key Value:             222  Key Comment: I am a signed integer
+Key Name:  myItem2  Key mdType: 0x00000104  Key Value:             333  Key Comment: I am a signed integer
+Key Name:  myItem2  Key mdType: 0x00010000  Key Value:          psList  Key Comment: I am a list
+
+---> TESTPOINT PASSED (psMetadata{Test A - Allocate metadata and items} | tst_psMetadata_06.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_06.c                                        *
+*            TestPoint: psMetadata{Test B - replace an item in the metadata}       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test B - replace an item in the metadata} | tst_psMetadata_06.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_06.c                                        *
+*            TestPoint: psMetadata{Test C - add duplicate-key metadata item}       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test C - add duplicate-key metadata item} | tst_psMetadata_06.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_06.c                                        *
+*            TestPoint: psMetadata{Test D - Add folder node on top of existing leaf node} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test D - Add folder node on top of existing leaf node} | tst_psMetadata_06.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_06.c                                        *
+*            TestPoint: psMetadata{Test E - Free psMetadata}                       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test E - Free psMetadata} | tst_psMetadata_06.c)
+
Index: trunk/psLib/test/collections/verified/tst_psMetadata_07.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psMetadata_07.stdout	(revision 3690)
+++ trunk/psLib/test/collections/verified/tst_psMetadata_07.stdout	(revision 3690)
@@ -0,0 +1,18 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_07.c                                        *
+*            TestPoint: psMetadata{Test A - Read an XML config file}               *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test A - Read an XML config file} | tst_psMetadata_07.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_07.c                                        *
+*            TestPoint: psMetadata{Test B - Free data}                             *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test B - Free data} | tst_psMetadata_07.c)
+
