Index: /trunk/psLib/test/mathtypes/tap_psVector.c
===================================================================
--- /trunk/psLib/test/mathtypes/tap_psVector.c	(revision 7789)
+++ /trunk/psLib/test/mathtypes/tap_psVector.c	(revision 7790)
@@ -5,5 +5,5 @@
 int main (void)
 {
-    plan_tests(136);
+    plan_tests(142);
 
     diag("psVectorAlloc() tests");
@@ -465,65 +465,63 @@
 
         ok(psVectorLength((psVector*)array) == -1,
-           "returned-1 for an invalid input vector");
+           "returned -1 for an invalid input vector");
 
         psFree(array);
+    }
+
+
+    diag("psVectorCopy() tests");
+
+    {
+
+        ok(psVectorCopy(NULL, NULL, PS_TYPE_F32) == NULL,
+           "returned a NULL vector for NULL input");
+    }
+
+    {
+        psVector *in = psVectorAlloc(5, PS_TYPE_F32);
+        in->n = 5;
+
+        for (int i = 0; i < 5; i++) {
+            in->data.F32[i] = i;
+        }
+
+        //Try copy of different type
+        psVector *copy = psVectorCopy(NULL, in, PS_TYPE_F64);
+        ok(copy != NULL, "returned a non NULL vector for correct input");
+        ok(copy->data.F64[2] == 2.0,
+           "copy->data.f64[2] = %lf, in->data.f32[2] = %f",
+           copy->data.F64[2], in->data.F32[2]);
+
+        psFree(in);
+        psFree(copy);
+    }
+
+    // XXX psVectorRecycle needs it's own tests
+    // copy = psVectorRecycle(copy, in->n + 2, PS_TYPE_F64);
+
+    {
+        // Try copy of same type and non-NULL outVector of different type and
+        // size.
+        psVector *in = psVectorAlloc(5, PS_TYPE_F32);
+        in->n = 5;
+        for (int i = 0; i < 5; i++)
+        {
+            in->data.F32[i] = i;
+        }
+        psVector *copy = psVectorAlloc(5, PS_TYPE_F64);
+        copy = psVectorCopy(copy, in, in->type.type);
+
+        ok(copy != NULL, "returned a NULL vector for correct input");
+        skip_start(copy == NULL, 2,
+                   "Skipping 1 test because psVectorCopy() failed");
+        ok(copy->type.type == PS_TYPE_F32, "copy has the correct data type");
+        ok(copy->data.F32[2] == 2.0, "copy has the correct data value");
+        skip_end();
+
+        psFree(in);
+        psFree(copy);
     }
 
     return exit_status();
 }
-
-# if 0
-
-psS32 testVectorCopy(void)
-{
-
-    psVector *in = NULL;
-    psVector *copy = NULL;
-
-    psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message");
-    copy = psVectorCopy(copy, in, PS_TYPE_F32);
-    if (copy != NULL) {
-        psError(PS_ERR_BAD_PARAMETER_NULL, true,
-                "psVectorCopy failed to return a NULL vector for NULL input.\n");
-        return 1;
-    }
-
-    in = psVectorAlloc(5, PS_TYPE_F32);
-    in->n = 5;
-    for (int i = 0; i < 5; i++) {
-        in->data.F32[i] = i;
-    }
-    //Try copy of different type
-    copy = psVectorCopy(copy, in, PS_TYPE_F64);
-    if (copy == NULL) {
-        psError(PS_ERR_BAD_PARAMETER_NULL, true,
-                "psVectorCopy returned a NULL vector for correct input.\n");
-        return 2;
-    } else if (copy->data.F64[2] != 2.0) {
-        psError(PS_ERR_BAD_PARAMETER_NULL, true,
-                "psVectorCopy failed to return the correct data values.\n");
-        printf("\n copy->data.f64[2] = %lf, in->data.f32[2] = %f\n", copy->data.F64[2],
-               in->data.F32[2]);
-        return 3;
-    }
-
-    copy = psVectorRecycle(copy, in->n + 2, PS_TYPE_F64);
-    //Try copy of same type and non-NULL outVector of different type and size.
-    copy = psVectorCopy(copy, in, in->type.type);
-    if (copy == NULL) {
-        psError(PS_ERR_BAD_PARAMETER_NULL, true,
-                "psVectorCopy returned a NULL vector for correct input.\n");
-        return 4;
-    } else if (copy->type.type != PS_TYPE_F32 || copy->data.F32[2] != 2.0) {
-        psError(PS_ERR_BAD_PARAMETER_NULL, true,
-                "psVectorCopy failed to return the correct data values.\n");
-        return 5;
-    }
-
-
-    psFree(in);
-    psFree(copy);
-    return 0;
-}
-
-#endif
