Index: /trunk/psModules/test/verified/tst_pmObjects01.stderr
===================================================================
--- /trunk/psModules/test/verified/tst_pmObjects01.stderr	(revision 4100)
+++ /trunk/psModules/test/verified/tst_pmObjects01.stderr	(revision 4100)
@@ -0,0 +1,215 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: structure allocators and deallocators} *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: structure allocators and deallocators} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: psFindVectorPeaks()}          *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|pmFindVectorPeaks (FILE:LINENO)
+    Unallowable operation: psVector vector or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmFindVectorPeaks (FILE:LINENO)
+    Unallowable operation: psVector vector has no elements.
+<DATE><TIME>|<HOST>|E|pmFindVectorPeaks (FILE:LINENO)
+    Unallowable operation: psVector vector has incorrect type.
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: psFindVectorPeaks()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: psFindImagePeaks()}           *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|psImageAlloc (FILE:LINENO)
+    Specified number of rows (0) or columns (0) is invalid.
+<DATE><TIME>|<HOST>|E|pmFindImagePeaks (FILE:LINENO)
+    Unallowable operation: psImage image or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmFindImagePeaks (FILE:LINENO)
+    Unallowable operation: psImage image or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmFindImagePeaks (FILE:LINENO)
+    Unallowable operation: psImage image has incorrect type.
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: psFindImagePeaks()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: pmCullPeaks()}                *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: pmCullPeaks()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: pmSourceLocalSky()}           *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|pmSourceLocalSky (FILE:LINENO)
+    Unallowable operation: psImage image or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmSourceLocalSky (FILE:LINENO)
+    Unallowable operation: psImage image has incorrect type.
+<DATE><TIME>|<HOST>|E|pmSourceLocalSky (FILE:LINENO)
+    Unallowable operation: peak is NULL.
+<DATE><TIME>|<HOST>|E|pmSourceLocalSky (FILE:LINENO)
+    Error: (0.0 > innerRadius) (0.000000 -10.000000)
+<DATE><TIME>|<HOST>|E|pmSourceLocalSky (FILE:LINENO)
+    Error: (innerRadius > outerRadius) (10.000000 5.000000)
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: pmSourceLocalSky()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: pmSourceSetPixelCircle()}     *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|pmSourceSetPixelCircle (FILE:LINENO)
+    Unallowable operation: source is NULL.
+<DATE><TIME>|<HOST>|E|pmSourceSetPixelCircle (FILE:LINENO)
+    Unallowable operation: psImage image or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmSourceSetPixelCircle (FILE:LINENO)
+    Unallowable operation: psImage image has incorrect type.
+<DATE><TIME>|<HOST>|E|pmSourceSetPixelCircle (FILE:LINENO)
+    Error: (0.0 > radius) (0.000000 -10.000000)
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: pmSourceSetPixelCircle()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: pmSourceMoments()}            *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|pmSourceMoments (FILE:LINENO)
+    Unallowable operation: source is NULL.
+<DATE><TIME>|<HOST>|E|pmSourceMoments (FILE:LINENO)
+    Error: (0.0 > radius) (0.000000 -10.000000)
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: pmSourceMoments()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: pmMin()}                      *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|pmMinLM_Gauss2D (FILE:LINENO)
+    Unallowable operation: psVector params or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_Gauss2D (FILE:LINENO)
+    Unallowable operation: psVector x or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_PsuedoGauss2D (FILE:LINENO)
+    Unallowable operation: psVector params or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_PsuedoGauss2D (FILE:LINENO)
+    Unallowable operation: psVector x or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_Wauss2D (FILE:LINENO)
+    Unallowable operation: psVector params or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_Wauss2D (FILE:LINENO)
+    Unallowable operation: psVector x or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_TwistGauss2D (FILE:LINENO)
+    Unallowable operation: psVector params or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_TwistGauss2D (FILE:LINENO)
+    Unallowable operation: psVector x or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_Sersic (FILE:LINENO)
+    This function is not implemented yet.
+<DATE><TIME>|<HOST>|E|pmMinLM_Sersic (FILE:LINENO)
+    Unallowable operation: psVector params or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_Sersic (FILE:LINENO)
+    Unallowable operation: psVector x or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_SersicCore (FILE:LINENO)
+    This function is not implemented yet.
+<DATE><TIME>|<HOST>|E|pmMinLM_SersicCore (FILE:LINENO)
+    Unallowable operation: psVector params or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmMinLM_SersicCore (FILE:LINENO)
+    Unallowable operation: psVector x or its data is NULL.
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: pmMin()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: pmSourceModelGuess()}         *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|pmSourceModelGuess (FILE:LINENO)
+    Unallowable operation: source is NULL.
+<DATE><TIME>|<HOST>|E|pmSourceModelGuess (FILE:LINENO)
+    Unallowable operation: psImage image or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmSourceModelGuess (FILE:LINENO)
+    Undefined psModelType
+<DATE><TIME>|<HOST>|W|pmSourceModelGuess
+    WARNING: source->models was non-NULL; calling psFree(source->models).
+<DATE><TIME>|<HOST>|W|pmSourceModelGuess
+    WARNING: source->models was non-NULL; calling psFree(source->models).
+<DATE><TIME>|<HOST>|W|pmSourceModelGuess
+    WARNING: source->models was non-NULL; calling psFree(source->models).
+<DATE><TIME>|<HOST>|W|pmSourceModelGuess
+    WARNING: source->models was non-NULL; calling psFree(source->models).
+<DATE><TIME>|<HOST>|W|pmSourceModelGuess
+    WARNING: source->models was non-NULL; calling psFree(source->models).
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: pmSourceModelGuess()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: pmSourceContour()}            *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|pmSourceContour (FILE:LINENO)
+    Unallowable operation: source is NULL.
+<DATE><TIME>|<HOST>|E|pmSourceContour (FILE:LINENO)
+    Unallowable operation: image is NULL.
+<DATE><TIME>|<HOST>|E|pmSourceContour (FILE:LINENO)
+    Could not find contour edge (NAN)
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: pmSourceContour()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: pmSourceAddModel()}           *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|p_pmSourceAddOrSubModel (FILE:LINENO)
+    Unallowable operation: psImage image or its data is NULL.
+<DATE><TIME>|<HOST>|E|p_pmSourceAddOrSubModel (FILE:LINENO)
+    Unallowable operation: src is NULL.
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: pmSourceAddModel()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: pmSourceSubModel()}           *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|p_pmSourceAddOrSubModel (FILE:LINENO)
+    Unallowable operation: psImage image or its data is NULL.
+<DATE><TIME>|<HOST>|E|p_pmSourceAddOrSubModel (FILE:LINENO)
+    Unallowable operation: src is NULL.
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: pmSourceSubModel()} | tst_pmObjects01.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_pmObjects01.c                                          *
+*            TestPoint: Test Point Driver{pmObjects: pmSourceSubModel()}           *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|pmSourceFitModel (FILE:LINENO)
+    Unallowable operation: psImage image or its data is NULL.
+<DATE><TIME>|<HOST>|E|pmSourceFitModel (FILE:LINENO)
+    Unallowable operation: source is NULL.
+
+---> TESTPOINT PASSED (Test Point Driver{pmObjects: pmSourceSubModel()} | tst_pmObjects01.c)
+
Index: /trunk/psModules/test/verified/tst_pmObjects01.stdout
===================================================================
--- /trunk/psModules/test/verified/tst_pmObjects01.stdout	(revision 4100)
+++ /trunk/psModules/test/verified/tst_pmObjects01.stdout	(revision 4100)
@@ -0,0 +1,191 @@
+Testing pmPeakAlloc()...
+Testing pmMomentsAlloc()...
+Testing pmModelAlloc(PS_MODEL_GAUSS)...
+Testing pmModelAlloc(PS_MODEL_PGAUSS)...
+Testing pmModelAlloc(PS_MODEL_TWIST_GAUSS)...
+Testing pmModelAlloc(PS_MODEL_WAUSS)...
+Testing pmModelAlloc(PS_MODEL_SERSIC)...
+Testing pmModelAlloc(PS_MODEL_SERSIC_CORE)...
+----------------------------------------------------------------------------------
+Calling pmFindVectorPeaks with NULL psVector.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmFindVectorPeaks with empty psVector.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmFindVectorPeaks with PS_TYPE_F64 psVector.  Should generate error and return NULL.
+-------------- Calling test_pmFindVectorPeaks on an 1 size vector. --------------
+Test pmFindVectorPeaks() with a first-element peak.
+Test pmFindVectorPeaks() with a first-element peak, large threshold.
+-------------- Calling test_pmFindVectorPeaks on an 10 size vector. --------------
+Test pmFindVectorPeaks() with a first-element peak.
+Test pmFindVectorPeaks() with a first-element peak, large threshold.
+Test pmFindVectorPeaks() with a last-element peak.
+Test pmFindVectorPeaks() with a last-element peak, large threshold.
+Test pmFindVectorPeaks() with all even-numbered elements peak.
+Test pmFindVectorPeaks() with all even-numbered elements peak, large threshold.
+----------------------------------------------------------------------------------
+Calling pmFindImagePeaks with NULL psImage.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmFindImagePeaks with empty psImage.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmFindImagePeaks with PS_TYPE_F64 psImage.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+-------------- Calling test_pmFindImagePeaks on an 5-by-5 image. --------------
+(50.0) (5.0) (4.0) (5.0) (50.0) 
+(5.0) (2.0) (1.0) (2.0) (5.0) 
+(4.0) (1.0) (50.0) (1.0) (4.0) 
+(5.0) (2.0) (1.0) (2.0) (5.0) 
+(50.0) (5.0) (4.0) (5.0) (50.0) 
+-------------- Calling test_pmFindImagePeaks on an 10-by-5 image. --------------
+(125.0) (26.0) (25.0) (26.0) (125.0) 
+(20.0) (17.0) (16.0) (17.0) (20.0) 
+(13.0) (10.0) (9.0) (10.0) (13.0) 
+(8.0) (5.0) (4.0) (5.0) (8.0) 
+(5.0) (2.0) (1.0) (2.0) (5.0) 
+(4.0) (1.0) (125.0) (1.0) (4.0) 
+(5.0) (2.0) (1.0) (2.0) (5.0) 
+(8.0) (5.0) (4.0) (5.0) (8.0) 
+(13.0) (10.0) (9.0) (10.0) (13.0) 
+(125.0) (17.0) (16.0) (17.0) (125.0) 
+-------------- Calling test_pmFindImagePeaks on an 5-by-10 image. --------------
+(125.0) (20.0) (13.0) (8.0) (5.0) (4.0) (5.0) (8.0) (13.0) (125.0) 
+(26.0) (17.0) (10.0) (5.0) (2.0) (1.0) (2.0) (5.0) (10.0) (17.0) 
+(25.0) (16.0) (9.0) (4.0) (1.0) (125.0) (1.0) (4.0) (9.0) (16.0) 
+(26.0) (17.0) (10.0) (5.0) (2.0) (1.0) (2.0) (5.0) (10.0) (17.0) 
+(125.0) (20.0) (13.0) (8.0) (5.0) (4.0) (5.0) (8.0) (13.0) (125.0) 
+(10.0) (0.0) (10.0) (0.0) (10.0) (0.0) (10.0) (0.0) (10.0) (0.0) 
+(0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) 
+(12.0) (0.0) (12.0) (0.0) (12.0) (0.0) (12.0) (0.0) (12.0) (0.0) 
+(0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) 
+(14.0) (0.0) (14.0) (0.0) (14.0) (0.0) (14.0) (0.0) (14.0) (0.0) 
+(0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) 
+(16.0) (0.0) (16.0) (0.0) (16.0) (0.0) (16.0) (0.0) (16.0) (0.0) 
+(0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) 
+(18.0) (0.0) (18.0) (0.0) (18.0) (0.0) (18.0) (0.0) (18.0) (0.0) 
+(0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) (0.0) 
+Set 25 peaks
+----------------------------------------------------------------------------------
+Calling pmCullPeaks with large maxValue and NULL psRegion.
+----------------------------------------------------------------------------------
+Calling pmCullPeaks with tiny maxValue and NULL psRegion.
+pmFindImagePeaks found 25 peaks
+----------------------------------------------------------------------------------
+Calling pmCullPeaks with large maxValue and disjoint psRegion.
+pmFindImagePeaks found 25 peaks
+----------------------------------------------------------------------------------
+Calling pmCullPeaks with large maxValue and non-disjoint psRegion.
+pmFindImagePeaks found 25 peaks
+----------------------------------------------------------------------------------
+----------------------------------------------------------------------------------
+Calling pmSourceLocalSky with NULL psImage.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceLocalSky with wrong-type psImage.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceLocalSky with NULL psPeak.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceLocalSky with innerRadius<0.0.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceLocalSky with innerRadius>outerRadius.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceLocalSky with valid data.
+----------------------------------------------------------------------------------
+----------------------------------------------------------------------------------
+Calling pmSourceSetPixelCircle with NULL psSource.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceSetPixelCircle with NULL psImage.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceSetPixelCircle with wrong type psImage.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceSetPixelCircle with radius < 0.0.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceSetPixelCircle with valid data.
+----------------------------------------------------------------------------------
+----------------------------------------------------------------------------------
+Calling pmSourceMoments with NULL psSource.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceMoments with radius < 0.0.  Should generate error and return NULL.
+----------------------------------------------------------------------------------
+----------------------------------------------------------------------------------
+Calling pmMinLM_Gauss2D with NULL deriv vector.  Should not generate error.
+----------------------------------------------------------------------------------
+Calling pmMinLM_Gauss2D with NULL params vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_Gauss2D with NULL x vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_PsuedoGauss2D with NULL deriv vector.  Should not generate error.
+----------------------------------------------------------------------------------
+Calling pmMinLM_PsuedoGauss2D with NULL params vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_PsuedoGauss2D with NULL x vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_Wauss2D with NULL deriv vector.  Should not generate error.
+----------------------------------------------------------------------------------
+Calling pmMinLM_Wauss2D with NULL params vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_Wauss2D with NULL x vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_TwistGauss2D with NULL deriv vector.  Should not generate error.
+----------------------------------------------------------------------------------
+Calling pmMinLM_TwistGauss2D with NULL params vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_TwistGauss2D with NULL x vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_Sersic with NULL deriv vector.  Should not generate error.
+----------------------------------------------------------------------------------
+Calling pmMinLM_Sersic with NULL params vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_Sersic with NULL x vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_SersicCore with NULL deriv vector.  Should not generate error.
+----------------------------------------------------------------------------------
+Calling pmMinLM_SersicCore with NULL params vector.  Should generate error and return NAN.
+----------------------------------------------------------------------------------
+Calling pmMinLM_SersicCore with NULL x vector.  Should generate error and return NAN.
+Calling pmSourceLocalSky with valid data.
+----------------------------------------------------------------------------------
+Calling pmSourceModelGuess with NULL psSource.  Should generate error, return FALSE.
+----------------------------------------------------------------------------------
+Calling pmSourceModelGuess with NULL psImage.  Should generate error, return FALSE.
+----------------------------------------------------------------------------------
+Calling pmSourceModelGuess with bad model type.  Should generate error, return FALSE.
+----------------------------------------------------------------------------------
+Calling pmSourceModelGuess with PS_MODEL_GAUSS
+----------------------------------------------------------------------------------
+Calling pmSourceModelGuess with PS_MODEL_PGAUSS
+----------------------------------------------------------------------------------
+Calling pmSourceModelGuess with PS_MODEL_TWIST_GAUSS
+----------------------------------------------------------------------------------
+Calling pmSourceModelGuess with PS_MODEL_WAUSS
+----------------------------------------------------------------------------------
+Calling pmSourceModelGuess with PS_MODEL_SERSIC
+----------------------------------------------------------------------------------
+Calling pmSourceModelGuess with PS_MODEL_SERSIC_CORE
+Calling pmSourceLocalSky with valid data.
+----------------------------------------------------------------------------------
+Calling pmSourceContour with NULL psSource .  Should generate error, return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceContour with NULL psImage .  Should generate error, return NULL.
+----------------------------------------------------------------------------------
+Calling pmSourceContour with acceptable data.
+NOTE: must figure out the parameters for this test to be meaningful.
+Calling pmSourceLocalSky with valid data.
+----------------------------------------------------------------------------------
+Calling pmSourceAddModel with NULL psImage.  Should generate error, return FALSE.
+----------------------------------------------------------------------------------
+Calling pmSourceAddModel with NULL psSrc.  Should generate error, return FALSE.
+----------------------------------------------------------------------------------
+Calling pmSourceAddModel with acceptable data.
+Calling pmSourceLocalSky with valid data.
+----------------------------------------------------------------------------------
+Calling pmSourceSubModel with NULL psImage.  Should generate error, return FALSE.
+----------------------------------------------------------------------------------
+Calling pmSourceSubModel with NULL psSrc.  Should generate error, return FALSE.
+----------------------------------------------------------------------------------
+Calling pmSourceSubModel with acceptable data.
+Calling pmSourceLocalSky with valid data.
+----------------------------------------------------------------------------------
+Calling pmSourceFitModel with NULL psImage.  Should generate error, return FALSE.
+----------------------------------------------------------------------------------
+Calling pmSourceFitModel with NULL psSource.  Should generate error, return FALSE.
+----------------------------------------------------------------------------------
+Calling pmSourceFitModel with acceptable data.
+pmSourceFitModel returned 1
