Index: /trunk/psLib/test/astronomy/tst_psMetadata_04.c
===================================================================
--- /trunk/psLib/test/astronomy/tst_psMetadata_04.c	(revision 2022)
+++ /trunk/psLib/test/astronomy/tst_psMetadata_04.c	(revision 2023)
@@ -14,9 +14,10 @@
 *     Test H - Attempt to get non-existant metadata item
 *     Test I - Free psMetadata
+*     Test J - Attempt to look up with an invalid metadata object
 *
 *  @author  Ross Harman, MHPCC
 *
-*  @version $Revision: 1.4 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2004-09-21 23:24:42 $
+*  @version $Revision: 1.5 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2004-10-08 20:53:21 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -71,5 +72,6 @@
     psMetadataItem *item = NULL;
     psMetadata *metadata = NULL;
-
+    psHash* tmpTable = NULL;
+    psList* tmpList = NULL;
 
     // Test A - Allocate metadata and items
@@ -97,4 +99,5 @@
     if(item == NULL) {
         printf("ERROR: Item should not be null\n");
+        return 10;
     }
     printFooter(stdout, "psMetadata", "Test B - Lookup metadata item by name", true);
@@ -104,5 +107,8 @@
     printNegativeTestHeader(stdout,"psMetadata", "Test C - Attempt to use null metadata",
                             "Null metadata collection not allowed", 0);
-    psMetadataLookup(NULL, "myItem2");
+    if ( psMetadataLookup(NULL, "myItem2") != NULL ) {
+        psError(__func__,"psMetadataLookup did not return NULL with null metadata.");
+        return 11;
+    }
     printFooter(stdout, "psMetadata", "Test C - Attempt to use null metadata", true);
 
@@ -111,5 +117,8 @@
     printNegativeTestHeader(stdout,"psMetadata", "Test D - Attempt to use null key",
                             "Null key name not allowed", 0);
-    psMetadataLookup(metadata, NULL);
+    if ( psMetadataLookup(metadata, NULL) != NULL ) {
+        psError(__func__,"psMetadata did not return NULL with null key.");
+        return 12;
+    }
     printFooter(stdout, "psMetadata", "Test D - Attempt to use null key", true);
 
@@ -118,5 +127,8 @@
     printNegativeTestHeader(stdout,"psMetadata", "Test E - Attempt to lookup non-existant metadata item",
                             "Couldn't find metadata item. Name: AARGH", 0);
-    psMetadataLookup(metadata, "AARGH");
+    if ( psMetadataLookup(metadata, "AARGH") != NULL ) {
+        psError(__func__,"psMetadata did not return NULL with a non-existant item.");
+        return 13;
+    }
     printFooter(stdout, "psMetadata", "Test E - Attempt to lookup non-existant metadata item", true);
 
@@ -128,4 +140,5 @@
     if(item == NULL) {
         printf("ERROR: Item should not be null\n");
+        return 14;
     }
     printFooter(stdout, "psMetadata", "Test F - Lookup metadata item by index", true);
@@ -136,4 +149,8 @@
                             "Null metadata collection not allowed", 0);
     item = psMetadataGet(NULL, 0);
+    if ( item != NULL ) {
+        psError(__func__,"psMetadataGet did not return NULL with null metadata structure.");
+        return 15;
+    }
     printFooter(stdout, "psMetadata", "Test G - Attempt to use null metadata", true);
 
@@ -142,7 +159,33 @@
     printNegativeTestHeader(stdout,"psMetadata", "Test H - Attempt to get non-existant metadata item",
                             "Couldn't find metadata item with given index. Index: 22", 0);
-    psMetadataGet(metadata, 22);
+    if ( psMetadataGet(metadata, 22) != NULL ) {
+        psError(__func__,"psMetadataGet did not return NULL with non-existant metadata item.");
+        return 16;
+    }
     printFooter(stdout, "psMetadata", "Test H - Attempt to get non-existant metadata item", true);
 
+    // Test J - Attempt to look up with an invalid metadata object
+    printNegativeTestHeader(stdout,"psMetadata","Test J - Attemp to look up with an invalid metadata",
+                            "Lookup item with invalid metadata object.", 0 );
+    tmpTable = metadata->table;
+    metadata->table = NULL;
+    if ( psMetadataLookup(metadata,"myItem2") != NULL ) {
+        psError(__func__,"psMetadataLookup did not return null for invalid metadata object.");
+        return 20;
+    }
+    metadata->table = tmpTable;
+    printFooter(stdout, "psMetadata","Test J - Attempt to lookup an invalid metadata object.",true);
+
+    // Test K - Attempt get item  with an invalid metadata object
+    printNegativeTestHeader(stdout,"psMetadata","Test K - Attemp to get item with an invalid metadata",
+                            "Get item with invalid metadata object.", 0 );
+    tmpList = metadata->list;
+    metadata->list = NULL;
+    if ( psMetadataGet(metadata,0) != NULL ) {
+        psError(__func__,"psMetadataLookup did not return null for invalid metadata object.");
+        return 20;
+    }
+    metadata->list = tmpList;
+    printFooter(stdout, "psMetadata","Test K - Attempt to get item with  invalid metadata object.",true);
 
     // Test I - Free psMetadata
@@ -153,9 +196,13 @@
     psFree(item3);
     psFree(item4);
-    psMemCheckLeaks(0, NULL, stdout);
+    if ( psMemCheckLeaks(0, NULL, stdout) != 0 ) {
+        psError(__func__,"memory leaks detected.");
+        return 20;
+    }
     psMemCheckCorruption(0);
     int nBad = psMemCheckCorruption(0);
     if(nBad) {
         printf("ERROR: Found %d bad memory blocks\n", nBad);
+        return 21;
     }
     printFooter(stdout, "psMetadata", "Test I - Free psMetadata", true);
Index: /trunk/psLib/test/astronomy/verified/tst_psMetadata_04.stderr
===================================================================
--- /trunk/psLib/test/astronomy/verified/tst_psMetadata_04.stderr	(revision 2022)
+++ /trunk/psLib/test/astronomy/verified/tst_psMetadata_04.stderr	(revision 2023)
@@ -7,2 +7,6 @@
 <DATE><TIME>|<HOST>|E|psMetadataGet
     Couldn't find metadata item with given index. Index: 22
+<DATE><TIME>|<HOST>|E|psMetadataLookup
+    Null metadata table not allowed
+<DATE><TIME>|<HOST>|E|psMetadataGet
+    Null metadata list not allowed
Index: /trunk/psLib/test/astronomy/verified/tst_psMetadata_04.stdout
===================================================================
--- /trunk/psLib/test/astronomy/verified/tst_psMetadata_04.stdout	(revision 2022)
+++ /trunk/psLib/test/astronomy/verified/tst_psMetadata_04.stdout	(revision 2023)
@@ -89,4 +89,26 @@
 /***************************** TESTPOINT ******************************************\
 *             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test J - Attemp to look up with an invalid metadata} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Lookup item with invalid metadata object.                  *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test J - Attempt to lookup an invalid metadata object.} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
+*            TestPoint: psMetadata{Test K - Attemp to get item with an invalid metadata} *
+*             TestType: Negative                                                   *
+*    ExpectedErrorText: Get item with invalid metadata object.                     *
+*  ExpectedStatusValue: 0                                                          *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (psMetadata{Test K - Attempt to get item with  invalid metadata object.} | tst_psMetadata_04.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psMetadata_04.c                                        *
 *            TestPoint: psMetadata{Test I - Free psMetadata}                       *
 *             TestType: Positive                                                   *
Index: /trunk/psLib/test/collections/tst_psMetadata_04.c
===================================================================
--- /trunk/psLib/test/collections/tst_psMetadata_04.c	(revision 2022)
+++ /trunk/psLib/test/collections/tst_psMetadata_04.c	(revision 2023)
@@ -14,9 +14,10 @@
 *     Test H - Attempt to get non-existant metadata item
 *     Test I - Free psMetadata
+*     Test J - Attempt to look up with an invalid metadata object
 *
 *  @author  Ross Harman, MHPCC
 *
-*  @version $Revision: 1.4 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2004-09-21 23:24:42 $
+*  @version $Revision: 1.5 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2004-10-08 20:53:21 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -71,5 +72,6 @@
     psMetadataItem *item = NULL;
     psMetadata *metadata = NULL;
-
+    psHash* tmpTable = NULL;
+    psList* tmpList = NULL;
 
     // Test A - Allocate metadata and items
@@ -97,4 +99,5 @@
     if(item == NULL) {
         printf("ERROR: Item should not be null\n");
+        return 10;
     }
     printFooter(stdout, "psMetadata", "Test B - Lookup metadata item by name", true);
@@ -104,5 +107,8 @@
     printNegativeTestHeader(stdout,"psMetadata", "Test C - Attempt to use null metadata",
                             "Null metadata collection not allowed", 0);
-    psMetadataLookup(NULL, "myItem2");
+    if ( psMetadataLookup(NULL, "myItem2") != NULL ) {
+        psError(__func__,"psMetadataLookup did not return NULL with null metadata.");
+        return 11;
+    }
     printFooter(stdout, "psMetadata", "Test C - Attempt to use null metadata", true);
 
@@ -111,5 +117,8 @@
     printNegativeTestHeader(stdout,"psMetadata", "Test D - Attempt to use null key",
                             "Null key name not allowed", 0);
-    psMetadataLookup(metadata, NULL);
+    if ( psMetadataLookup(metadata, NULL) != NULL ) {
+        psError(__func__,"psMetadata did not return NULL with null key.");
+        return 12;
+    }
     printFooter(stdout, "psMetadata", "Test D - Attempt to use null key", true);
 
@@ -118,5 +127,8 @@
     printNegativeTestHeader(stdout,"psMetadata", "Test E - Attempt to lookup non-existant metadata item",
                             "Couldn't find metadata item. Name: AARGH", 0);
-    psMetadataLookup(metadata, "AARGH");
+    if ( psMetadataLookup(metadata, "AARGH") != NULL ) {
+        psError(__func__,"psMetadata did not return NULL with a non-existant item.");
+        return 13;
+    }
     printFooter(stdout, "psMetadata", "Test E - Attempt to lookup non-existant metadata item", true);
 
@@ -128,4 +140,5 @@
     if(item == NULL) {
         printf("ERROR: Item should not be null\n");
+        return 14;
     }
     printFooter(stdout, "psMetadata", "Test F - Lookup metadata item by index", true);
@@ -136,4 +149,8 @@
                             "Null metadata collection not allowed", 0);
     item = psMetadataGet(NULL, 0);
+    if ( item != NULL ) {
+        psError(__func__,"psMetadataGet did not return NULL with null metadata structure.");
+        return 15;
+    }
     printFooter(stdout, "psMetadata", "Test G - Attempt to use null metadata", true);
 
@@ -142,7 +159,33 @@
     printNegativeTestHeader(stdout,"psMetadata", "Test H - Attempt to get non-existant metadata item",
                             "Couldn't find metadata item with given index. Index: 22", 0);
-    psMetadataGet(metadata, 22);
+    if ( psMetadataGet(metadata, 22) != NULL ) {
+        psError(__func__,"psMetadataGet did not return NULL with non-existant metadata item.");
+        return 16;
+    }
     printFooter(stdout, "psMetadata", "Test H - Attempt to get non-existant metadata item", true);
 
+    // Test J - Attempt to look up with an invalid metadata object
+    printNegativeTestHeader(stdout,"psMetadata","Test J - Attemp to look up with an invalid metadata",
+                            "Lookup item with invalid metadata object.", 0 );
+    tmpTable = metadata->table;
+    metadata->table = NULL;
+    if ( psMetadataLookup(metadata,"myItem2") != NULL ) {
+        psError(__func__,"psMetadataLookup did not return null for invalid metadata object.");
+        return 20;
+    }
+    metadata->table = tmpTable;
+    printFooter(stdout, "psMetadata","Test J - Attempt to lookup an invalid metadata object.",true);
+
+    // Test K - Attempt get item  with an invalid metadata object
+    printNegativeTestHeader(stdout,"psMetadata","Test K - Attemp to get item with an invalid metadata",
+                            "Get item with invalid metadata object.", 0 );
+    tmpList = metadata->list;
+    metadata->list = NULL;
+    if ( psMetadataGet(metadata,0) != NULL ) {
+        psError(__func__,"psMetadataLookup did not return null for invalid metadata object.");
+        return 20;
+    }
+    metadata->list = tmpList;
+    printFooter(stdout, "psMetadata","Test K - Attempt to get item with  invalid metadata object.",true);
 
     // Test I - Free psMetadata
@@ -153,9 +196,13 @@
     psFree(item3);
     psFree(item4);
-    psMemCheckLeaks(0, NULL, stdout);
+    if ( psMemCheckLeaks(0, NULL, stdout) != 0 ) {
+        psError(__func__,"memory leaks detected.");
+        return 20;
+    }
     psMemCheckCorruption(0);
     int nBad = psMemCheckCorruption(0);
     if(nBad) {
         printf("ERROR: Found %d bad memory blocks\n", nBad);
+        return 21;
     }
     printFooter(stdout, "psMetadata", "Test I - Free psMetadata", true);
