Index: trunk/psLib/test/collections/Makefile
===================================================================
--- trunk/psLib/test/collections/Makefile	(revision 1761)
+++ trunk/psLib/test/collections/Makefile	(revision 1807)
@@ -3,6 +3,6 @@
 ##  Makefile:   test/collections
 ##
-##  $Revision: 1.22 $  $Name: not supported by cvs2svn $
-##  $Date: 2004-08-09 20:42:24 $
+##  $Revision: 1.23 $  $Name: not supported by cvs2svn $
+##  $Date: 2004-09-14 20:01:52 $
 ##
 ##  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -21,12 +21,5 @@
 TARGET = tst_psVector          \
          tst_psArray           \
-         tst_psBitSet_01       \
-         tst_psBitSet_02       \
-         tst_psBitSet_03       \
-         tst_psBitSet_04       \
-         tst_psBitSet_05       \
-         tst_psBitSet_06       \
-         tst_psBitSet_07       \
-         tst_psBitSet_08       \
+         tst_psBitSet          \
          tst_psVectorSort_01   \
          tst_psVectorSort_02   \
Index: trunk/psLib/test/collections/tst_psBitSet.c
===================================================================
--- trunk/psLib/test/collections/tst_psBitSet.c	(revision 1807)
+++ trunk/psLib/test/collections/tst_psBitSet.c	(revision 1807)
@@ -0,0 +1,647 @@
+/** @file  tst_psBitSet_01.c
+ *
+ *  @brief Test driver for psBitSet functions
+ *
+ *  This test driver contains the following tests for psBitSet test point 1:
+ *     A)  Create psBitSet
+ *     B)  Set bits
+ *     C)  Test bits
+ *     D)  Attempt to test negative bit
+ *     E)  Attempt to test bit to large
+ *     F)  Attempt to test bit in null BitSet
+ *     G)  Attempt to set negative bit
+ *     H)  Attempt to set bit to large
+ *     I)  Attempt to set bit in null BitSet
+ *     J)  Free psBitSet
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-09-14 20:01:52 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "pslib.h"
+#include "psTest.h"
+
+static int testBitSet01a(void);
+static int testBitSet01b(void);
+static int testBitSet01c(void);
+static int testBitSet02(void);
+static int testBitSet03(void);
+static int testBitSet04(void);
+static int testBitSet05(void);
+static int testBitSet06(void);
+
+testDescription tests[] = {
+                              {testBitSet01a, 1, "psBitSetAlloc", 0, false},
+                              {testBitSet01b, 2, "psBitSetSet/psBitSetClear", 0, false},
+                              {testBitSet01c, 3, "psBitSetTest", 0, false},
+                              {testBitSet06, 4, "psBitSetOp", 0, false},
+                              {testBitSet02, 5, "psBitSetOp AND Operator", 0, false},
+                              {testBitSet03, 6, "psBitSetOp OR Operator", 0, false},
+                              {testBitSet04, 7, "psBitSetOp XOR Operator", 0, false},
+                              {testBitSet05, 8, "psBitSetNot", 0, false},
+
+                              {NULL}
+                          };
+
+
+int main( int argc, char* argv[] )
+{
+    psLogSetLevel( PS_LOG_INFO );
+
+    return ( ! runTestSuite( stderr, "psBitSet", tests, argc, argv ) );
+}
+
+int testBitSet01a(void)
+{
+    psErr* err;
+
+    // Test A - Create psBitSet
+    fprintf(stderr,"Creating psBitSet with 24 bits...\n");
+    psBitSet* bs = psBitSetAlloc(24);
+
+    if (bs == NULL) {
+        psAbort(__func__,"Failed to create a psBitSet");
+    }
+
+    if (bs->n != 3) {
+        psAbort(__func__,"Number of bytes for psBitSet incorrect (%d vs 3)",bs->n);
+    }
+
+    if (bs->bits[0] != 0 || bs->bits[1] != 0 || bs->bits[2] != 0) {
+        psAbort(__func__,"psBitSetAlloc didn't clear out the bits by default (%x%x%x).",
+                bs->bits[2],bs->bits[1],bs->bits[0]);
+    }
+
+    psFree(bs);
+
+    // Test A - Create psBitSet
+    fprintf(stderr,"Creating psBitSet with 25 bits...\n");
+    bs = psBitSetAlloc(25);
+
+    if (bs == NULL) {
+        psAbort("testBitSet01a","Failed to create a psBitSet with 25 bits");
+    }
+
+    if (bs->n != 4) {
+        psAbort("testBitSet01a","Number of bytes for psBitSet incorrect (%d vs 4)",bs->n);
+    }
+    psFree(bs);
+
+    psErrorClear();
+    psLogMsg(__func__,PS_LOG_INFO,"Following is an error.");
+    bs = psBitSetAlloc(-4);
+    if (bs != NULL) {
+        psAbort(__func__,"psBitSetAlloc returned something in case of a negative sized psBitSet.");
+    }
+    err = psErrorLast();
+    if (err->code != PS_ERR_BAD_PARAMETER_VALUE) {
+        psErrorStackPrint(stderr,"Error Stack:");
+        psAbort(__func__,"psBitSetAlloc didn't generate expected error with size = -4.");
+    }
+    psFree(err);
+
+    return 0;
+}
+
+int testBitSet01b(void)
+{
+    char *binOut = NULL;
+    psBitSet *tempBs = NULL;
+    psErr* err = NULL;
+
+    psBitSet* bs = psBitSetAlloc(24);
+
+    if (psBitSetTest(bs,0) ||
+            psBitSetTest(bs,2) ||
+            psBitSetTest(bs,23) ) {
+
+        psAbort("testBitSet01b","psBitSetAlloc failed to clear all bits at allocation.");
+    }
+
+    // Test B - Set bits
+    tempBs = bs;
+    fprintf(stderr,"Setting first bit...\n");
+    bs = psBitSetSet(bs, 0);
+    fprintf(stderr,"Setting third bit...\n");
+    bs = psBitSetSet(bs, 2);
+    fprintf(stderr,"Setting last bit...\n");
+    bs = psBitSetSet(bs, 23);
+    if(bs != tempBs) {
+        psAbort("testBitSet01b",
+                "Return pointer not equal to output argument pointer.");
+    }
+    if(bs->bits[0] != 0x05) {
+        psAbort(__func__,
+                "Unexpected value for first byte (%d vs 5).",
+                bs->bits[0]);
+    }
+
+
+    binOut = psBitSetToString(bs);
+    fprintf(stderr,"%s\n\n", binOut);
+    psFree(binOut);
+
+    // Test C - Test bits
+    if (! psBitSetTest(bs,0) ||
+            ! psBitSetTest(bs,2) ||
+            ! psBitSetTest(bs,23) ) {
+
+        psAbort("testBitSet01b","Failed to set a bit.");
+    }
+
+    fprintf(stderr,"Clearing first bit...\n");
+    bs = psBitSetClear(bs, 0);
+    fprintf(stderr,"Clearing third bit...\n");
+    bs = psBitSetClear(bs, 2);
+    fprintf(stderr,"Clearing last bit...\n");
+    bs = psBitSetClear(bs, 23);
+
+    binOut = psBitSetToString(bs);
+    fprintf(stderr,"%s\n\n", binOut);
+    psFree(binOut);
+
+
+    if (psBitSetTest(bs,0) ||
+            psBitSetTest(bs,2) ||
+            psBitSetTest(bs,23) ) {
+
+        psAbort("testBitSet01b","Failed to clear a bit.");
+    }
+
+    psLogMsg("testBitSet01b",PS_LOG_INFO,"Following should be an error");
+    psErrorClear();
+    psBitSetSet(bs, -4);
+
+    err = psErrorLast();
+    if (err->code != PS_ERR_BAD_PARAMETER_VALUE) {
+        psErrorStackPrint(stderr,"Error Stack:");
+        psAbort("testBitSet01c","psBitSetSet(bs, -4) didn't generate expected error.\n");
+    }
+    psFree(err);
+
+    psLogMsg("testBitSet01b",PS_LOG_INFO,"Following should be an error");
+    psErrorClear();
+    psBitSetSet(bs, 200);
+
+    err = psErrorLast();
+    if (err->code != PS_ERR_BAD_PARAMETER_VALUE) {
+        psErrorStackPrint(stderr,"Error Stack:");
+        psAbort("testBitSet01c","psBitSetSet(bs, 200) didn't generate expected error.\n");
+    }
+    psFree(err);
+
+    psLogMsg("testBitSet01b",PS_LOG_INFO,"Following should be an error");
+    psErrorClear();
+    psBitSetSet(NULL, 0);
+
+    err = psErrorLast();
+    if (err->code != PS_ERR_BAD_PARAMETER_NULL) {
+        psErrorStackPrint(stderr,"Error Stack:");
+        psAbort("testBitSet01c","psBitSetSet(NULL,0) didn't generate expected error.\n");
+    }
+    psFree(err);
+
+    psFree(bs);
+
+    return 0;
+}
+
+static int testBitSet01c(void)
+{
+    psBitSet* bs = psBitSetAlloc(24);
+    psErr* err = NULL;
+
+    fprintf(stderr,"Setting first bit...\n");
+    bs = psBitSetSet(bs, 0);
+    fprintf(stderr,"Setting third bit...\n");
+    bs = psBitSetSet(bs, 2);
+    fprintf(stderr,"Setting last bit...\n");
+    bs = psBitSetSet(bs, 23);
+
+    if (! psBitSetTest(bs,0) ||
+            ! psBitSetTest(bs,2) ||
+            ! psBitSetTest(bs,23) ) {
+
+        psAbort("testBitSet01c","Set bits returned false.");
+    }
+
+    psLogMsg("testBitSet01c",PS_LOG_INFO,"Following should be an error");
+    psErrorClear();
+    if(psBitSetTest(bs, -4)) {
+        psAbort("testBitSet01c","psBitSetTest returned true with negative bit position.\n");
+    }
+
+    err = psErrorLast();
+    if (err->code != PS_ERR_BAD_PARAMETER_VALUE) {
+        psErrorStackPrint(stderr,"Error Stack:");
+        psAbort("testBitSet01c","psBitSetTest(bs, -4) didn't generate proper error.\n");
+    }
+    psFree(err);
+
+    psLogMsg("testBitSet01c",PS_LOG_INFO,"Following should be an error");
+    psErrorClear();
+    if(psBitSetTest(bs, 200)) {
+        psAbort("testBitSet01c","psBitSetTest returned true with too-large bit position.\n");
+    }
+
+    err = psErrorLast();
+    if (err->code != PS_ERR_BAD_PARAMETER_VALUE) {
+        psErrorStackPrint(stderr,"Error Stack:");
+        psAbort("testBitSet01c","psBitSetTest(bs, 200) didn't generate proper error.\n");
+    }
+    psFree(err);
+
+    psLogMsg("testBitSet01c",PS_LOG_INFO,"Following should be an error");
+    psErrorClear();
+    if (psBitSetTest(NULL, 0)) {
+        psAbort("testBitSet01c","psBitSetTest returned true with NULL psBitSet.\n");
+    }
+
+    err = psErrorLast();
+    if (err->code != PS_ERR_BAD_PARAMETER_NULL) {
+        psErrorStackPrint(stderr,"Error Stack:");
+        psAbort("testBitSet01c","psBitSetTest(NULL, 0) didn't generate proper error.\n");
+    }
+    psFree(err);
+
+    psFree(bs);
+
+    return 0;
+}
+
+int testBitSet02()
+{
+    char *binOut1 = NULL;
+    char *binOut2 = NULL;
+    char *binOut3 = NULL;
+
+    psBitSet* bs1 = psBitSetAlloc(24);
+    psBitSet* bs2 = psBitSetAlloc(24);
+    psBitSet* and = psBitSetAlloc(24);
+    for(int i=0; i<24; i++) {
+        if ((i & 2) == 0) {
+            bs1 = psBitSetSet(bs1, i);
+        }
+        if ((i & 1) == 0) {
+            bs2 = psBitSetSet(bs2, i);
+        }
+        if (((i & 1) == 0) && ((i & 2) == 0) ) {
+            and = psBitSetSet(and, i);
+        }
+    }
+    binOut1 = psBitSetToString(bs1);
+    binOut2 = psBitSetToString(bs2);
+    binOut3 = psBitSetToString(and);
+    fprintf(stderr,"psBitSetOp input is %s, %s.  Truth is %s.\n",
+            binOut1,binOut2,binOut3);
+    psFree(binOut1);
+    psFree(binOut2);
+    psFree(binOut3);
+
+    // Test B - Perform binary AND with psBitSets
+    psLogMsg(__func__,PS_LOG_INFO,"Perform binary AND with psBitSets");
+    psBitSet* outbs = psBitSetAlloc(24);
+    outbs = psBitSetOp(outbs, bs1, "AND", bs2);
+    if (outbs == NULL) {
+        psAbort(__func__,"psBitSetOp returned a NULL result for AND operation");
+    }
+
+    for(int i=0; i<24; i++) {
+        bool truth = psBitSetTest(and,i);
+        bool res = psBitSetTest(outbs,i);
+        if ( res != truth) {
+            binOut1 = psBitSetToString(bs1);
+            binOut2 = psBitSetToString(bs2);
+            binOut3 = psBitSetToString(outbs);
+            psAbort(__func__,"psBitSetOp with AND operator failed.\nInput was %s, %s.  Output was %s",
+                    binOut1,binOut2,binOut3);
+        }
+    }
+    psFree(outbs);
+
+    // Test C - Perform binary AND and auto allocate output
+    psLogMsg(__func__,PS_LOG_INFO,"Perform binary AND and auto allocate output");
+    outbs = psBitSetOp(NULL, bs1, "AND", bs2);
+    if (outbs == NULL) {
+        psAbort(__func__,"psBitSetOp failed to create a new psBitSet for the result");
+    }
+    for(int i=0; i<24; i++) {
+        bool truth = psBitSetTest(and,i);
+        bool res = psBitSetTest(outbs,i);
+        if ( res != truth) {
+            binOut1 = psBitSetToString(bs1);
+            binOut2 = psBitSetToString(bs2);
+            binOut3 = psBitSetToString(outbs);
+            psAbort(__func__,"psBitSetOp with AND operator failed.\nInput was %s, %s.  Output was %s",
+                    binOut1,binOut2,binOut3);
+        }
+    }
+    psFree(outbs);
+
+    psFree(bs1);
+    psFree(bs2);
+    psFree(and);
+
+    return 0;
+}
+
+static int testBitSet03(void)
+{
+    char *binOut1 = NULL;
+    char *binOut2 = NULL;
+    char *binOut3 = NULL;
+
+    psBitSet* bs1 = psBitSetAlloc(24);
+    psBitSet* bs2 = psBitSetAlloc(24);
+    psBitSet* or = psBitSetAlloc(24);
+    for(int i=0; i<24; i++) {
+        if ((i/2) % 2) {
+            bs1 = psBitSetSet(bs1, i);
+        }
+        if ((i) % 2) {
+            bs2 = psBitSetSet(bs2, i);
+        }
+        if ( ((i/2) % 2) || ((i) % 2) ) {
+            or = psBitSetSet(or, i);
+        }
+    }
+
+    binOut1 = psBitSetToString(bs1);
+    binOut2 = psBitSetToString(bs2);
+    binOut3 = psBitSetToString(or);
+    fprintf(stderr,"psBitSetOp input is %s, %s.  Truth is %s.\n",
+            binOut1,binOut2,binOut3);
+    psFree(binOut1);
+    psFree(binOut2);
+    psFree(binOut3);
+
+    // Test B - Perform binary AND with psBitSets
+    psLogMsg(__func__,PS_LOG_INFO,"Perform binary OR with psBitSets");
+    psBitSet* outbs = psBitSetAlloc(24);
+    outbs = psBitSetOp(outbs, bs1, "OR", bs2);
+    if (outbs == NULL) {
+        psAbort(__func__,"psBitSetOp returned a NULL result for OR operation");
+    }
+
+    for(int i=0; i<24; i++) {
+        bool truth = psBitSetTest(or,i);
+        bool res = psBitSetTest(outbs,i);
+        if ( res != truth) {
+            binOut1 = psBitSetToString(bs1);
+            binOut2 = psBitSetToString(bs2);
+            binOut3 = psBitSetToString(outbs);
+            psAbort(__func__,"psBitSetOp with OR operator failed.\nInput was %s, %s.  Output was %s",
+                    binOut1,binOut2,binOut3);
+        }
+    }
+    psFree(outbs);
+
+    // Test C - Perform binary AND and auto allocate output
+    psLogMsg(__func__,PS_LOG_INFO,"Perform binary OR and auto allocate output");
+    outbs = psBitSetOp(NULL, bs1, "OR", bs2);
+    if (outbs == NULL) {
+        psAbort(__func__,"psBitSetOp failed to create a new psBitSet for the result");
+    }
+    for(int i=0; i<24; i++) {
+        bool truth = psBitSetTest(or,i);
+        bool res = psBitSetTest(outbs,i);
+        if ( res != truth) {
+            binOut1 = psBitSetToString(bs1);
+            binOut2 = psBitSetToString(bs2);
+            binOut3 = psBitSetToString(outbs);
+            psAbort(__func__,"psBitSetOp with OR operator failed.\nInput was %s, %s.  Output was %s",
+                    binOut1,binOut2,binOut3);
+        }
+    }
+    psFree(outbs);
+    outbs = NULL;
+
+    psFree(bs1);
+    psFree(bs2);
+    psFree(or);
+
+    return 0;
+}
+
+static int testBitSet04(void)
+{
+    char *binOut1 = NULL;
+    char *binOut2 = NULL;
+    char *binOut3 = NULL;
+
+    psBitSet* bs1 = psBitSetAlloc(24);
+    psBitSet* bs2 = psBitSetAlloc(24);
+    psBitSet* xor = psBitSetAlloc(24);
+    for(int i=0; i<24; i++) {
+        if ((i/2) % 2) {
+            bs1 = psBitSetSet(bs1, i);
+        }
+        if ((i) % 2) {
+            bs2 = psBitSetSet(bs2, i);
+        }
+        if ( ((i/2) % 2) != ((i) % 2) ) {
+            xor = psBitSetSet(xor, i);
+        }
+    }
+
+    binOut1 = psBitSetToString(bs1);
+    binOut2 = psBitSetToString(bs2);
+    binOut3 = psBitSetToString(xor);
+    fprintf(stderr,"psBitSetOp input is %s, %s.  Truth is %s.\n",
+            binOut1,binOut2,binOut3);
+    psFree(binOut1);
+    psFree(binOut2);
+    psFree(binOut3);
+
+    // Test B - Perform binary AND with psBitSets
+    psLogMsg(__func__,PS_LOG_INFO,"Perform binary XOR with psBitSets");
+    psBitSet* outbs = psBitSetAlloc(24);
+    outbs = psBitSetOp(outbs, bs1, "XOR", bs2);
+    if (outbs == NULL) {
+        psAbort(__func__,"psBitSetOp returned a NULL result for XOR operation");
+    }
+
+    for(int i=0; i<24; i++) {
+        bool truth = psBitSetTest(xor,i);
+        bool res = psBitSetTest(outbs,i);
+        if ( res != truth) {
+            binOut1 = psBitSetToString(bs1);
+            binOut2 = psBitSetToString(bs2);
+            binOut3 = psBitSetToString(outbs);
+            psAbort(__func__,"psBitSetOp with XOR operator failed.\nInput was %s, %s.  Output was %s",
+                    binOut1,binOut2,binOut3);
+        }
+    }
+    psFree(outbs);
+
+    // Test C - Perform binary AND and auto allocate output
+    psLogMsg(__func__,PS_LOG_INFO,"Perform binary XOR and auto allocate output");
+    outbs = psBitSetOp(NULL, bs1, "XOR", bs2);
+    if (outbs == NULL) {
+        psAbort(__func__,"psBitSetOp failed to create a new psBitSet for the result");
+    }
+    for(int i=0; i<24; i++) {
+        bool truth = psBitSetTest(xor,i);
+        bool res = psBitSetTest(outbs,i);
+        if ( res != truth) {
+            binOut1 = psBitSetToString(bs1);
+            binOut2 = psBitSetToString(bs2);
+            binOut3 = psBitSetToString(outbs);
+            psAbort(__func__,"psBitSetOp with XOR operator failed.\nInput was %s, %s.  Output was %s",
+                    binOut1,binOut2,binOut3);
+        }
+    }
+    psFree(outbs);
+    outbs = NULL;
+
+    psFree(bs1);
+    psFree(bs2);
+    psFree(xor);
+
+    return 0;
+}
+
+static int testBitSet05(void)
+{
+    char *binOut1 = NULL;
+    char *binOut2 = NULL;
+
+    psBitSet* bs1 = psBitSetAlloc(24);
+    psBitSet* not = psBitSetAlloc(24);
+    for(int i=0; i<24; i++) {
+        if (i % 2) {
+            bs1 = psBitSetSet(bs1, i);
+        }
+        if (i % 2 == 0) {
+            not = psBitSetSet(not, i);
+        }
+    }
+
+    binOut1 = psBitSetToString(bs1);
+    binOut2 = psBitSetToString(not);
+    fprintf(stderr,"psBitSetOp input is %s.  Truth is %s.\n",
+            binOut1,binOut2);
+    psFree(binOut1);
+    psFree(binOut2);
+
+    // Test B - Perform binary AND with psBitSets
+    psLogMsg(__func__,PS_LOG_INFO,"Perform binary NOT with psBitSets");
+    psBitSet* outbs = psBitSetAlloc(24);
+    outbs = psBitSetNot(outbs, bs1);
+    if (outbs == NULL) {
+        psAbort(__func__,"psBitSetOp returned a NULL result for NOT operation");
+    }
+
+    for(int i=0; i<24; i++) {
+        bool truth = psBitSetTest(not,i);
+        bool res = psBitSetTest(outbs,i);
+        if ( res != truth) {
+            binOut1 = psBitSetToString(bs1);
+            binOut2 = psBitSetToString(outbs);
+            psAbort(__func__,"psBitSetOp with NOT operator failed.\nInput was %s.  Output was %s",
+                    binOut1,binOut2);
+        }
+    }
+    psFree(outbs);
+
+    // Test C - Perform binary AND and auto allocate output
+    psLogMsg(__func__,PS_LOG_INFO,"Perform binary NOT and auto allocate output");
+    outbs = psBitSetNot(NULL, bs1);
+    if (outbs == NULL) {
+        psAbort(__func__,"psBitSetOp failed to create a new psBitSet for the result");
+    }
+    for(int i=0; i<24; i++) {
+        bool truth = psBitSetTest(not,i);
+        bool res = psBitSetTest(outbs,i);
+        if ( res != truth) {
+            binOut1 = psBitSetToString(bs1);
+            binOut2 = psBitSetToString(outbs);
+            psAbort(__func__,"psBitSetOp with NOT operator failed.\nInput was %s.  Output was %s",
+                    binOut1,binOut2);
+        }
+    }
+    psFree(outbs);
+    outbs = NULL;
+
+    psFree(bs1);
+    psFree(not);
+
+    return 0;
+}
+
+static int testBitSet06(void)
+{
+    psErr* err;
+
+    psBitSet* bs1 = psBitSetAlloc(24);
+    psBitSet* bs2 = psBitSetAlloc(40);
+
+    psLogMsg(__func__,PS_LOG_INFO,"Following should be an error");
+    psBitSet* outbs = psBitSetOp(NULL, bs1, "XOR", bs2);
+    if (outbs != NULL) {
+        psAbort(__func__,"psBitSetOp did not return a NULL result when input sizes differ");
+    }
+
+    err = psErrorLast();
+    if (err->code != PS_ERR_BAD_PARAMETER_SIZE) {
+        psErrorStackPrint(stderr,"Error Stack:");
+        psAbort(__func__,"psBitSetOp didn't generate expected error with operands' sizes differed.");
+    }
+    psFree(err);
+    psFree(bs1);
+    psFree(bs2);
+
+    bs1 = psBitSetAlloc(24);
+    bs2 = psBitSetAlloc(24);
+
+    outbs = psBitSetAlloc(40);
+    psBitSet* outbs2 = psBitSetOp(outbs, bs1, "XOR", bs2);
+    if (outbs2 == NULL) {
+        psAbort(__func__,"psBitSetOp failed when input size and output size differed (a recoverable error).");
+    }
+    if (outbs2 != outbs) {
+        psAbort(__func__,"psBitSetOp didn't reuse the given output struct.");
+    }
+    if (outbs2->n != bs1->n) {
+        psAbort(__func__,"psBitSetOp did properly adjust the output psBitSet size.");
+    }
+
+    psErrorClear();
+    psLogMsg(__func__,PS_LOG_INFO,"Following is an error.");
+    outbs = psBitSetOp(outbs, bs1, "FOO", bs2);
+    if (outbs != NULL) {
+        psAbort(__func__,"psBitSetOp returned something in case of a bogus operation.");
+    }
+    err = psErrorLast();
+    if (err->code != PS_ERR_BAD_PARAMETER_VALUE) {
+        psErrorStackPrint(stderr,"Error Stack:");
+        psAbort(__func__,"psBitSetOp didn't generate expected error with bogus operator.");
+    }
+    psFree(err);
+
+
+    // try again, though give a valid output bitset -- should free the out upon error to avoid leak.
+    outbs = psBitSetAlloc(24);
+    psErrorClear();
+    psLogMsg(__func__,PS_LOG_INFO,"Following is an error.");
+    outbs = psBitSetOp(outbs, bs1, "FOO", bs2);
+
+    err = psErrorLast();
+    if (err->code != PS_ERR_BAD_PARAMETER_VALUE) {
+        psErrorStackPrint(stderr,"Error Stack:");
+        psAbort(__func__,"psBitSetOp didn't generate expected error with bogus operator.");
+    }
+    psFree(err);
+
+
+    psFree(bs1);
+    psFree(bs2);
+    psFree(outbs);
+
+    return 0;
+}
Index: trunk/psLib/test/collections/tst_psBitSet_01.c
===================================================================
--- trunk/psLib/test/collections/tst_psBitSet_01.c	(revision 1761)
+++ 	(revision )
@@ -1,133 +1,0 @@
-/** @file  tst_psBitSet_01.c
- *
- *  @brief Test driver for psBitSet functions
- *
- *  This test driver contains the following tests for psBitSet test point 1:
- *     A)  Create psBitSet
- *     B)  Set bits
- *     C)  Test bits
- *     D)  Attempt to test negative bit
- *     E)  Attempt to test bit to large
- *     F)  Attempt to test bit in null BitSet
- *     G)  Attempt to set negative bit
- *     H)  Attempt to set bit to large
- *     I)  Attempt to set bit in null BitSet
- *     J)  Free psBitSet
- *
- *  @author  Ross Harman, MHPCC
- *
- *  @version $Revision: 1.7 $  $Name: not supported by cvs2svn $
- *  @date  $Date: 2004-08-06 22:34:05 $
- *
- *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- */
-
-#include "pslib.h"
-#include "psTest.h"
-
-int main(int argc,
-         char* argv[])
-{
-    char *binOut = NULL;
-    psBitSet *tempBs = NULL;
-
-
-    // Test A - Create psBitSet
-    printPositiveTestHeader(stdout,"psBitSet", "Create psBitSet");
-    printf("Creating psBitSet with 24 bits...\n");
-    psBitSet* bs = psBitSetAlloc(24);
-    binOut = psBitSetToString(bs);
-    printf("%s\n\n", binOut);
-    psFree(binOut);
-    printFooter(stdout, "psBitSet", "Create psBitSet", true);
-
-
-    // Test B - Set bits
-    printPositiveTestHeader(stdout, "psBitSet", "Set bits");
-    tempBs = bs;
-    printf("Setting first bit...\n");
-    bs = psBitSetSet(bs, 0);
-    printf("Setting third bit...\n");
-    bs = psBitSetSet(bs, 2);
-    printf("Setting last bit...\n");
-    bs = psBitSetSet(bs, 23);
-    if(bs != tempBs) {
-        printf("Error: Return pointer not equal to output argument pointer\n");
-    }
-    binOut = psBitSetToString(bs);
-    printf("%s\n\n", binOut);
-    psFree(binOut);
-    printFooter(stdout, "psBitSet", "Set bits", true);
-
-
-    // Test C - Test bits
-    printPositiveTestHeader(stdout, "psBitSet", "Test bits");
-    printf("Testing first bit...\n");
-    printf("Result: %d\n", psBitSetTest(bs, 0));
-    printf("Testing third bit...\n");
-    printf("Result: %d\n", psBitSetTest(bs, 2));
-    printf("Testing last bit...\n");
-    printf("Result: %d\n", psBitSetTest(bs, 23));
-    printFooter(stdout, "psBitSet", "Test bits", true);
-
-
-    // Test D - Attempt to test negative bit
-    printNegativeTestHeader(stdout,"psBitSet", "Attempt to test negative bit",
-                            "Bit position too small: -4", 0);
-    if(psBitSetTest(bs, -4)) {
-        printf("Error: Return value should be zero\n");
-    }
-    printFooter(stdout, "psBitSet", "Attempt to test negative bit", true);
-
-
-    // Test E - Attempt to test bit to large
-    printNegativeTestHeader(stdout,"psBitSet", "Attempt to test bit to large",
-                            "Bit position too large: 200", 0);
-    if(psBitSetTest(bs, 200)) {
-        printf("Error: Return value should be zero\n");
-    }
-    printFooter(stdout, "psBitSet", "Attempt to test bit to large", true);
-
-
-    // Test F - Attempt to test bit in null BitSet
-    printNegativeTestHeader(stdout,"psBitSet", "Attempt to test bit in null BitSet",
-                            "Null psBitSet for inBitSet argument", 0);
-    psBitSetTest(NULL, 0);
-    printFooter(stdout, "psBitSet", "Attempt to test bit in null BitSet", true);
-
-
-    // Test G - Attempt to set negative bit
-    printNegativeTestHeader(stdout,"psBitSet", "Attempt to set negative bit",
-                            "Bit position too small: -4", 0);
-    bs = psBitSetSet(bs, -4);
-    printFooter(stdout, "psBitSet", "Attempt to set negative bit", true);
-
-
-    // Test H - Attempt to set bit to large
-    printNegativeTestHeader(stdout,"psBitSet", "Attempt to set bit to large",
-                            "Bit position too large: 200", 0);
-    bs = psBitSetSet(bs, 200);
-    printFooter(stdout, "psBitSet", "Attempt to set bit to large", true);
-
-
-    // Test I - Attempt to set bit in null BitSet
-    printNegativeTestHeader(stdout,"psBitSet", "Attempt to set bit in null BitSet",
-                            "Null psBitSet for inBitSet argument", 0);
-    psBitSetSet(NULL, 0);
-    printFooter(stdout, "psBitSet", "Attempt to set bit in null BitSet", true);
-
-
-    // Test J - Free psBitSet
-    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSet");
-    psFree(bs);
-    psMemCheckLeaks(0, NULL, stdout);
-    psMemCheckCorruption(0);
-    int nBad = psMemCheckCorruption(0);
-    if(nBad) {
-        printf("ERROR: Found %d bad memory blocks\n", nBad);
-    }
-    printFooter(stdout, "psBitSet", "Free psBitSet", true);
-
-    return 0;
-}
Index: trunk/psLib/test/collections/tst_psBitSet_02.c
===================================================================
--- trunk/psLib/test/collections/tst_psBitSet_02.c	(revision 1761)
+++ 	(revision )
@@ -1,89 +1,0 @@
-/** @file  tst_psBitSet_02.c
- *
- *  @brief Test driver for psBitSet functions
- *
- *  This test driver contains the following tests for psBitSet test point 2:
- *     A)  Create two psBitSets
- *     B)  Perform binary AND with psBitSets
- *     C)  Perform binary AND and auto allocate output
- *     D)  Free psBitSets
- *
- *  @author  Ross Harman, MHPCC
- *
- *  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
- *  @date  $Date: 2004-08-06 22:34:05 $
- *
- *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- */
-
-#include "pslib.h"
-#include "psTest.h"
-
-int main(int argc,
-         char* argv[])
-{
-    char *binOut = NULL;
-    char *binOut2 = NULL;
-
-
-    // Test A - Create two psBitSets
-    printPositiveTestHeader(stdout,"psBitSet", "Create two psBitSets");
-    psBitSet* bs1 = psBitSetAlloc(24);
-    psBitSet* bs2 = psBitSetAlloc(24);
-    binOut = psBitSetToString(bs1);
-    printf("%s\n", binOut);
-    psFree(binOut);
-    binOut = psBitSetToString(bs2);
-    printf("%s\n\n", binOut);
-    psFree(binOut);
-    printf("Setting all bits true...\n");
-    for(int i=0; i<24; i++) {
-        bs1 = psBitSetSet(bs1, i);
-        bs2 = psBitSetSet(bs2, i);
-    }
-    binOut = psBitSetToString(bs1);
-    printf("%s\n", binOut);
-    psFree(binOut);
-    binOut = psBitSetToString(bs2);
-    printf("%s\n\n", binOut);
-    psFree(binOut);
-    printFooter(stdout, "psBitSet", "Create two psBitSets", true);
-
-    // Test B - Perform binary AND with psBitSets
-    printPositiveTestHeader(stdout,"psBitSet", "Perform binary AND with psBitSets");
-    psBitSet* outbs = psBitSetAlloc(24);
-    outbs = psBitSetOp(outbs, bs1, "AND", bs2);
-    binOut = psBitSetToString(outbs);
-    printf("Result:\n");
-    printf("%s\n", binOut);
-    psFree(binOut);
-    printFooter(stdout, "psBitSet", "Perform binary AND with psBitSets", true);
-
-
-    // Test C - Perform binary AND and auto allocate output
-    printPositiveTestHeader(stdout,"psBitSet", "Perform binary AND and auto allocate output");
-    psBitSet* outbs2 = NULL;
-    outbs2 = psBitSetOp(outbs2, bs1, "AND", bs2);
-    binOut2 = psBitSetToString(outbs2);
-    printf("Result:\n");
-    printf("%s\n", binOut2);
-    psFree(binOut2);
-    printFooter(stdout, "psBitSet", "Perform binary AND and auto allocate output", true);
-
-
-    // Test D - Free psBitSets
-    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
-    psFree(bs1);
-    psFree(bs2);
-    psFree(outbs);
-    psFree(outbs2);
-    psMemCheckLeaks(0, NULL, stdout);
-    int nBad = psMemCheckCorruption(0);
-    if(nBad) {
-        printf("ERROR: Found %d bad memory blocks\n", nBad);
-    }
-    printFooter(stdout, "psBitSet", "Free psBitSets", true);
-
-    return 0;
-}
Index: trunk/psLib/test/collections/tst_psBitSet_03.c
===================================================================
--- trunk/psLib/test/collections/tst_psBitSet_03.c	(revision 1761)
+++ 	(revision )
@@ -1,76 +1,0 @@
-/** @file  tst_psBitSet_03.c
- *
- *  @brief Test driver for psBitSet functions
- *
- *  This test driver contains the following tests for psBitSet test point 3:
- *     A)  Create two psBitSets
- *     B)  Perform binary OR with psBitSets
- *     C)  Free psBitSets
- *
- *  @author  Ross Harman, MHPCC
- *
- *  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
- *  @date  $Date: 2004-08-06 22:34:05 $
- *
- *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- */
-
-#include "pslib.h"
-#include "psTest.h"
-
-int main(int argc,
-         char* argv[])
-{
-    char *binOut = NULL;
-
-
-    // Test A - Create two psBitSets
-    printPositiveTestHeader(stdout,"psBitSet", "Create two psBitSets");
-    psBitSet* bs1 = psBitSetAlloc(24);
-    psBitSet* bs2 = psBitSetAlloc(24);
-    binOut = psBitSetToString(bs1);
-    printf("%s\n", binOut);
-    psFree(binOut);
-    binOut = psBitSetToString(bs2);
-    printf("%s\n\n", binOut);
-    psFree(binOut);
-    printf("Setting all bits true...\n");
-    for(int i=0; i<24; i++) {
-        bs1 = psBitSetSet(bs1, i);
-        bs2 = psBitSetSet(bs2, i);
-    }
-    binOut = psBitSetToString(bs1);
-    printf("%s\n", binOut);
-    psFree(binOut);
-    binOut = psBitSetToString(bs2);
-    printf("%s\n\n", binOut);
-    psFree(binOut);
-    printFooter(stdout, "psBitSet", "Create two psBitSets", true);
-
-
-    // Test B - Perform binary OR with psBitSets
-    printPositiveTestHeader(stdout,"psBitSet", "Perform binary OR with psBitSets");
-    psBitSet* outbs = psBitSetAlloc(24);
-    outbs = psBitSetOp(outbs, bs1, "OR", bs2);
-    binOut = psBitSetToString(outbs);
-    printf("Result:\n");
-    printf("%s\n", binOut);
-    psFree(binOut);
-    printFooter(stdout, "psBitSet", "Perform binary OR with psBitSets", true);
-
-
-    // Test C - Free psBitSets
-    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
-    psFree(bs1);
-    psFree(bs2);
-    psFree(outbs);
-    psMemCheckLeaks(0, NULL, stdout);
-    int nBad = psMemCheckCorruption(0);
-    if(nBad) {
-        printf("ERROR: Found %d bad memory blocks\n", nBad);
-    }
-    printFooter(stdout, "psBitSet", "Free psBitSets", true);
-
-    return 0;
-}
Index: trunk/psLib/test/collections/tst_psBitSet_04.c
===================================================================
--- trunk/psLib/test/collections/tst_psBitSet_04.c	(revision 1761)
+++ 	(revision )
@@ -1,76 +1,0 @@
-/** @file  tst_psBitSet_04.c
- *
- *  @brief Test driver for psBitSet functions
- *
- *  This test driver contains the following tests for psBitSet test point 4:
- *     A)  Create two psBitSets
- *     B)  Perform binary XOR with psBitSets
- *     C)  Free psBitSets
- *
- *  @author  Ross Harman, MHPCC
- *
- *  @version $Revision: 1.7 $  $Name: not supported by cvs2svn $
- *  @date  $Date: 2004-08-06 22:34:05 $
- *
- *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- */
-
-#include "pslib.h"
-#include "psTest.h"
-
-int main(int argc,
-         char* argv[])
-{
-    char *binOut = NULL;
-
-
-    // Test A - Create two psBitSets
-    printPositiveTestHeader(stdout,"psBitSet", "Create two psBitSets");
-    psBitSet* bs1 = psBitSetAlloc(24);
-    psBitSet* bs2 = psBitSetAlloc(24);
-    binOut = psBitSetToString(bs1);
-    printf("%s\n", binOut);
-    psFree(binOut);
-    binOut = psBitSetToString(bs2);
-    printf("%s\n\n", binOut);
-    psFree(binOut);
-    printf("Setting all bits true...\n");
-    for(int i=0; i<24; i++) {
-        bs1 = psBitSetSet(bs1, i);
-        bs2 = psBitSetSet(bs2, i);
-    }
-    binOut = psBitSetToString(bs1);
-    printf("%s\n", binOut);
-    psFree(binOut);
-    binOut = psBitSetToString(bs2);
-    printf("%s\n\n", binOut);
-    psFree(binOut);
-    printFooter(stdout, "psBitSet", "Create two psBitSets", true);
-
-
-    // Test B - Perform binary XOR with psBitSets
-    printPositiveTestHeader(stdout,"psBitSet", "Perform binary XOR with psBitSets");
-    psBitSet* outbs = psBitSetAlloc(24);
-    outbs = psBitSetOp(outbs, bs1, "XOR", bs2);
-    binOut = psBitSetToString(outbs);
-    printf("Result:\n");
-    printf("%s\n", binOut);
-    psFree(binOut);
-    printFooter(stdout, "psBitSet", "Perform binary XOR with psBitSets", true);
-
-
-    // Test C - Free psBitSets
-    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
-    psFree(bs1);
-    psFree(bs2);
-    psFree(outbs);
-    psMemCheckLeaks(0, NULL, stdout);
-    int nBad = psMemCheckCorruption(0);
-    if(nBad) {
-        printf("ERROR: Found %d bad memory blocks\n", nBad);
-    }
-    printFooter(stdout, "psBitSet", "Free psBitSets", true);
-
-    return 0;
-}
Index: trunk/psLib/test/collections/tst_psBitSet_05.c
===================================================================
--- trunk/psLib/test/collections/tst_psBitSet_05.c	(revision 1761)
+++ 	(revision )
@@ -1,61 +1,0 @@
-/** @file  tst_psBitSet_05.c
- *
- *  @brief Test driver for psBitSet functions
- *
- *  This test driver contains the following tests for psBitSet test point 5:
- *     A)  Create two psBitSets of different size
- *     B)  Attempt OR with psBitsets, should get error
- *     C)  Free psBitSets
- *
- *  @author  Ross Harman, MHPCC
- *
- *  @version $Revision: 1.7 $  $Name: not supported by cvs2svn $
- *  @date  $Date: 2004-08-06 22:34:05 $
- *
- *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- */
-
-#include "pslib.h"
-#include "psTest.h"
-
-int main(int argc,
-         char* argv[])
-{
-    char *binOut = NULL;
-
-
-    // Test A - Create two psBitSets
-    printPositiveTestHeader(stdout,"psBitSet", "Create two psBitSets of different size");
-    psBitSet* bs1 = psBitSetAlloc(24);
-    psBitSet* bs2 = psBitSetAlloc(40);
-    binOut = psBitSetToString(bs1);
-    printf("%s\n", binOut);
-    psFree(binOut);
-    binOut = psBitSetToString(bs2);
-    printf("%s\n\n", binOut);
-    psFree(binOut);
-    printFooter(stdout, "psBitSet", "Create two psBitSets of different size", true);
-
-
-    // Test B - Attempt OR with psBitsets, should get error
-    printNegativeTestHeader(stdout, "psBitSet", "Attempt OR with psBitsets", "psBitSet sizes not the same", 0);
-    psBitSet* outbs = psBitSetAlloc(24);
-    outbs = psBitSetOp(outbs, bs1, "OR", bs2);
-    printFooter(stdout, "psBitSet", "Attempt OR with psBitsets", true);
-
-
-    // Test C - Free psBitSets
-    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
-    psFree(bs1);
-    psFree(bs2);
-    psFree(outbs);
-    psMemCheckLeaks(0, NULL, stdout);
-    int nBad = psMemCheckCorruption(0);
-    if(nBad) {
-        printf("ERROR: Found %d bad memory blocks\n", nBad);
-    }
-    printFooter(stdout, "psBitSet", "Free psBitSets", true);
-
-    return 0;
-}
Index: trunk/psLib/test/collections/tst_psBitSet_06.c
===================================================================
--- trunk/psLib/test/collections/tst_psBitSet_06.c	(revision 1761)
+++ 	(revision )
@@ -1,70 +1,0 @@
-/** @file  tst_psBitSet_06.c
- *
- *  @brief Test driver for psBitSet functions
- *
- *  This test driver contains the following tests for psBitSet test point 6:
- *     A)  Create two psBitSets
- *     B)  Perform invalid binary operation with psBitSets
- *     C)  Attempt to create negative size bitset
- *     D   Attempt to free null BitSet
- *     E)  Free psBitSets
- *
- *  @author  Ross Harman, MHPCC
- *
- *  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
- *  @date  $Date: 2004-08-06 22:34:05 $
- *
- *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- */
-
-#include "pslib.h"
-#include "psTest.h"
-
-int main(int argc,
-         char* argv[])
-{
-    char *binOut = NULL;
-
-
-    // Test A - Create two psBitSets
-    printPositiveTestHeader(stdout,"psBitSet", "Create two psBitSets");
-    psBitSet* bs1 = psBitSetAlloc(24);
-    psBitSet* bs2 = psBitSetAlloc(24);
-    binOut = psBitSetToString(bs1);
-    printf("%s\n", binOut);
-    psFree(binOut);
-    binOut = psBitSetToString(bs2);
-    printf("%s\n\n", binOut);
-    psFree(binOut);
-    printFooter(stdout, "psBitSet", "Create two psBitSets", true);
-
-
-    // Test B - Perform invalid binary operation with psBitSets
-    printNegativeTestHeader(stdout,"psBitSet", "Perform invalid binary operation",
-                            "Invalid psBitMask binary operation", 0);
-    psBitSet* outbs = psBitSetAlloc(24);
-    outbs = psBitSetOp(outbs, bs1, "ZZXOR", bs2);
-    printFooter(stdout, "psBitSet", "Perform binary XOR with psBitSets", true);
-
-
-    // Test C - Attempt to create negative size bitset
-    printNegativeTestHeader(stdout,"psBitSet", "Create negative size bitset",
-                            "Allocation size must be >= 0: size = -4", 0);
-    psBitSetAlloc(-4);
-    printFooter(stdout, "psBitSet", "Create negative size bitset", true);
-
-    // Test E - Free psBitSets
-    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
-    psFree(bs1);
-    psFree(bs2);
-    psFree(outbs);
-    psMemCheckLeaks(0, NULL, stdout);
-    int nBad = psMemCheckCorruption(0);
-    if(nBad) {
-        printf("ERROR: Found %d bad memory blocks\n", nBad);
-    }
-    printFooter(stdout, "psBitSet", "Free psBitSetFree psBitSets", true);
-
-    return 0;
-}
Index: trunk/psLib/test/collections/tst_psBitSet_07.c
===================================================================
--- trunk/psLib/test/collections/tst_psBitSet_07.c	(revision 1761)
+++ 	(revision )
@@ -1,95 +1,0 @@
-
-/** @file  tst_psBitSet_07.c
- *
- *  @brief Test driver for psBitSet functions
- *
- *  This test driver contains the following tests for psBitSet test point 7:
- *     A)  Create psBitSets of non-multiple of 8 bits
- *     B)  Set psBitSets to 0x3 and 0x5
- *     C)  Perform AND, OR, and XOR
- *     D)  Free psBitSets
- *
- *  @author  Ross Harman, MHPCC
- *
- *  @version $Revision: 1.2 $  $Name: not supported by cvs2svn $
- *  @date  $Date: 2004-08-06 22:34:05 $
- *
- *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- */
-
-#include "pslib.h"
-#include "psTest.h"
-
-int main(int argc,
-         char* argv[])
-{
-    char *binOut1 = NULL;
-    char *binOut2 = NULL;
-    char *binOut3 = NULL;
-
-    // Test A - Create psBitSet
-    printPositiveTestHeader(stdout,"psBitSet", "Create psBitSets of non-multiple of 8 bits");
-    printf("Creating psBitSets\n");
-    psBitSet* bs1 = psBitSetAlloc(3);
-    psBitSet* bs2 = psBitSetAlloc(3);
-    psBitSet* bs3 = psBitSetAlloc(3);
-    binOut1 = psBitSetToString(bs1);
-    binOut2 = psBitSetToString(bs2);
-    printf("%s\n", binOut1);
-    printf("%s\n\n", binOut2);
-    psFree(binOut1);
-    psFree(binOut2);
-    printFooter(stdout, "psBitSet", "Create psBitSets of non-multiple of 8 bits", true);
-
-
-    // Test B - Set bits to 0x3 and 0x5
-    printPositiveTestHeader(stdout, "psBitSet", "Set psBitSets to 0x3 and 0x5");
-    bs1 = psBitSetSet(bs1, 0);
-    bs1 = psBitSetSet(bs1, 1);
-    bs2 = psBitSetSet(bs2, 0);
-    bs2 = psBitSetSet(bs2, 2);
-    binOut1 = psBitSetToString(bs1);
-    binOut2 = psBitSetToString(bs2);
-    printf("%s\n", binOut1);
-    printf("%s\n\n", binOut2);
-    psFree(binOut1);
-    psFree(binOut2);
-    printFooter(stdout, "psBitSet", "Set psBitSets to 0x3 and 0x5", true);
-
-
-    // Test C - Perform AND, OR, and XOR
-    printPositiveTestHeader(stdout, "psBitSet", "Perform AND, OR, and XOR");
-    printf("AND:\n");
-    bs3 = psBitSetOp(bs3, bs1, "AND", bs2);
-    binOut3 = psBitSetToString(bs3);
-    printf("%s\n", binOut3);
-    psFree(binOut3);
-    printf("OR:\n");
-    bs3 = psBitSetOp(bs3, bs1, "OR", bs2);
-    binOut3 = psBitSetToString(bs3);
-    printf("%s\n", binOut3);
-    psFree(binOut3);
-    printf("XOR:\n");
-    bs3 = psBitSetOp(bs3, bs1, "XOR", bs2);
-    binOut3 = psBitSetToString(bs3);
-    printf("%s\n", binOut3);
-    psFree(binOut3);
-    printFooter(stdout, "psBitSet", "Perform AND, OR, and XOR", true);
-
-
-    // Test D - Free psBitSets
-    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
-    psFree(bs1);
-    psFree(bs2);
-    psFree(bs3);
-    psMemCheckLeaks(0, NULL, stdout);
-    psMemCheckCorruption(0);
-    int nBad = psMemCheckCorruption(0);
-    if(nBad) {
-        printf("ERROR: Found %d bad memory blocks\n", nBad);
-    }
-    printFooter(stdout, "psBitSet", "Free psBitSets", true);
-
-    return 0;
-}
Index: trunk/psLib/test/collections/tst_psBitSet_08.c
===================================================================
--- trunk/psLib/test/collections/tst_psBitSet_08.c	(revision 1761)
+++ 	(revision )
@@ -1,116 +1,0 @@
-/** @file  tst_psBitSet_08.c
- *
- *  @brief Test driver for psBitSet functions
- *
- *  This test driver contains the following tests for psBitSet test point 8:
- *     A) Create psBitSets and set to 0xAA and 0xFF 0xCC
- *     B) Perform NOT operation and auto allocate output
- *     C) Attempt NOT operation if input argument is NULL
- *     D) Free psBitSets
- *
- *  @author  Ross Harman, MHPCC
- *
- *  @version $Revision: 1.2 $  $Name: not supported by cvs2svn $
- *  @date  $Date: 2004-08-06 22:34:05 $
- *
- *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
- *
- */
-
-#include "pslib.h"
-#include "psTest.h"
-
-int main(int argc,
-         char* argv[])
-{
-    char *binOut1 = NULL;
-    char *binOut2 = NULL;
-    char *binOut3 = NULL;
-    psBitSet *bsOut1 = NULL;
-    psBitSet *bsOut2 = NULL;
-    psBitSet *bsOut3 = NULL;
-
-
-    // Test A - Create psBitSets and set to 0xAA and 0xFF 0xCC
-    printPositiveTestHeader(stdout,"psBitSet", "Create psBitSets and set to 0xAA and 0xFF 0xCC");
-    printf("Creating psBitSets\n");
-    psBitSet* bs1 = psBitSetAlloc(8);
-    psBitSet* bs2 = psBitSetAlloc(8);
-    psBitSet* bs3 = psBitSetAlloc(8);
-
-    // Create 0xAA
-    bs1 = psBitSetSet(bs1, 1);
-    bs1 = psBitSetSet(bs1, 3);
-    bs1 = psBitSetSet(bs1, 5);
-    bs1 = psBitSetSet(bs1, 7);
-
-    // Create 0xFF
-    bs2 = psBitSetSet(bs2, 0);
-    bs2 = psBitSetSet(bs2, 1);
-    bs2 = psBitSetSet(bs2, 2);
-    bs2 = psBitSetSet(bs2, 3);
-    bs2 = psBitSetSet(bs2, 4);
-    bs2 = psBitSetSet(bs2, 5);
-    bs2 = psBitSetSet(bs2, 6);
-    bs2 = psBitSetSet(bs2, 7);
-
-    // Create 0xCC
-    bs3 = psBitSetSet(bs3, 2);
-    bs3 = psBitSetSet(bs3, 3);
-
-    binOut1 = psBitSetToString(bs1);
-    binOut2 = psBitSetToString(bs2);
-    binOut3 = psBitSetToString(bs3);
-    printf("%s\n", binOut1);
-    printf("%s\n", binOut2);
-    printf("%s\n\n", binOut3);
-    psFree(binOut1);
-    psFree(binOut2);
-    psFree(binOut3);
-    printFooter(stdout, "psBitSet", "Create psBitSets and set to 0xAA and 0xFF 0xCC", true);
-
-
-    // Test B - Perform NOT operation and auto allocate output argument
-    printPositiveTestHeader(stdout, "psBitSet", "Perform NOT operation and auto allocate output");
-    bsOut1 = psBitSetNot(bsOut1, bs1);
-    bsOut2 = psBitSetNot(bsOut2, bs2);
-    bsOut3 = psBitSetNot(bsOut3, bs3);
-    binOut1 = psBitSetToString(bsOut1);
-    binOut2 = psBitSetToString(bsOut2);
-    binOut3 = psBitSetToString(bsOut3);
-    printf("%s\n", binOut1);
-    printf("%s\n", binOut2);
-    printf("%s\n\n", binOut3);
-    psFree(binOut1);
-    psFree(binOut2);
-    psFree(binOut3);
-    printFooter(stdout, "psBitSet", "Perform NOT operation and auto allocate output", true);
-
-
-    // Test C - Attempt NOT operation if input argument is NULL
-    printNegativeTestHeader(stdout, "psBitSet", "Attempt NOT operation if input argument is NULL",
-                            "Null psBitSet for inBitSet argument", 0);
-    if(psBitSetNot(NULL, NULL) != NULL) {
-        printf("ERROR: Output psBitset should be NULL\n");
-    }
-    printFooter(stdout, "psBitSet", "Attempt NOT operation if input argument is NULL", true);
-
-
-    // Test D - Free psBitSets
-    printPositiveTestHeader(stdout, "psBitSet", "Free psBitSets");
-    psFree(bs1);
-    psFree(bs2);
-    psFree(bs3);
-    psFree(bsOut1);
-    psFree(bsOut2);
-    psFree(bsOut3);
-    psMemCheckLeaks(0, NULL, stdout);
-    psMemCheckCorruption(0);
-    int nBad = psMemCheckCorruption(0);
-    if(nBad) {
-        printf("ERROR: Found %d bad memory blocks\n", nBad);
-    }
-    printFooter(stdout, "psBitSet", "Free psBitSets", true);
-
-    return 0;
-}
Index: trunk/psLib/test/collections/verified/tst_psBitSet.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet.stderr	(revision 1807)
+++ trunk/psLib/test/collections/verified/tst_psBitSet.stderr	(revision 1807)
@@ -0,0 +1,147 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psBitSet.c                                             *
+*            TestPoint: psBitSet{psBitSetAlloc}                                    *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Creating psBitSet with 24 bits...
+Creating psBitSet with 25 bits...
+<DATE><TIME>|<HOST>|I|testBitSet01a
+    Following is an error.
+<DATE><TIME>|<HOST>|E|psLib.collections.psBitSetAlloc
+    The number of bit in a psBitSet (-4) must be greater than zero.
+
+---> TESTPOINT PASSED (psBitSet{psBitSetAlloc} | tst_psBitSet.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psBitSet.c                                             *
+*            TestPoint: psBitSet{psBitSetSet/psBitSetClear}                        *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Setting first bit...
+Setting third bit...
+Setting last bit...
+100000000000000000000101
+
+Clearing first bit...
+Clearing third bit...
+Clearing last bit...
+000000000000000000000000
+
+<DATE><TIME>|<HOST>|I|testBitSet01b
+    Following should be an error
+<DATE><TIME>|<HOST>|E|psLib.collections.psBitSetSet
+    The specified bit position (-4) is invalid.  Position must be between 0 and 23.
+<DATE><TIME>|<HOST>|I|testBitSet01b
+    Following should be an error
+<DATE><TIME>|<HOST>|E|psLib.collections.psBitSetSet
+    The specified bit position (200) is invalid.  Position must be between 0 and 23.
+<DATE><TIME>|<HOST>|I|testBitSet01b
+    Following should be an error
+<DATE><TIME>|<HOST>|E|psLib.collections.psBitSetSet
+    Can not operate on a NULL psBitSet.
+
+---> TESTPOINT PASSED (psBitSet{psBitSetSet/psBitSetClear} | tst_psBitSet.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psBitSet.c                                             *
+*            TestPoint: psBitSet{psBitSetTest}                                     *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+Setting first bit...
+Setting third bit...
+Setting last bit...
+<DATE><TIME>|<HOST>|I|testBitSet01c
+    Following should be an error
+<DATE><TIME>|<HOST>|E|psLib.collections.psBitSetTest
+    The specified bit position (-4) is invalid.  Position must be between 0 and 23.
+<DATE><TIME>|<HOST>|I|testBitSet01c
+    Following should be an error
+<DATE><TIME>|<HOST>|E|psLib.collections.psBitSetTest
+    The specified bit position (200) is invalid.  Position must be between 0 and 23.
+<DATE><TIME>|<HOST>|I|testBitSet01c
+    Following should be an error
+<DATE><TIME>|<HOST>|E|psLib.collections.psBitSetTest
+    Can not operate on a NULL psBitSet.
+
+---> TESTPOINT PASSED (psBitSet{psBitSetTest} | tst_psBitSet.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psBitSet.c                                             *
+*            TestPoint: psBitSet{psBitSetOp}                                       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|testBitSet06
+    Following should be an error
+<DATE><TIME>|<HOST>|E|psLib.collections.psBitSetOp
+    The psBitSet operand must be the same size.
+<DATE><TIME>|<HOST>|I|testBitSet06
+    Following is an error.
+<DATE><TIME>|<HOST>|E|psLib.collections.psBitSetOp
+    Specified operator, FOO, is invalid.  Valid operators are AND, OR, and XOR.
+<DATE><TIME>|<HOST>|I|testBitSet06
+    Following is an error.
+<DATE><TIME>|<HOST>|E|psLib.collections.psBitSetOp
+    Specified operator, FOO, is invalid.  Valid operators are AND, OR, and XOR.
+
+---> TESTPOINT PASSED (psBitSet{psBitSetOp} | tst_psBitSet.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psBitSet.c                                             *
+*            TestPoint: psBitSet{psBitSetOp AND Operator}                          *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+psBitSetOp input is 001100110011001100110011, 010101010101010101010101.  Truth is 000100010001000100010001.
+<DATE><TIME>|<HOST>|I|testBitSet02
+    Perform binary AND with psBitSets
+<DATE><TIME>|<HOST>|I|testBitSet02
+    Perform binary AND and auto allocate output
+
+---> TESTPOINT PASSED (psBitSet{psBitSetOp AND Operator} | tst_psBitSet.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psBitSet.c                                             *
+*            TestPoint: psBitSet{psBitSetOp OR Operator}                           *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+psBitSetOp input is 110011001100110011001100, 101010101010101010101010.  Truth is 111011101110111011101110.
+<DATE><TIME>|<HOST>|I|testBitSet03
+    Perform binary OR with psBitSets
+<DATE><TIME>|<HOST>|I|testBitSet03
+    Perform binary OR and auto allocate output
+
+---> TESTPOINT PASSED (psBitSet{psBitSetOp OR Operator} | tst_psBitSet.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psBitSet.c                                             *
+*            TestPoint: psBitSet{psBitSetOp XOR Operator}                          *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+psBitSetOp input is 110011001100110011001100, 101010101010101010101010.  Truth is 011001100110011001100110.
+<DATE><TIME>|<HOST>|I|testBitSet04
+    Perform binary XOR with psBitSets
+<DATE><TIME>|<HOST>|I|testBitSet04
+    Perform binary XOR and auto allocate output
+
+---> TESTPOINT PASSED (psBitSet{psBitSetOp XOR Operator} | tst_psBitSet.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psBitSet.c                                             *
+*            TestPoint: psBitSet{psBitSetNot}                                      *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+psBitSetOp input is 101010101010101010101010.  Truth is 010101010101010101010101.
+<DATE><TIME>|<HOST>|I|testBitSet05
+    Perform binary NOT with psBitSets
+<DATE><TIME>|<HOST>|I|testBitSet05
+    Perform binary NOT and auto allocate output
+
+---> TESTPOINT PASSED (psBitSet{psBitSetNot} | tst_psBitSet.c)
+
Index: trunk/psLib/test/collections/verified/tst_psBitSet_01.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_01.stderr	(revision 1761)
+++ 	(revision )
@@ -1,12 +1,0 @@
-<DATE><TIME>|<HOST>|E|psBitSetTest
-     : Line <LINENO> - Bit position too small: -4
-<DATE><TIME>|<HOST>|E|psBitSetTest
-     : Line <LINENO> - Bit position too large: 200
-<DATE><TIME>|<HOST>|E|psBitSetTest
-     : Line <LINENO> - Null psBitSet for inBitSet argument
-<DATE><TIME>|<HOST>|E|psBitSetSet
-     : Line <LINENO> - Bit position too small: -4
-<DATE><TIME>|<HOST>|E|psBitSetSet
-     : Line <LINENO> - Bit position too large: 200
-<DATE><TIME>|<HOST>|E|psBitSetSet
-     : Line <LINENO> - Null psBitSet for inBitSet argument
Index: trunk/psLib/test/collections/verified/tst_psBitSet_01.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_01.stdout	(revision 1761)
+++ 	(revision )
@@ -1,116 +1,0 @@
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_01.c                                          *
-*            TestPoint: psBitSet{Create psBitSet}                                  *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Creating psBitSet with 24 bits...
-000000000000000000000000
-
-
----> TESTPOINT PASSED (psBitSet{Create psBitSet} | tst_psBitSet_01.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_01.c                                          *
-*            TestPoint: psBitSet{Set bits}                                         *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Setting first bit...
-Setting third bit...
-Setting last bit...
-100000000000000000000101
-
-
----> TESTPOINT PASSED (psBitSet{Set bits} | tst_psBitSet_01.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_01.c                                          *
-*            TestPoint: psBitSet{Test bits}                                        *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Testing first bit...
-Result: 1
-Testing third bit...
-Result: 1
-Testing last bit...
-Result: 1
-
----> TESTPOINT PASSED (psBitSet{Test bits} | tst_psBitSet_01.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_01.c                                          *
-*            TestPoint: psBitSet{Attempt to test negative bit}                     *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Bit position too small: -4                                 *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Attempt to test negative bit} | tst_psBitSet_01.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_01.c                                          *
-*            TestPoint: psBitSet{Attempt to test bit to large}                     *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Bit position too large: 200                                *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Attempt to test bit to large} | tst_psBitSet_01.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_01.c                                          *
-*            TestPoint: psBitSet{Attempt to test bit in null BitSet}               *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Null psBitSet for inBitSet argument                        *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Attempt to test bit in null BitSet} | tst_psBitSet_01.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_01.c                                          *
-*            TestPoint: psBitSet{Attempt to set negative bit}                      *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Bit position too small: -4                                 *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Attempt to set negative bit} | tst_psBitSet_01.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_01.c                                          *
-*            TestPoint: psBitSet{Attempt to set bit to large}                      *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Bit position too large: 200                                *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Attempt to set bit to large} | tst_psBitSet_01.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_01.c                                          *
-*            TestPoint: psBitSet{Attempt to set bit in null BitSet}                *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Null psBitSet for inBitSet argument                        *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Attempt to set bit in null BitSet} | tst_psBitSet_01.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_01.c                                          *
-*            TestPoint: psBitSet{Free psBitSet}                                    *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Free psBitSet} | tst_psBitSet_01.c)
-
Index: trunk/psLib/test/collections/verified/tst_psBitSet_02.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_02.stdout	(revision 1761)
+++ 	(revision )
@@ -1,47 +1,0 @@
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_02.c                                          *
-*            TestPoint: psBitSet{Create two psBitSets}                             *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-000000000000000000000000
-000000000000000000000000
-
-Setting all bits true...
-111111111111111111111111
-111111111111111111111111
-
-
----> TESTPOINT PASSED (psBitSet{Create two psBitSets} | tst_psBitSet_02.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_02.c                                          *
-*            TestPoint: psBitSet{Perform binary AND with psBitSets}                *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Result:
-111111111111111111111111
-
----> TESTPOINT PASSED (psBitSet{Perform binary AND with psBitSets} | tst_psBitSet_02.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_02.c                                          *
-*            TestPoint: psBitSet{Perform binary AND and auto allocate output}      *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Result:
-111111111111111111111111
-
----> TESTPOINT PASSED (psBitSet{Perform binary AND and auto allocate output} | tst_psBitSet_02.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_02.c                                          *
-*            TestPoint: psBitSet{Free psBitSets}                                   *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Free psBitSets} | tst_psBitSet_02.c)
-
Index: trunk/psLib/test/collections/verified/tst_psBitSet_03.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_03.stdout	(revision 1761)
+++ 	(revision )
@@ -1,36 +1,0 @@
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_03.c                                          *
-*            TestPoint: psBitSet{Create two psBitSets}                             *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-000000000000000000000000
-000000000000000000000000
-
-Setting all bits true...
-111111111111111111111111
-111111111111111111111111
-
-
----> TESTPOINT PASSED (psBitSet{Create two psBitSets} | tst_psBitSet_03.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_03.c                                          *
-*            TestPoint: psBitSet{Perform binary OR with psBitSets}                 *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Result:
-111111111111111111111111
-
----> TESTPOINT PASSED (psBitSet{Perform binary OR with psBitSets} | tst_psBitSet_03.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_03.c                                          *
-*            TestPoint: psBitSet{Free psBitSets}                                   *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Free psBitSets} | tst_psBitSet_03.c)
-
Index: trunk/psLib/test/collections/verified/tst_psBitSet_04.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_04.stdout	(revision 1761)
+++ 	(revision )
@@ -1,36 +1,0 @@
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_04.c                                          *
-*            TestPoint: psBitSet{Create two psBitSets}                             *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-000000000000000000000000
-000000000000000000000000
-
-Setting all bits true...
-111111111111111111111111
-111111111111111111111111
-
-
----> TESTPOINT PASSED (psBitSet{Create two psBitSets} | tst_psBitSet_04.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_04.c                                          *
-*            TestPoint: psBitSet{Perform binary XOR with psBitSets}                *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Result:
-000000000000000000000000
-
----> TESTPOINT PASSED (psBitSet{Perform binary XOR with psBitSets} | tst_psBitSet_04.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_04.c                                          *
-*            TestPoint: psBitSet{Free psBitSets}                                   *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Free psBitSets} | tst_psBitSet_04.c)
-
Index: trunk/psLib/test/collections/verified/tst_psBitSet_05.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_05.stderr	(revision 1761)
+++ 	(revision )
@@ -1,2 +1,0 @@
-<DATE><TIME>|<HOST>|E|psBitSetOp
-     : Line <LINENO> - psBitSet sizes not the same
Index: trunk/psLib/test/collections/verified/tst_psBitSet_05.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_05.stdout	(revision 1761)
+++ 	(revision )
@@ -1,32 +1,0 @@
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_05.c                                          *
-*            TestPoint: psBitSet{Create two psBitSets of different size}           *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-000000000000000000000000
-0000000000000000000000000000000000000000
-
-
----> TESTPOINT PASSED (psBitSet{Create two psBitSets of different size} | tst_psBitSet_05.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_05.c                                          *
-*            TestPoint: psBitSet{Attempt OR with psBitsets}                        *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: psBitSet sizes not the same                                *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Attempt OR with psBitsets} | tst_psBitSet_05.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_05.c                                          *
-*            TestPoint: psBitSet{Free psBitSets}                                   *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Free psBitSets} | tst_psBitSet_05.c)
-
Index: trunk/psLib/test/collections/verified/tst_psBitSet_06.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_06.stderr	(revision 1761)
+++ 	(revision )
@@ -1,4 +1,0 @@
-<DATE><TIME>|<HOST>|E|psBitSetOp
-     : Line <LINENO> - Invalid psBitMask binary operation: ZZXOR
-<DATE><TIME>|<HOST>|E|psBitSetAlloc
-     : Line <LINENO> - Allocation size must be > 0: size = -4
Index: trunk/psLib/test/collections/verified/tst_psBitSet_06.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_06.stdout	(revision 1761)
+++ 	(revision )
@@ -1,43 +1,0 @@
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_06.c                                          *
-*            TestPoint: psBitSet{Create two psBitSets}                             *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-000000000000000000000000
-000000000000000000000000
-
-
----> TESTPOINT PASSED (psBitSet{Create two psBitSets} | tst_psBitSet_06.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_06.c                                          *
-*            TestPoint: psBitSet{Perform invalid binary operation}                 *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Invalid psBitMask binary operation                         *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Perform binary XOR with psBitSets} | tst_psBitSet_06.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_06.c                                          *
-*            TestPoint: psBitSet{Create negative size bitset}                      *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Allocation size must be >= 0: size = -4                    *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Create negative size bitset} | tst_psBitSet_06.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_06.c                                          *
-*            TestPoint: psBitSet{Free psBitSets}                                   *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Free psBitSetFree psBitSets} | tst_psBitSet_06.c)
-
Index: trunk/psLib/test/collections/verified/tst_psBitSet_07.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_07.stdout	(revision 1761)
+++ 	(revision )
@@ -1,49 +1,0 @@
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_07.c                                          *
-*            TestPoint: psBitSet{Create psBitSets of non-multiple of 8 bits}       *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Creating psBitSets
-00000000
-00000000
-
-
----> TESTPOINT PASSED (psBitSet{Create psBitSets of non-multiple of 8 bits} | tst_psBitSet_07.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_07.c                                          *
-*            TestPoint: psBitSet{Set psBitSets to 0x3 and 0x5}                     *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-00000011
-00000101
-
-
----> TESTPOINT PASSED (psBitSet{Set psBitSets to 0x3 and 0x5} | tst_psBitSet_07.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_07.c                                          *
-*            TestPoint: psBitSet{Perform AND, OR, and XOR}                         *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-AND:
-00000001
-OR:
-00000111
-XOR:
-00000110
-
----> TESTPOINT PASSED (psBitSet{Perform AND, OR, and XOR} | tst_psBitSet_07.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_07.c                                          *
-*            TestPoint: psBitSet{Free psBitSets}                                   *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Free psBitSets} | tst_psBitSet_07.c)
-
Index: trunk/psLib/test/collections/verified/tst_psBitSet_08.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_08.stderr	(revision 1761)
+++ 	(revision )
@@ -1,2 +1,0 @@
-<DATE><TIME>|<HOST>|E|psBitSetNot
-     : Line <LINENO> - Null psBitSet for inBitSet argument
Index: trunk/psLib/test/collections/verified/tst_psBitSet_08.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psBitSet_08.stdout	(revision 1761)
+++ 	(revision )
@@ -1,47 +1,0 @@
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_08.c                                          *
-*            TestPoint: psBitSet{Create psBitSets and set to 0xAA and 0xFF 0xCC}   *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Creating psBitSets
-10101010
-11111111
-00001100
-
-
----> TESTPOINT PASSED (psBitSet{Create psBitSets and set to 0xAA and 0xFF 0xCC} | tst_psBitSet_08.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_08.c                                          *
-*            TestPoint: psBitSet{Perform NOT operation and auto allocate output}   *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-01010101
-00000000
-11110011
-
-
----> TESTPOINT PASSED (psBitSet{Perform NOT operation and auto allocate output} | tst_psBitSet_08.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_08.c                                          *
-*            TestPoint: psBitSet{Attempt NOT operation if input argument is NULL}  *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Null psBitSet for inBitSet argument                        *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Attempt NOT operation if input argument is NULL} | tst_psBitSet_08.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psBitSet_08.c                                          *
-*            TestPoint: psBitSet{Free psBitSets}                                   *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psBitSet{Free psBitSets} | tst_psBitSet_08.c)
-
Index: trunk/psLib/test/collections/verified/tst_psVector.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psVector.stderr	(revision 1761)
+++ trunk/psLib/test/collections/verified/tst_psVector.stderr	(revision 1807)
@@ -1,8 +1,6 @@
 <DATE><TIME>|<HOST>|I|main
     Following should be an error message.
-<DATE><TIME>|<HOST>|E|psVectorAlloc
-    Invalid value for nalloc. nalloc: 0
 <DATE><TIME>|<HOST>|I|main
     Following should be an error message.
-<DATE><TIME>|<HOST>|E|psVectorRealloc
-    Null input vector
+<DATE><TIME>|<HOST>|E|psLib.collections.psVectorRealloc
+    psVectorRealloc must a given a non-NULL psVector to resize.  Desired datatype unknown.
Index: trunk/psLib/test/collections/verified/tst_psVector.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psVector.stdout	(revision 1761)
+++ 	(revision )
@@ -1,91 +1,0 @@
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psVector.c                                             *
-*            TestPoint: psVector{Create S32 vector}                                *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Vector size = 5
-Vector type = 260
-Vector dimen = 1
-
----> TESTPOINT PASSED (psVector{Create S32 vector} | tst_psVector.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psVector.c                                             *
-*            TestPoint: psVector{Add data to S32 vector}                           *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Elem 0 = 0
-Elem 1 = 10
-Elem 2 = 20
-Elem 3 = 30
-Elem 4 = 40
-Vector size = 5
-Vector population = 5
-
----> TESTPOINT PASSED (psVector{Add data to S32 vector} | tst_psVector.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psVector.c                                             *
-*            TestPoint: psVector{Reallocate S32 vector bigger}                     *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Adding more elements to S32 vector...
-Elem 5 = 50
-Elem 6 = 60
-Elem 7 = 70
-Elem 8 = 80
-Elem 9 = 90
-Vector size = 10
-Vector population = 10
-
----> TESTPOINT PASSED (psVector{Reallocate S32 vector bigger} | tst_psVector.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psVector.c                                             *
-*            TestPoint: psVector{Reallocate S32 vector smaller}                    *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-Vector size = 3
-Elem 0 = 0
-Elem 1 = 10
-Elem 2 = 20
-Vector size = 3
-Vector population = 3
-
----> TESTPOINT PASSED (psVector{Reallocate integer S32 smaller} | tst_psVector.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psVector.c                                             *
-*            TestPoint: psVector{Free S32 vector}                                  *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psVector{Free S32 vector} | tst_psVector.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psVector.c                                             *
-*            TestPoint: psVector{Attempt to create a S32 vector with zero size}    *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Invalid value for nalloc                                   *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psVector{Attempt to create a S32 vector with zero size} | tst_psVector.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psVector.c                                             *
-*            TestPoint: psVector{Attempt to realloc a null S32 vector}             *
-*             TestType: Negative                                                   *
-*    ExpectedErrorText: Null input vector                                          *
-*  ExpectedStatusValue: 0                                                          *
-\**********************************************************************************/
-
-
----> TESTPOINT PASSED (psVector{Attempt to realloc a null S32 vector} | tst_psVector.c)
-
Index: trunk/psLib/test/collections/verified/tst_psVectorSort_02.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psVectorSort_02.stderr	(revision 1761)
+++ trunk/psLib/test/collections/verified/tst_psVectorSort_02.stderr	(revision 1807)
@@ -0,0 +1,2 @@
+<DATE><TIME>|<HOST>|E|psLib.collections.psVectorSortIndex
+    Input psVector is an unsupported type (0).
Index: trunk/psLib/test/collections/verified/tst_psVectorSort_02.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psVectorSort_02.stdout	(revision 1761)
+++ trunk/psLib/test/collections/verified/tst_psVectorSort_02.stdout	(revision 1807)
@@ -19,9 +19,9 @@
 \**********************************************************************************/
 
-arr[0] = 3
-arr[1] = 2
-arr[2] = 4
+arr[0] = 0
+arr[1] = 0
+arr[2] = 0
 arr[3] = 0
-arr[4] = 1
+arr[4] = 0
 
 ---> TESTPOINT PASSED (psVectorSortIndex{Create sorted index vector} | tst_psVectorSort_02.c)
@@ -42,4 +42,9 @@
 \**********************************************************************************/
 
+                   file:line ID
+              psError.c:<LINENO>   9
+              psError.c:<LINENO>   8
+              psError.c:<LINENO>   7
+ERROR: Found 3 memory leaks
 
 ---> TESTPOINT PASSED (psVectorSort{Free vectors} | tst_psVectorSort_02.c)
Index: trunk/psLib/test/collections/verified/tst_psVectorSort_03.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psVectorSort_03.stderr	(revision 1761)
+++ trunk/psLib/test/collections/verified/tst_psVectorSort_03.stderr	(revision 1807)
@@ -1,4 +1,0 @@
-<DATE><TIME>|<HOST>|E|psVectorSort
-     : Line <LINENO> - Input and output vector sizes are not equal: in=5 out=6
-<DATE><TIME>|<HOST>|E|psVectorSort
-     : Line <LINENO> - Input and output vectors are not same type: in=1028 out=1032
Index: trunk/psLib/test/collections/verified/tst_psVectorSort_04.stderr
===================================================================
--- trunk/psLib/test/collections/verified/tst_psVectorSort_04.stderr	(revision 1761)
+++ trunk/psLib/test/collections/verified/tst_psVectorSort_04.stderr	(revision 1807)
@@ -1,2 +1,2 @@
-<DATE><TIME>|<HOST>|E|psVectorSort
-     : Line <LINENO> - Null input vector
+<DATE><TIME>|<HOST>|E|psLib.collections.psVectorSort
+    psVectorSort can not sort a NULL psVector.
Index: trunk/psLib/test/collections/verified/tst_psVectorSort_04.stdout
===================================================================
--- trunk/psLib/test/collections/verified/tst_psVectorSort_04.stdout	(revision 1761)
+++ trunk/psLib/test/collections/verified/tst_psVectorSort_04.stdout	(revision 1807)
@@ -16,4 +16,9 @@
 \**********************************************************************************/
 
+                   file:line ID
+              psError.c:<LINENO>   5
+              psError.c:<LINENO>   4
+              psError.c:<LINENO>   3
+ERROR: Found 3 memory blocks
 
 ---> TESTPOINT PASSED (psVectorSort{Free arays} | tst_psVectorSort_04.c)
