Index: /trunk/psLib/src/pstap.h
===================================================================
--- /trunk/psLib/src/pstap.h	(revision 8234)
+++ /trunk/psLib/src/pstap.h	(revision 8234)
@@ -0,0 +1,6 @@
+#include <pslib.h>
+#include "tap.h"
+
+#define done() ok(psMemCheckLeaks(0, NULL, stdout, false) == 0, "Memory Leaks"); \
+return exit_status()
+
Index: /trunk/psLib/test/sys/tap_psStringSubstitute.c
===================================================================
--- /trunk/psLib/test/sys/tap_psStringSubstitute.c	(revision 8233)
+++ /trunk/psLib/test/sys/tap_psStringSubstitute.c	(revision 8234)
@@ -29,5 +29,6 @@
         ok(input && strcmp(input, ORIGINAL) == 0, "output = %s", input);
         //        psFree(input);
-        ok(psMemCheckLeaks(0, NULL, stdout, false) == 0, "Memory Leaks");
+        //        ok(psMemCheckLeaks(0, NULL, stdout, false) == 0, "Memory Leaks");
+        mem();
     }
 
@@ -38,4 +39,5 @@
         ok(output && strcmp(output, CORRECTED) == 0, "output = %s", output);
         psFree(output);
+        mem();
     }
 
@@ -46,4 +48,5 @@
         ok(output && strcmp(output, CORRECTED) == 0, "output = %s", output);
         psFree(output);
+        mem();
     }
 
@@ -52,4 +55,5 @@
         psString output = psStringSubstitute(NULL, "XXX", ",");
         ok(!output, "output = %s", output);
+        mem();
     }
 
@@ -60,4 +64,5 @@
         ok(output && strcmp(output, input) == 0, "output = %s", output);
         psFree(output);
+        mem();
     }
 
@@ -68,4 +73,5 @@
         ok(output && strcmp(output, "This is! a! test case! to check.") == 0, "output = %s", output);
         psFree(output);
+        mem();
     }
 
@@ -78,4 +84,5 @@
            "output = %s", output);
         psFree(output);
+        mem();
     }
 
Index: /trunk/psLib/test/types/Makefile.am
===================================================================
--- /trunk/psLib/test/types/Makefile.am	(revision 8233)
+++ /trunk/psLib/test/types/Makefile.am	(revision 8234)
@@ -29,5 +29,6 @@
 	tap_psMetadataIterator \
 	tap_psListIterator \
-	tap_psMetadataConfigParse
+	tap_psMetadataConfigParse \
+	tap_psMetadataItemCompare
 
 
@@ -61,4 +62,7 @@
 tap_psMetadataConfigParse_CPPFLAGS   = $(AM_CPPFLAGS) -I$(top_srcdir)/test/tap/src
 tap_psMetadataConfigParse_LDFLAGS    = $(AM_LDFLAGS) $(top_builddir)/test/tap/src/libtap.la
+
+tap_psMetadataItemCompare_CPPFLAGS   = $(AM_CPPFLAGS) -I$(top_srcdir)/test/tap/src
+tap_psMetadataItemCompare_LDFLAGS    = $(AM_LDFLAGS) $(top_builddir)/test/tap/src/libtap.la
 
 check_DATA = \
Index: /trunk/psLib/test/types/tap_psMetadataItemCompare.c
===================================================================
--- /trunk/psLib/test/types/tap_psMetadataItemCompare.c	(revision 8233)
+++ /trunk/psLib/test/types/tap_psMetadataItemCompare.c	(revision 8234)
@@ -1,30 +1,78 @@
 #include <stdio.h>
-#include <pslib.h>
-#include "tap.h"
+#include "pstap.h"
 
 int main (void)
 {
-    plan_tests(8);
+    psMetadataItem *compare = NULL;
+    psMetadataItem *template = NULL;
+    psMetadataItem *itemCopy = NULL;
+    psMetadataItem *item = psMetadataItemAlloc("Snickers", PS_DATA_BOOL, "No Comment", true)
+                           ;
+    plan_tests(7);
 
     diag("psMetadataItemCompare() tests");
 
-    // Return input for NULL key
+    //Return false for NULL compare psMetadataItem
     {
-        psString input = psStringCopy(ORIGINAL);
-        psString output = psStringSubstitute(input, ",", NULL);
-        ok(output && strcmp(output, ORIGINAL) == 0, "output = %s", output);
-        psFree(output);
+        ok( !psMetadataItemCompare(compare, item),
+            "return false for NULL compare input." );
     }
 
+    //Return false for NULL template psMetadataItem
+    {
+        ok( !psMetadataItemCompare(item, template),
+            "return false for NULL template input." )
+        ;
+    }
 
+    template = psMetadataItemAlloc("Milky Way", PS_DATA_BOOL, "No Comment", true)
+               ;
+    compare = psMetadataItemAlloc("Snickers", PS_DATA_S32, "No Comment", 1);
 
+    //Return false for psMetadataItem's with different names
+    {
+        ok( !psMetadataItemCompare(template, item),
+            "return false for input with different names." )
+        ;
+    }
 
+    //Return true for psMetadataItem's with different types but otherwise identical
+    {
+        ok( psMetadataItemCompare(compare, item),
+            "return true for valid compare of different type." );
+    }
 
+    //Return false for comparing Bool with F32
+    psFree(compare);
+    compare = psMetadataItemAlloc("Snickers", PS_DATA_F64, "No Comment", 1.0000);
+    {
+        ok( !psMetadataItemCompare(compare, item),
+            "return false for comparison of F64 to bool." );
+    }
 
+    //Return true for comparing S32 with F32 of same value
+    psFree(template)
+    ;
+    template = psMetadataItemAlloc("Snickers", PS_DATA_S32, "No Comment", 1)
+               ;
+    psFree(compare);
+    compare = psMetadataItemAlloc("Snickers", PS_DATA_F32, "No Comment", 1.00);
+    {
+        ok( psMetadataItemCompare(compare, template),
+            "return true for comparison of S32 to F32." )
+        ;
+    }
 
+    //Check for Memory Leaks before exit
+    {
+        psFree(compare);
+        psFree(template)
+        ;
+        psFree(itemCopy);
+        psFree(item);
+    }
 
-
-
-    return exit_status();
+    //    return exit_status();
+    done();
 }
 
Index: /trunk/psLib/test/types/tst_psMetadata_01.c
===================================================================
--- /trunk/psLib/test/types/tst_psMetadata_01.c	(revision 8233)
+++ /trunk/psLib/test/types/tst_psMetadata_01.c	(revision 8234)
@@ -5,6 +5,6 @@
 *  @author  dRob, MHPCC
 *
-*  @version $Revision: 1.11 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2006-08-08 01:27:45 $
+*  @version $Revision: 1.12 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2006-08-09 00:06:26 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -20,4 +20,5 @@
 static psS32 testMetadataPrint(void);
 static psS32 testMetadataItemCompare(void);
+static psS32 testMetadataItemParse(void);
 
 testDescription tests[] = {
@@ -26,4 +27,5 @@
                               {testMetadataPrint,667,"psMetadataPrint",0,false},
                               {testMetadataItemCompare,669,"psMetadataItemCompare",0,false},
+                              {testMetadataItemParse,665,"psMetadataItemParse",0,false},
                               {NULL}
                           };
@@ -289,2 +291,9 @@
 }
 
+psS32 testMetadataItemParse(void)
+{
+
+    return 0;
+}
+
+
