Index: trunk/psModules/test/concepts/tap_pmConcepts.c
===================================================================
--- trunk/psModules/test/concepts/tap_pmConcepts.c	(revision 15985)
+++ trunk/psModules/test/concepts/tap_pmConcepts.c	(revision 15986)
@@ -3,6 +3,6 @@
  *  @brief Contains the tests for pmConcepts.c:
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-09-18 18:59:30 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2008-01-02 20:49:56 $
 *   pmConceptSpecAlloc()
     pmConceptsList()
@@ -83,5 +83,5 @@
     psLogSetLevel(PS_LOG_INFO);
     psTraceSetLevel(".", ERR_TRACE_LEVEL);
-    plan_tests(10);
+    plan_tests(126);
     
     // --------------------------------------------------------------------
Index: trunk/psModules/test/concepts/tap_pmConceptsAverage.c
===================================================================
--- trunk/psModules/test/concepts/tap_pmConceptsAverage.c	(revision 15985)
+++ trunk/psModules/test/concepts/tap_pmConceptsAverage.c	(revision 15986)
@@ -82,5 +82,5 @@
     cell->hdu = pmHDUAlloc("cellExtName");
     for (int i = 0 ; i < NUM_READOUTS ; i++) {
-        cell->readouts->data[i] = generateSimpleReadout(cell);
+        cell->readouts->data[i] = psMemDecrRefCounter((psPtr) generateSimpleReadout(cell));
     }
 
@@ -129,10 +129,6 @@
     psArrayRealloc(chip->cells, NUM_CELLS);
     for (int i = 0 ; i < NUM_CELLS ; i++) {
-        chip->cells->data[i] = generateSimpleCell(chip);
-    }
-
-    // XXX: Add code to initialize chip pmConcepts
-
-
+        chip->cells->data[i] = psMemDecrRefCounter((psPtr) generateSimpleCell(chip));
+    }
     return(chip);
 }
@@ -153,43 +149,9 @@
     psArrayRealloc(fpa->chips, NUM_CHIPS);
     for (int i = 0 ; i < NUM_CHIPS ; i++) {
-        fpa->chips->data[i] = generateSimpleChip(fpa);
-    }
-
-    // XXX: Eventually, when you finish the pmConcepts tests, add full concept
-    // reading code from wherever.
+        fpa->chips->data[i] = psMemDecrRefCounter((psPtr) generateSimpleChip(fpa));
+    }
     pmConceptsBlankFPA(fpa);
-//    bool mdok;
-//    psMetadata *fileData = psMetadataLookupMetadata(&mdok, fpa->hdu->format, "FILE");
-//    char *fpaNameHdr = psMetadataLookupStr(&mdok, fileData, "FPA.NAME");
-//    psMetadataAddStr(fpa->concepts, PS_LIST_TAIL, "FPA.NAME", PS_META_REPLACE, NULL, fpaNameHdr);
-
     return(fpa);
 }
-
-// XXX: This should only be necessary until the psFree() functions for
-// FPA/chip/cell/readout correctly free all child chips/cells/readouts
-void myFreeCell(pmCell *cell)
-{
-    for (int k = 0 ; k < cell->readouts->n ; k++) {
-        psFree(cell->readouts->data[k]);
-    }
-    psFree(cell);
-}
-
-void myFreeChip(pmChip *chip) {
-    for (int j = 0 ; j < chip->cells->n ; j++) {
-        myFreeCell(chip->cells->data[j]);
-    }
-    psFree(chip);
-}
-
-void myFreeFPA(pmFPA *fpa)
-{
-    for (int i = 0 ; i < fpa->chips->n ; i++) {
-        myFreeChip(fpa->chips->data[i]);
-    }
-    psFree(fpa);
-}
-
 
 
@@ -219,8 +181,8 @@
 
         for (int fpaID = 0 ; fpaID < NUM_FPAS ; fpaID++) {
-            myFreeFPA(sourceFPA[fpaID]);
+            psFree(sourceFPA[fpaID]);
 	}
         psFree(sources);
-        myFreeFPA(targetFPA);
+        psFree(targetFPA);
         psFree(camera);
         ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
@@ -245,8 +207,8 @@
 
         for (int fpaID = 0 ; fpaID < NUM_FPAS ; fpaID++) {
-            myFreeFPA(sourceFPA[fpaID]);
+            psFree(sourceFPA[fpaID]);
 	}
         psFree(sources);
-        myFreeFPA(targetFPA);
+        psFree(targetFPA);
         psFree(camera);
         ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
@@ -261,4 +223,5 @@
         pmFPA *targetFPA = generateSimpleFPA(camera);
         pmFPA *sourceFPA[NUM_FPAS];
+        psMetadata *cameras[NUM_FPAS];
 
         // Ensure that the FPA.TIME average is computed correctly
@@ -266,5 +229,6 @@
         psF64 actualTime = 0.0;
         for (int fpaID = 0 ; fpaID < NUM_FPAS ; fpaID++) {
-            sourceFPA[fpaID] = generateSimpleFPA(camera);
+            cameras[fpaID] = psMetadataAlloc();
+            sourceFPA[fpaID] = generateSimpleFPA(cameras[fpaID]);
             psTime *fpaTime = psMetadataLookupPtr(NULL, (sourceFPA[fpaID])->concepts, "FPA.TIME");
             // Add a small value to the psTime so that we can test/ensure that pmConceptsAverageFPAs()
@@ -279,11 +243,12 @@
 	    }
 	}
-        ok(pmConceptsAverageFPAs(targetFPA, sources), "pmConceptsAverage(NULL, sources) returned FALSE");
+        // XXX: The memory leak occurs during the following single call
+        ok(pmConceptsAverageFPAs(targetFPA, sources), "pmConceptsAverage(targetFPA, sources) returned TRUE");
         actualTime/= (float) NUM_FPAS;
         psTime *fpaTime = psMetadataLookupPtr(NULL, targetFPA->concepts, "FPA.TIME");
         ok(abs(actualTime - psTimeToMJD(fpaTime)) < 1e-4, "pmConceptsAverageFPAs() calculated the average time correctly");
 
-
-        // Replace the FPA.TIMESYS with a non-conforming value, verify that pmConceptsAverageFPAs() returnes an error        
+        // Replace the FPA.TIMESYS with a non-conforming value, verify that pmConceptsAverageFPAs() returns an error
+
         psTimeType timeSys = psMetadataLookupS32(NULL, sourceFPA[0]->concepts, "FPA.TIMESYS");
         psMetadataAddS32(sourceFPA[NUM_FPAS-1]->concepts, PS_LIST_HEAD, "FPA.TIMESYS", PS_META_REPLACE, NULL, timeSys+10);
@@ -302,13 +267,13 @@
         // Free data, check for memory leaks
         for (int fpaID = 0 ; fpaID < NUM_FPAS ; fpaID++) {
-            myFreeFPA(sourceFPA[fpaID]);
+            psFree(sourceFPA[fpaID]);
+            psFree(cameras[fpaID]);
 	}
         psFree(sources);
-        myFreeFPA(targetFPA);
+//        psFree(filter);
+        psFree(targetFPA);
         psFree(camera);
         ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
     }
-
-
 
     // ----------------------------------------------------------------------
@@ -461,6 +426,6 @@
         psMetadataAddS32(srcCell->concepts, PS_LIST_HEAD, "CELL.Y0", PS_META_REPLACE, NULL, tmpS32);
 
-        myFreeFPA(tgtFPA);
-        myFreeFPA(srcFPA);
+        psFree(tgtFPA);
+        psFree(srcFPA);
         psFree(tgtCamera);
         psFree(srcCamera);
Index: trunk/psModules/test/concepts/tap_pmConceptsPhotcode.c
===================================================================
--- trunk/psModules/test/concepts/tap_pmConceptsPhotcode.c	(revision 15985)
+++ trunk/psModules/test/concepts/tap_pmConceptsPhotcode.c	(revision 15986)
@@ -89,4 +89,5 @@
         str[0] = "ARGS:";
         str[1] = "-site";
+//        str[2] = "../dataFiles/SampleIPPConfig";
         str[2] = "../config/data/SampleIPPConfig";
         psS32 argc = 3;
@@ -97,4 +98,5 @@
         pmFPAview *view = pmFPAviewAlloc(0);
 
+        skip_start(!config, 2, "Skipping tests because pmConfigRead() failed");        
         bool rc;
         psMetadata *recipe  = psMetadataLookupPtr(&rc, config->recipes, "PPIMAGE");
@@ -105,4 +107,5 @@
         ok(testPhotcode, "pmConceptsPhotcodeForView(config, file, view) returned non-NULL");
         ok(!strcmp(goodPhotcode, testPhotcode), "pmConceptsPhotcodeForView() produced the correct string");
+        skip_end();
         psFree(config);
         psFree(file);
@@ -112,3 +115,2 @@
 }
 
-//HERE
Index: trunk/psModules/test/config/Makefile.am
===================================================================
--- trunk/psModules/test/config/Makefile.am	(revision 15985)
+++ trunk/psModules/test/config/Makefile.am	(revision 15986)
@@ -21,7 +21,4 @@
     SampleIPPConfig
 
-SampleIPPConfig: data/SampleIPPConfig
-	cp $? $@
-
 EXTRA_DIST = data
 
Index: trunk/psModules/test/config/tap_pmConfig.c
===================================================================
--- trunk/psModules/test/config/tap_pmConfig.c	(revision 15985)
+++ trunk/psModules/test/config/tap_pmConfig.c	(revision 15986)
@@ -20,6 +20,6 @@
  * XXXX: Must determine what to do with NULL arguments, then test it.
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-09-18 18:55:36 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2008-01-02 20:49:09 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -31,5 +31,5 @@
 #include "tap.h"
 #include "pstap.h"
-#define ERR_TRACE_LEVEL         0
+#define ERR_TRACE_LEVEL         10
 #define	VERBOSE			0
 
@@ -115,5 +115,5 @@
         bool rc = pmConfigFileRead(&config, "SampleIPPConfig2", "DESCRIPTION");
         ok(rc == false, "pmConfigFileRead() returned FALSE before calling pmConfigSet()");
-        pmConfigSet("data/path2");
+        pmConfigSet("../dataFiles/path2:dataFiles/path2");
         rc = pmConfigFileRead(&config, "SampleIPPConfig2", "DESCRIPTION");
         ok(rc == true, "pmConfigFileRead() returned TRUE after calling pmConfigSet() (test 1)");
@@ -131,5 +131,5 @@
         bool rc = pmConfigFileRead(&config, "SampleIPPConfig2", "DESCRIPTION");
         ok(rc == false, "pmConfigFileRead() returned FALSE before calling pmConfigSet()");
-        pmConfigSet("junk:data/path2:data/path5");
+        pmConfigSet("junk:../dataFiles/path2:dataFiles/path2:data/path5");
         rc = pmConfigFileRead(&config, "SampleIPPConfig2", "DESCRIPTION");
         ok(rc == true, "pmConfigFileRead() returned TRUE after calling pmConfigSet() (test 2)");
@@ -148,5 +148,5 @@
         psMemId id = psMemGetId();
         pmConfigSet("junk01");
-        pmConfigSet("junk:data/path2:data/path5");
+        pmConfigSet("junk:../dataFiles/path2:dataFiles/path2:data/path5");
         pmConfigSet("junk02");
         pmConfigDone();
@@ -213,14 +213,16 @@
     }
 
-
     // Test with acceptable config file name, no paths
-    // This generates an error because config is non-NULL and pmConfigFileRead()
-    // psFrees it.  Create a bugzilla report.
-    {
-        psMemId id = psMemGetId();
-        psMetadata *config = psMetadataAlloc();
-        psString name = "data/SampleIPPConfig";
+    {
+        psMemId id = psMemGetId();
+        psMetadata *config = NULL;
+        psString name = "../dataFiles/SampleIPPConfig";
+        psString name2 = "dataFiles/SampleIPPConfig";
         psString desc = "DESCRIPTION";
+        // First try to read data from ../dataFiles, then try dataFiles.
         bool rc = pmConfigFileRead(&config, name, desc);
+        if (!rc) {
+            rc = pmConfigFileRead(&config, name2, desc);
+	}
         ok(rc == true, "pmConfigFileRead() returned TRUE with acceptable inputs");
 
@@ -245,7 +247,11 @@
         psMemId id = psMemGetId();
         psMetadata *config = NULL;
-        psString name = "data/SampleIPPConfig";
+        psString name = "../dataFiles/SampleIPPConfig";
+        psString name2 = "dataFiles/SampleIPPConfig";
         psString desc = "DESCRIPTION";
         bool rc = pmConfigFileRead(&config, name, desc);
+        if (!rc) {
+            rc = pmConfigFileRead(&config, name2, desc);
+	}
         ok(rc == true, "pmConfigFileRead() returned TRUE with acceptable inputs");
 
@@ -265,11 +271,16 @@
     }
 
+
     // Test with acceptable config file name, no paths
     {
         psMemId id = psMemGetId();
         psMetadata *config = NULL;
-        psString name = "data/SampleIPPConfig";
+        psString name = "../dataFiles/SampleIPPConfig";
+        psString name2 = "dataFiles/SampleIPPConfig";
         psString desc = "DESCRIPTION";
         bool rc = pmConfigFileRead(&config, name, desc);
+        if (!rc) {
+            rc = pmConfigFileRead(&config, name2, desc);
+	}
         ok(rc == true, "pmConfigFileRead() returned TRUE with acceptable inputs");
 
@@ -289,4 +300,5 @@
     }
 
+
     // Test with acceptable config file name, with path
     // Note: This also tests the pmConfigSet() function.
@@ -296,5 +308,5 @@
         psString name = "SampleIPPConfig2";
         psString desc = "DESCRIPTION";
-        pmConfigSet("data/path2");
+        pmConfigSet("../dataFiles/path2:dataFiles/path2");
         bool rc = pmConfigFileRead(&config, name, desc);
         ok(rc == true, "pmConfigFileRead() returned TRUE using paths");
@@ -396,4 +408,5 @@
     }
 
+
     // Test with acceptable input
     // psTraceSetLevel("psModules.config", 10);
@@ -404,6 +417,9 @@
         psMetadata *header = psMetadataAlloc();
         psMetadata *camera = NULL;
-        bool rc = pmConfigFileRead(&camera, "data/camera0/format0.config", "Camera 0 Config File");
-        ok(rc == true, "pmConfigFileRead() read data/camera0/format0.config");
+        bool rc = pmConfigFileRead(&camera, "../dataFiles/camera0/format0.config", "Camera 0 Config File");
+        if (!rc) {
+            rc = pmConfigFileRead(&camera, "dataFiles/camera0/format0.config", "Camera 0 Config File");
+	}
+        ok(rc == true, "pmConfigFileRead() read ../dataFiles/camera0/format0.config");
         psMetadataAddStr(header, PS_LIST_TAIL, "F0_KEY0", 0, "", "string20");
         rc = pmConfigValidateCameraFormat(&valid, camera, header);
@@ -480,5 +496,8 @@
         bool readRecipes = false;
         // Load a sample config file
-        bool rc = pmConfigFileRead(&config->site, "data/SampleIPPConfig", "DESCRIPTION");
+        bool rc = pmConfigFileRead(&config->site, "../dataFiles/SampleIPPConfig", "DESCRIPTION");
+        if (!rc) {
+            rc = pmConfigFileRead(&config->site, "dataFiles/SampleIPPConfig", "DESCRIPTION");
+	}
         ok(rc == true && !config, "pmConfigFileRead() was successful");
         // Set metadata tags for a simulated FITS header
@@ -541,5 +560,8 @@
         pmConfigSet("data");
         pmConfig *config = pmConfigAlloc();
-        bool rc = pmConfigFileRead(&config->site, "data/SampleIPPConfig", "DESCRIPTION");
+        bool rc = pmConfigFileRead(&config->site, "../dataFiles/SampleIPPConfig", "DESCRIPTION");
+        if (!rc) {
+            rc = pmConfigFileRead(&config->site, "dataFiles/SampleIPPConfig", "DESCRIPTION");
+	}
         ok(rc == true, "pmConfigFileRead() was successful");
         psString cameraName = "CAMERA0";
@@ -555,4 +577,5 @@
     }
 
+
     // --------------------------------------------------------------------
     // --------------------------------------------------------------------
@@ -597,5 +620,8 @@
         pmConfig *config = pmConfigAlloc();
         config->site = psMetadataAlloc();
-        bool rc = pmConfigFileRead(&config->site, "data/SampleIPPConfig", "DESCRIPTION");
+        bool rc = pmConfigFileRead(&config->site, "../dataFiles/SampleIPPConfig", "DESCRIPTION");
+        if (!rc) {
+            rc = pmConfigFileRead(&config->site, "dataFiles/SampleIPPConfig", "DESCRIPTION");
+	}
         ok(rc == true, "pmConfigFileRead() was successful");
         skip_start(rc == false, 1, "Skipping pmConfigDB() tests because we could not read config file");
@@ -608,4 +634,6 @@
     }
 
+
+
     // --------------------------------------------------------------------
     // --------------------------------------------------------------------
@@ -652,5 +680,8 @@
         psMetadata *header = psMetadataAlloc();
         psMetadata *format = psMetadataAlloc();
-        bool rc = pmConfigFileRead(&format, "data/camera0/format0.config", "Camera 0 Config File");
+        bool rc = pmConfigFileRead(&format, "../dataFiles/camera0/format0.config", "Camera 0 Config File");
+        if (!rc) {
+            rc = pmConfigFileRead(&format, "dataFiles/camera0/format0.config", "Camera 0 Config File");
+	}
         ok(rc == true, "pmConfigFileRead() read camera format correctly");
 
@@ -680,8 +711,12 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         char *filename = "FILENAME";
         char *list = "LIST";
         psArray *array = pmConfigFileSets(NULL, str, filename, list);
+        if (!array) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            array = pmConfigFileSets(NULL, str, filename, list);
+	}
         ok(array == NULL, "pmConfigFileSets() returned NULL with NULL argc pointer");
         psErr *tmpErr = psErrorLast();
@@ -700,9 +735,13 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int myArgc = -1;
         char *filename = "FILENAME";
         char *list = "LIST";
         psArray *array = pmConfigFileSets(&myArgc, str, filename, list);
+        if (!array) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            array = pmConfigFileSets(&myArgc, str, filename, list);
+	}
         ok(array == NULL, "pmConfigFileSets() returned NULL with negative argc pointer");
         psErr *tmpErr = psErrorLast();
@@ -721,5 +760,5 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int myArgc = 3;
         char *filename = "FILENAME";
@@ -742,8 +781,12 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int myArgc = 3;
         char *list = "LIST";
         psArray *array = pmConfigFileSets(&myArgc, str, NULL, list);
+        if (!array) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            array = pmConfigFileSets(&myArgc, str, NULL, list);
+	}
         ok(array == NULL, "pmConfigFileSets() returned NULL with NULL filename pointer");
         psErr *tmpErr = psErrorLast();
@@ -762,8 +805,12 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int myArgc = 3;
         char *filename = "FILENAME";
         psArray *array = pmConfigFileSets(&myArgc, str, filename, NULL);
+        if (!array) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            array = pmConfigFileSets(&myArgc, str, filename, NULL);
+	}
         ok(array == NULL, "pmConfigFileSets() returned NULL with NULL list pointer");
         psErr *tmpErr = psErrorLast();
@@ -782,9 +829,13 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int myArgc = 3;
         char *filename = "FILENAME";
         char *list = "LIST";
         psArray *array = pmConfigFileSets(&myArgc, str, filename, list);
+        if (!array) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            array = pmConfigFileSets(&myArgc, str, filename, list);
+	}
         ok(array != NULL && psMemCheckArray(array),
           "pmConfigFileSets() returned non-NULL with acceptable input data");
@@ -806,5 +857,5 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int myArgc = 3;
         char *name = "NAME";
@@ -812,4 +863,8 @@
         char *list = "LIST";
         bool rc = pmConfigFileSetsMD(NULL, &myArgc, str, name, file, list);
+        if (!rc) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            rc = pmConfigFileSetsMD(NULL, &myArgc, str, name, file, list);
+	}
         ok(rc == false, "pmConfigFileSetsMD() returned FALSE with NULL metadata pointer");
         psErr *tmpErr = psErrorLast();
@@ -830,9 +885,13 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int myArgc = 3;
         char *file = "FILENAME";
         char *list = "LIST";
         bool rc = pmConfigFileSetsMD(metadata, &myArgc, str, NULL, file, list);
+        if (!rc) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            rc = pmConfigFileSetsMD(metadata, &myArgc, str, NULL, file, list);
+	}
         ok(rc == false, "pmConfigFileSetsMD() returned FALSE with NULL name pointer");
         psErr *tmpErr = psErrorLast();
@@ -854,9 +913,13 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int myArgc = 3;
         char *name = "NAME";
         char *list = "LIST";
         bool rc = pmConfigFileSetsMD(metadata, &myArgc, str, name, NULL, list);
+        if (!rc) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            rc = pmConfigFileSetsMD(metadata, &myArgc, str, name, NULL, list);
+	}
         ok(rc == false, "pmConfigFileSetsMD() returned FALSE with NULL file pointer");
         psErr *tmpErr = psErrorLast();
@@ -878,9 +941,13 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int myArgc = 3;
         char *name = "NAME";
         char *file = "FILENAME";
         bool rc = pmConfigFileSetsMD(metadata, &myArgc, str, name, file, NULL);
+        if (!rc) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            rc = pmConfigFileSetsMD(metadata, &myArgc, str, name, file, NULL);
+	}
         ok(rc == false, "pmConfigFileSetsMD() returned FALSE with NULL list pointer");
         psErr *tmpErr = psErrorLast();
@@ -902,5 +969,5 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int myArgc = 3;
         char *name = "NAME";
@@ -908,4 +975,8 @@
         char *list = "LIST";
         bool rc = pmConfigFileSetsMD(metadata, &myArgc, str, name, file, list);
+        if (!rc) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            rc = pmConfigFileSetsMD(metadata, &myArgc, str, name, file, list);
+	}
         ok(rc == true, "pmConfigFileSetsMD() returned TRUE with acceptable input data");
         psFree(metadata);
@@ -966,18 +1037,4 @@
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
     // test with acceptable input data
     // First call with create==FALSE, and a filename that does not exist.
@@ -988,5 +1045,8 @@
         char *filename = "file:///////JUNK";
         pmConfig *config = pmConfigAlloc();
-        bool rc = pmConfigFileRead(&config->site, "data/SampleIPPConfig", "DESCRIPTION");
+        bool rc = pmConfigFileRead(&config->site, "../dataFiles/SampleIPPConfig", "DESCRIPTION");
+        if (!rc) {
+            rc = pmConfigFileRead(&config->site, "dataFiles/SampleIPPConfig", "DESCRIPTION");
+	}
         ok(rc == true, "pmConfigFileRead() was successful");
         bool create = false;
@@ -1010,6 +1070,10 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         pmConfig *myConfig = pmConfigRead(NULL, str, "RecipeName");
+        if (!myConfig) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            myConfig = pmConfigRead(NULL, str, "RecipeName");
+	}
         ok(myConfig == NULL, "pmConfigRead() returned NULL with NULL argc pointer");
         psErr *tmpErr = psErrorLast();
@@ -1045,7 +1109,11 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         int numArgs = 3;
         pmConfig *myConfig = pmConfigRead(&numArgs, str, NULL);
+        if (!myConfig) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            myConfig = pmConfigRead(&numArgs, str, NULL);
+	}
         ok(myConfig != NULL, "pmConfigRead() returned non-NULL with NULL recipe");
         psErr *tmpErr = psErrorLast();
@@ -1069,5 +1137,5 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         psS32 argc = 3;
         printf("----------------------------------------------------------------\n");
@@ -1075,7 +1143,11 @@
         bool rc;
         pmConfig *myConfig = pmConfigRead(&argc, str, "RecipeName");
+        if (!myConfig) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            myConfig = pmConfigRead(&argc, str, "RecipeName");
+	}
         ok(myConfig, "pmConfigRead() returned non-NULL");
         if (myConfig == NULL) {
-            printf("TEST ERROR: pmConfigRead() returned NULL\n");
+            diag("TEST ERROR: pmConfigRead() returned NULL\n");
             testStatus = false;
         } else {
@@ -1084,24 +1156,24 @@
             //
             if (1 != psTraceGetLevel("dummyTraceFunc01")) {
-                printf("TEST ERROR: failed to properly set tracelevel for dummyTraceFunc01\n");
-                printf("    tracelevel was %d, should be 1.\n", psTraceGetLevel("dummyTraceFunc01"));
+                diag("TEST ERROR: failed to properly set tracelevel for dummyTraceFunc01\n");
+                diag("    tracelevel was %d, should be 1.\n", psTraceGetLevel("dummyTraceFunc01"));
                 testStatus = false;
             }
 
             if (2 != psTraceGetLevel("dummyTraceFunc02")) {
-                printf("TEST ERROR: failed to properly set tracelevel for dummyTraceFunc02\n");
-                printf("    tracelevel was %d, should be 2.\n", psTraceGetLevel("dummyTraceFunc02"));
+                diag("TEST ERROR: failed to properly set tracelevel for dummyTraceFunc02\n");
+                diag("    tracelevel was %d, should be 2.\n", psTraceGetLevel("dummyTraceFunc02"));
                 testStatus = false;
             }
 
             if (1 != psLogGetDestination()) {
-                printf("TEST ERROR: failed to properly set log destination.\n");
-                printf("    it was %d, should be 1\n", psLogGetDestination());
+                diag("TEST ERROR: failed to properly set log destination.\n");
+                diag("    it was %d, should be 1\n", psLogGetDestination());
                 testStatus = false;
             }
 
             if (3 != psLogGetLevel()) {
-                printf("TEST ERROR: failed to properly set log level.\n");
-                printf("    it was %d, should be 3\n", psLogGetLevel());
+                diag("TEST ERROR: failed to properly set log level.\n");
+                diag("    it was %d, should be 3\n", psLogGetLevel());
                 testStatus = false;
             }
@@ -1112,5 +1184,5 @@
             psS32 tmpInt = psMetadataLookupS32(&rc, site, "ARBITRARY_STRING_S32");
             if ((rc == false) || (tmpInt != 20)) {
-                printf("TEST ERROR: failed to properly set metadata integer ARBITRARY_STRING_S32.\n");
+                diag("TEST ERROR: failed to properly set metadata integer ARBITRARY_STRING_S32.\n");
                 testStatus = false;
             }
@@ -1118,5 +1190,5 @@
             psF32 tmpFloat = psMetadataLookupS32(&rc, site, "ARBITRARY_STRING_F32");
             if ((rc == false) || (tmpFloat != 21.0)) {
-                printf("TEST ERROR: failed to properly set metadata float ARBITRARY_STRING_F32.\n");
+                diag("TEST ERROR: failed to properly set metadata float ARBITRARY_STRING_F32.\n");
                 testStatus = false;
             }
@@ -1124,5 +1196,5 @@
             psF64 tmpDub = psMetadataLookupS32(&rc, site, "ARBITRARY_STRING_F64");
             if ((rc == false) || (tmpDub != 22.0)) {
-                printf("TEST ERROR: failed to properly set metadata double ARBITRARY_STRING_F64.\n");
+                diag("TEST ERROR: failed to properly set metadata double ARBITRARY_STRING_F64.\n");
                 testStatus = false;
             }
@@ -1131,10 +1203,10 @@
             tmpBool = psMetadataLookupS32(&rc, site, "ARBITRARY_STRING_BOOL_T");
             if ((rc == false) || (tmpBool != true)) {
-                printf("TEST ERROR: failed to properly set metadata double ARBITRARY_STRING_BOOL_T.\n");
+                diag("TEST ERROR: failed to properly set metadata double ARBITRARY_STRING_BOOL_T.\n");
                 testStatus = false;
             }
             tmpBool = psMetadataLookupS32(&rc, site, "ARBITRARY_STRING_BOOL_F");
             if ((rc == false) || (tmpBool != false)) {
-                printf("TEST ERROR: failed to properly set metadata double ARBITRARY_STRING_BOOL_F.\n");
+                diag("TEST ERROR: failed to properly set metadata double ARBITRARY_STRING_BOOL_F.\n");
                 testStatus = false;
             }
@@ -1145,5 +1217,5 @@
             psMetadata *tmpMeta = psMetadataLookupMetadata(&rc, site, "CAMERAS");
             if (rc == false) {
-                printf("TEST ERROR: failed to properly set metadata metadata CAMERAS.\n");
+                diag("TEST ERROR: failed to properly set metadata metadata CAMERAS.\n");
                 testStatus = false;
             } else {
@@ -1151,5 +1223,5 @@
                 tmpStr = psMetadataLookupStr(&rc, tmpMeta, "MEGACAM_RAW");
                 if ((rc == false) || (0 != strcmp(tmpStr, "megacam_raw.config"))) {
-                    printf("TEST ERROR: failed to properly set metadata metadata CAMERAS->MEGACAM_RAW.\n");
+                    diag("TEST ERROR: failed to properly set metadata metadata CAMERAS->MEGACAM_RAW.\n");
                     testStatus = false;
                 }
@@ -1157,5 +1229,5 @@
                 tmpStr = psMetadataLookupStr(&rc, tmpMeta, "MEGACAM_SPLICE");
                 if ((rc == false) || (0 != strcmp(tmpStr, "megacam_splice.config"))) {
-                    printf("TEST ERROR: failed to properly set metadata metadata CAMERAS->MEGACAM_SPLICE.\n");
+                    diag("TEST ERROR: failed to properly set metadata metadata CAMERAS->MEGACAM_SPLICE.\n");
                     testStatus = false;
                 }
@@ -1163,5 +1235,5 @@
                 tmpStr = psMetadataLookupStr(&rc, tmpMeta, "GPC1_RAW");
                 if ((rc == false) || (0 != strcmp(tmpStr, "gpc1_raw.config"))) {
-                    printf("TEST ERROR: failed to properly set metadata metadata CAMERAS->GPC1_RAW.\n");
+                    diag("TEST ERROR: failed to properly set metadata metadata CAMERAS->GPC1_RAW.\n");
                     testStatus = false;
                 }
@@ -1169,5 +1241,5 @@
                 tmpStr = psMetadataLookupStr(&rc, tmpMeta, "LRIS_BLUE");
                 if ((rc == false) || (0 != strcmp(tmpStr, "lris_blue.config"))) {
-                    printf("TEST ERROR: failed to properly set metadata metadata CAMERAS->LRIS_BLUE.\n");
+                    diag("TEST ERROR: failed to properly set metadata metadata CAMERAS->LRIS_BLUE.\n");
                     testStatus = false;
                 }
@@ -1175,5 +1247,5 @@
                 tmpStr = psMetadataLookupStr(&rc, tmpMeta, "LRIS_RED");
                 if ((rc == false) || (0 != strcmp(tmpStr, "lris_red.config"))) {
-                    printf("TEST ERROR: failed to properly set metadata metadata CAMERAS->LRIS_RED.\n");
+                    diag("TEST ERROR: failed to properly set metadata metadata CAMERAS->LRIS_RED.\n");
                     testStatus = false;
                 }
@@ -1187,5 +1259,5 @@
             tmpStr = psMetadataLookupStr(&rc, site, "DBSERVER");
             if ((rc == false) || (0 != strcmp(tmpStr, "ippdb.ifa.hawaii.edu"))) {
-                printf("TEST ERROR: failed to properly set metadata string DBSERVER.\n");
+                diag("TEST ERROR: failed to properly set metadata string DBSERVER.\n");
                 testStatus = false;
             }
@@ -1193,5 +1265,5 @@
             tmpStr = psMetadataLookupStr(&rc, site, "DBUSER");
             if ((rc == false) || (0 != strcmp(tmpStr, "ipp"))) {
-                printf("TEST ERROR: failed to properly set metadata string DBUSER.\n");
+                diag("TEST ERROR: failed to properly set metadata string DBUSER.\n");
                 testStatus = false;
             }
@@ -1199,5 +1271,5 @@
             tmpStr = psMetadataLookupStr(&rc, site, "DBPASSWORD");
             if ((rc == false) || (0 != strcmp(tmpStr, "password"))) {
-                printf("TEST ERROR: failed to properly set metadata string DBPASSWORD.\n");
+                diag("TEST ERROR: failed to properly set metadata string DBPASSWORD.\n");
                 testStatus = false;
             }
Index: trunk/psModules/test/config/tap_pmConfigCommand.c
===================================================================
--- trunk/psModules/test/config/tap_pmConfigCommand.c	(revision 15985)
+++ trunk/psModules/test/config/tap_pmConfigCommand.c	(revision 15986)
@@ -5,6 +5,6 @@
  * This code will test the pmConfigCommand() routine.
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-09-18 18:58:52 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2008-01-02 20:49:09 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -37,7 +37,11 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         psS32 argc = 3;
         pmConfig *config = pmConfigRead(&argc, str, "RecipeName");
+        if (!config) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            config = pmConfigRead(&argc, str, "RecipeName");
+	}
         ok(config != NULL, "pmConfigRead() successful");
         ok(!pmConfigDatabaseCommand(NULL, config), "pmConfigDatabaseCommand() returned NULL with NULL command input param");
@@ -65,7 +69,11 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         psS32 argc = 3;
         pmConfig *config = pmConfigRead(&argc, str, "RecipeName");
+        if (!config) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            config = pmConfigRead(&argc, str, "RecipeName");
+	}
         ok(config != NULL, "pmConfigRead() successful");
         char *testCmd = "command";
@@ -82,7 +90,11 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "../dataFiles/SampleIPPConfig";
         psS32 argc = 3;
         pmConfig *config = pmConfigRead(&argc, str, "RecipeName");
+        if (!config) {
+            str[2] = "dataFiles/SampleIPPConfig";
+            config = pmConfigRead(&argc, str, "RecipeName");
+	}
         ok(config != NULL, "pmConfigRead() successful");
         psString testCmd = psStringCopy("my command");
Index: trunk/psModules/test/config/tap_pmConfigMask.c
===================================================================
--- trunk/psModules/test/config/tap_pmConfigMask.c	(revision 15985)
+++ trunk/psModules/test/config/tap_pmConfigMask.c	(revision 15986)
@@ -5,6 +5,6 @@
  * This code will test the pmConfigMask() routine.
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-09-18 18:58:56 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2008-01-02 20:49:10 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -25,5 +25,5 @@
     psTraceSetLevel(".", 0);
     psTraceSetLevel("err", ERR_TRACE_LEVEL);
-    plan_tests(9);
+    plan_tests(7);
 
 
@@ -37,7 +37,11 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "dataFiles/SampleIPPConfig";
         psS32 argc = 3;
         pmConfig *config = pmConfigRead(&argc, str, "RecipeName");
+        if (!config) {
+            str[2] = "../dataFiles/SampleIPPConfig";
+            config = pmConfigRead(&argc, str, "RecipeName");
+	}
         ok(config != NULL, "pmConfigRead() successful");
         ok(!pmConfigMask(NULL, config), "pmConfigMask() returned NULL with NULL masks input param");
@@ -49,5 +53,5 @@
     // Test pmConfigMask() with NULL pmConfig input param
     // XXX: This fails on current CVS code because there is no assert in pmConfigMask() for a null pmConfig param
-    {
+    if (0) {
         psMemId id = psMemGetId();
         char *masks = "Mask0 Mask1 Mask2";
@@ -61,5 +65,5 @@
     {
         psMemId id = psMemGetId();
-        // See file TESTDIR/config/data/recipes_masks.config (
+        // See file ../dataFiles/recipes_masks.config (
         char *masks = "DETECTOR RANGE";
         psMaskType correctMask = 0x02 | 0x04;
@@ -67,11 +71,17 @@
         str[0] = "ARGS:";
         str[1] = "-site";
-        str[2] = "data/SampleIPPConfig";
+        str[2] = "dataFiles/SampleIPPConfig";
         psS32 argc = 3;
         pmConfig *config = pmConfigRead(&argc, str, "RecipeName");
+        if (!config) {
+            str[2] = "../dataFiles/SampleIPPConfig";
+            config = pmConfigRead(&argc, str, "RecipeName");
+	}
         ok(config != NULL, "pmConfigRead() successful");
+        skip_start(config == NULL, 2, "Skipping tests because pmConfigRead() failed");
         psMaskType mask = pmConfigMask(masks, config);
-        ok(mask, "pmConfigMask non-zero with acceptable input params");
+        ok(mask, "pmConfigMask returned non-zero with acceptable input params");
         ok(mask == correctMask, "pmConfigMask() generated the correct output mask (%x).  Should be (%x)", mask, correctMask);
+        skip_end();
         psFree(config);
         ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
