Index: test/park_integration/test/test_fit_smeared.py
===================================================================
--- test/park_integration/test/test_fit_smeared.py	(revision 6c007022258cff8efb5208e90301244c22e30170)
+++ 	(revision )
@@ -1,171 +1,0 @@
-"""
-    Unit tests for fitting module 
-    @author M. Doucet
-"""
-import unittest
-import math
-import numpy
-from sans.fit.AbstractFitEngine import Model
-from sans.fit.Fitting import Fit
-from sans.dataloader.loader import Loader
-from sans.models.qsmearing import smear_selection
-from sans.models.CylinderModel import CylinderModel
-from sans.models.SphereModel import SphereModel
-
-class testFitModule(unittest.TestCase):
-    """ test fitting """
-    
-    def test_scipy(self):
-        """ Simple cylinder model fit (scipy)  """
-        
-        out=Loader().load("cyl_400_20.txt")
-        # This data file has not error, add them
-        out.dy = out.y
-        
-        fitter = Fit('scipy')
-        fitter.set_data(out,1)
-        
-        # Receives the type of model for the fitting
-        model1  = CylinderModel()
-        model1.setParam('sldCyl', 3.0e-6)
-        model1.setParam('sldSolv', 0.0)
-        model = Model(model1)
-        model.set(scale=1e-10)
-        pars1 =['length','radius','scale']
-        fitter.set_model(model,1,pars1)
-        
-        # What the hell is this line for?
-        fitter.select_problem_for_fit(id=1,value=1)
-        result1, = fitter.fit()
-        
-        self.assert_(result1)
-        self.assertTrue(len(result1.pvec)>0 or len(result1.pvec)==0 )
-        self.assertTrue(len(result1.stderr)> 0 or len(result1.stderr)==0)
-        
-        self.assertTrue( math.fabs(result1.pvec[0]-400.0)/3.0 < result1.stderr[0] )
-        self.assertTrue( math.fabs(result1.pvec[1]-20.0)/3.0  < result1.stderr[1] )
-        self.assertTrue( math.fabs(result1.pvec[2]-9.0e-12)/3.0   < result1.stderr[2] )
-        self.assertTrue( result1.fitness < 1.0 )
-        
-    def test_scipy_dispersion(self):
-        """
-            Cylinder fit with dispersion
-        """
-        # Load data
-        # This data is for a cylinder with 
-        #   length=400, radius=20, radius disp=5, scale=1e-10
-        out=Loader().load("cyl_400_20_disp5r.txt")
-        out.dy = numpy.zeros(len(out.y))
-        for i in range(len(out.y)):
-            out.dy[i] = math.sqrt(out.y[i])
-        
-        # Set up the fit
-        fitter = Fit('scipy')
-        # Receives the type of model for the fitting
-        model1  = CylinderModel()
-        model1.setParam('sldCyl', 3.0e-6)
-        model1.setParam('sldSolv', 0.0)
-
-        # Dispersion parameters
-        model1.dispersion['radius']['width'] = 0.001
-        model1.dispersion['radius']['npts'] = 50        
-        
-        model = Model(model1)
-        
-        pars1 =['length','radius','scale','radius.width']
-        fitter.set_data(out,1)
-        model.set(scale=1e-10)
-        fitter.set_model(model,1,pars1)
-        fitter.select_problem_for_fit(id=1,value=1)
-        result1, = fitter.fit()
-        
-        self.assert_(result1)
-        self.assertTrue(len(result1.pvec)>0 or len(result1.pvec)==0 )
-        self.assertTrue(len(result1.stderr)> 0 or len(result1.stderr)==0)
-        
-        self.assertTrue( math.fabs(result1.pvec[0]-400.0)/3.0 < result1.stderr[0] )
-        self.assertTrue( math.fabs(result1.pvec[1]-20.0)/3.0  < result1.stderr[1] )
-        self.assertTrue( math.fabs(result1.pvec[2]-1.0e-10)/3.0   < result1.stderr[2] )
-        self.assertTrue( math.fabs(result1.pvec[3]-5.0)/3.0   < result1.stderr[3] )
-        self.assertTrue( result1.fitness < 1.0 )
-        
-        
-class smear_testdata(unittest.TestCase):
-    """
-        Test fitting with the smearing operations
-        The output of the fits should be compated to fits
-        done with IGOR for the same models and data sets.
-    """
-    def setUp(self):
-        print "TEST DONE WITHOUT PROPER OUTPUT CHECK:"
-        print "   ---> TEST NEEDS TO BE COMPLETED"
-        data = Loader().load("latex_smeared.xml")
-        self.data_res = data[0]
-        self.data_slit = data[1]
-        
-        self.sphere = SphereModel()
-        self.sphere.setParam('radius', 5000.0)
-        self.sphere.setParam('scale', 1.0e-13)
-        self.sphere.setParam('radius.npts', 30)
-        self.sphere.setParam('radius.width',500)
-        
-    def test_reso(self):
-
-        # Let the data module find out what smearing the
-        # data needs
-        smear = smear_selection(self.data_res)
-        self.assertEqual(smear.__class__.__name__, 'QSmearer')
-
-        # Fit
-        fitter = Fit('scipy')
-        
-        # Data: right now this is the only way to set the smearer object
-        # We should improve that and have a way to get access to the
-        # data for a given fit.
-        fitter.set_data(self.data_res,1)
-        fitter._engine.fit_arrange_dict[1].data_list[0].smearer = smear
-        print "smear ",smear
-        # Model: maybe there's a better way to do this.
-        # Ideally we should have to create a new model from our sans model.
-        fitter.set_model(Model(self.sphere),1, ['radius','scale'])
-        
-        # Why do we have to do this...?
-        fitter.select_problem_for_fit(id=1,value=1)
-        
-        # Perform the fit (might take a while)
-        result1, = fitter.fit()
-        
-        # Replace this with proper test once we know what the
-        # result should be 
-        print result1.pvec
-        print result1.stderr
-        
-    def test_slit(self):
-        smear = smear_selection(self.data_slit)
-        self.assertEqual(smear.__class__.__name__, 'SlitSmearer')
-
-        # Fit
-        fitter = Fit('scipy')
-        
-        # Data: right now this is the only way to set the smearer object
-        # We should improve that and have a way to get access to the
-        # data for a given fit.
-        fitter.set_data(self.data_slit,1)
-        fitter._engine.fit_arrange_dict[1].data_list[0].smearer = smear
-        fitter._engine.fit_arrange_dict[1].data_list[0].qmax = 0.003
-        
-        # Model
-        fitter.set_model(Model(self.sphere),1, ['radius','scale'])
-        fitter.select_problem_for_fit(id=1,value=1)
-        
-        result1, = fitter.fit()
-        
-        # Replace this with proper test once we know what the
-        # result should be 
-        print result1.pvec
-        print result1.stderr
-        
-       
-       
-if __name__ == '__main__':
-    unittest.main()
Index: test/park_integration/test/utest_fit_line.py
===================================================================
--- test/park_integration/test/utest_fit_line.py	(revision 95d58d3a800344be2703a5e297ab0e7b153c6309)
+++ test/park_integration/test/utest_fit_line.py	(revision 76f132a28f8a87fc91ae4fe9b234ceda800fa202)
@@ -30,5 +30,5 @@
         except ValueError,exc:
             #print "ValueError was correctly raised: "+str(msg)
-            assert str(exc).startswith('wrong parameter')
+            assert str(exc).startswith('parameter param1')
         else:
             raise AssertionError("No error raised for scipy fitting with wrong parameters name to fit")
@@ -54,5 +54,5 @@
         # The target values were generated from the following statements
         p,s,fx = result1.pvec, result1.stderr, result1.fitness
-        #print "p0,p1,s0,s1,fx_ = %g, %g, %g, %g, %g"%(p[0],p[1],s[0],s[1],fx)
+        #print "p0,p1,s0,s1,fx = %g, %g, %g, %g, %g"%(p[0],p[1],s[0],s[1],fx)
         p0,p1,s0,s1,fx_ = 3.68353, 2.61004, 0.336186, 0.105244, 1.20189
 
@@ -65,5 +65,5 @@
             self.assertTrue( abs(p[0]-p0) <= 1e-5 )
             self.assertTrue( abs(p[1]-p1) <= 1e-5 )
-            self.assertTrue( abs(fx-fx_) <= 1e-2 )
+            self.assertTrue( abs(fx-fx_) <= 1e-5 )
 
     def fit_bumps(self, alg, **opts):
Index: test/park_integration/test/utest_fit_smeared.py
===================================================================
--- test/park_integration/test/utest_fit_smeared.py	(revision 76f132a28f8a87fc91ae4fe9b234ceda800fa202)
+++ test/park_integration/test/utest_fit_smeared.py	(revision 76f132a28f8a87fc91ae4fe9b234ceda800fa202)
@@ -0,0 +1,200 @@
+"""
+    Unit tests for fitting module 
+    @author M. Doucet
+"""
+import unittest
+import math
+import numpy
+from sans.fit.AbstractFitEngine import Model
+from sans.fit.Fitting import Fit
+from sans.dataloader.loader import Loader
+from sans.models.qsmearing import smear_selection
+from sans.models.CylinderModel import CylinderModel
+from sans.models.SphereModel import SphereModel
+
+class testFitModule(unittest.TestCase):
+    """ test fitting """
+    
+    def test_scipy(self):
+        """ Simple cylinder model fit (scipy)  """
+        
+        out=Loader().load("cyl_400_20.txt")
+        # This data file has not error, add them
+        #out.dy = out.y
+        
+        fitter = Fit('scipy')
+        fitter.set_data(out,1)
+        
+        # Receives the type of model for the fitting
+        model1  = CylinderModel()
+        model1.setParam("scale", 1.0)
+        model1.setParam("radius",18)
+        model1.setParam("length", 397)
+        model1.setParam("sldCyl",3e-006 )
+        model1.setParam("sldSolv",0.0 )
+        model1.setParam("background", 0.0)
+        model = Model(model1)
+        pars1 =['length','radius','scale']
+        fitter.set_model(model,1,pars1)
+        
+        # What the hell is this line for?
+        fitter.select_problem_for_fit(id=1,value=1)
+        result1, = fitter.fit()
+        #print "result1",result1
+
+        self.assert_(result1)
+        self.assertTrue(len(result1.pvec) > 0)
+        self.assertTrue(len(result1.stderr) > 0)
+        
+        self.assertTrue( math.fabs(result1.pvec[0]-400.0)/3.0 < result1.stderr[0] )
+        self.assertTrue( math.fabs(result1.pvec[1]-20.0)/3.0  < result1.stderr[1] )
+        self.assertTrue( math.fabs(result1.pvec[2]-1)/3.0   < result1.stderr[2] )
+        self.assertTrue( result1.fitness < 1.0 )
+
+    def test_park_dispersion(self):
+        """
+            Cylinder fit with dispersion
+        """
+        self._dispersion(fitter = Fit('park'))
+
+    def test_bumps_dispersion(self):
+        """
+            Cylinder fit with dispersion
+        """
+        alg = 'amoeba'
+        from bumps import fitters
+        fitters.FIT_DEFAULT = alg
+        #fitters.FIT_OPTIONS[alg].options.update(opts)
+        fitters.FIT_OPTIONS[alg].options.update(monitors=[])
+        self._dispersion(fitter = Fit('bumps'))
+
+    def test_scipy_dispersion(self):
+        """
+            Cylinder fit with dispersion
+        """
+        self._dispersion(fitter = Fit('scipy'))
+
+    def _dispersion(self, fitter):
+        # Load data
+        # This data is for a cylinder with 
+        #   length=400, radius=20, radius disp=5, scale=1e-10
+        out=Loader().load("cyl_400_20_disp5r.txt")
+        out.dy = numpy.zeros(len(out.y))
+        for i in range(len(out.y)):
+            out.dy[i] = math.sqrt(out.y[i])
+        
+        # Receives the type of model for the fitting
+        model1  = CylinderModel()
+        model1.setParam("scale", 10.0)
+        model1.setParam("radius",18)
+        model1.setParam("length", 397)
+        model1.setParam("sldCyl",3e-006 )
+        model1.setParam("sldSolv",0.0 )
+        model1.setParam("background", 0.0)
+
+        # Dispersion parameters
+        model1.dispersion['radius']['width'] = 0.25
+        model1.dispersion['radius']['npts'] = 50
+
+        model = Model(model1)
+
+        pars1 =['length','radius','scale','radius.width']
+        fitter.set_data(out,1)
+        fitter.set_model(model,1,pars1)
+        fitter.select_problem_for_fit(id=1,value=1)
+        result1, = fitter.fit()
+        
+        self.assert_(result1)
+        self.assertTrue(len(result1.pvec)>0)
+        self.assertTrue(len(result1.stderr)>0)
+
+        self.assertTrue( math.fabs(result1.pvec[0]-399.8)/3.0 < result1.stderr[0] )
+        self.assertTrue( math.fabs(result1.pvec[1]-17.5)/3.0  < result1.stderr[1] )
+        self.assertTrue( math.fabs(result1.pvec[2]-11.1)/3.0   < result1.stderr[2] )
+        self.assertTrue( math.fabs(result1.pvec[3]-0.276)/3.0   < result1.stderr[3] )
+        self.assertTrue( result1.fitness < 1.0 )
+        
+        
+class smear_testdata(unittest.TestCase):
+    """
+        Test fitting with the smearing operations
+        The output of the fits should be compated to fits
+        done with IGOR for the same models and data sets.
+    """
+    def setUp(self):
+        data = Loader().load("latex_smeared.xml")
+        self.data_res = data[0]
+        self.data_slit = data[1]
+        
+        self.sphere = SphereModel()
+        self.sphere.setParam('background', 0)
+        self.sphere.setParam('radius', 5000.0)
+        self.sphere.setParam('scale', 0.4)
+        self.sphere.setParam('sldSolv',0)
+        self.sphere.setParam('sldSph',1e-6)
+        #self.sphere.setParam('radius.npts', 30)
+        #self.sphere.setParam('radius.width',50)
+
+    def test_reso(self):
+
+        # Let the data module find out what smearing the
+        # data needs
+        smear = smear_selection(self.data_res)
+        self.assertEqual(smear.__class__.__name__, 'QSmearer')
+
+        # Fit
+        fitter = Fit('scipy')
+        
+        # Data: right now this is the only way to set the smearer object
+        # We should improve that and have a way to get access to the
+        # data for a given fit.
+        fitter.set_data(self.data_res,1)
+        fitter._engine.fit_arrange_dict[1].data_list[0].smearer = smear
+
+        # Model: maybe there's a better way to do this.
+        # Ideally we should have to create a new model from our sans model.
+        fitter.set_model(Model(self.sphere),1, ['radius','scale', 'background'])
+        
+        # Why do we have to do this...?
+        fitter.select_problem_for_fit(id=1,value=1)
+
+        # Perform the fit (might take a while)
+        result1, = fitter.fit()
+        
+        #print "v",result1.pvec
+        #print "dv",result1.stderr
+        #print "chisq(v)",result1.fitness
+
+        self.assertTrue( math.fabs(result1.pvec[0]-5000) < 20 )
+        self.assertTrue( math.fabs(result1.pvec[1]-0.48) < 0.02 )
+        self.assertTrue( math.fabs(result1.pvec[2]-0.060)  < 0.002 )
+
+
+    def test_slit(self):
+        smear = smear_selection(self.data_slit)
+        self.assertEqual(smear.__class__.__name__, 'SlitSmearer')
+
+        fitter = Fit('scipy')
+        
+        # Data: right now this is the only way to set the smearer object
+        # We should improve that and have a way to get access to the
+        # data for a given fit.
+        fitter.set_data(self.data_slit,1)
+        fitter._engine.fit_arrange_dict[1].data_list[0].smearer = smear
+        fitter._engine.fit_arrange_dict[1].data_list[0].qmax = 0.003
+        
+        # Model
+        fitter.set_model(Model(self.sphere),1, ['radius','scale'])
+        fitter.select_problem_for_fit(id=1,value=1)
+        
+        result1, = fitter.fit()
+        
+        #print "v",result1.pvec
+        #print "dv",result1.stderr
+        #print "chisq(v)",result1.fitness
+        
+        self.assertTrue( math.fabs(result1.pvec[0]-2340) < 20 )
+        self.assertTrue( math.fabs(result1.pvec[1]-0.010) < 0.002 )
+
+if __name__ == '__main__':
+    unittest.main()
Index: test/park_integration/test/utest_small_test.py
===================================================================
--- test/park_integration/test/utest_small_test.py	(revision 4de1fed7610d5b3af3ea430a1c6b7e7de54b99c8)
+++ test/park_integration/test/utest_small_test.py	(revision 76f132a28f8a87fc91ae4fe9b234ceda800fa202)
@@ -27,5 +27,7 @@
         fitter.select_problem_for_fit(id=1,value=1)
         result1, = fitter.fit()
-        
+        #print result1
+        #print result1.__dict__
+
         self.assert_(result1)
         self.assertTrue(len(result1.pvec)>0 or len(result1.pvec)==0 )
Index: test/run_one.py
===================================================================
--- test/run_one.py	(revision 95fb3e8659be4e20c87d88465e68b8077488a368)
+++ test/run_one.py	(revision 76f132a28f8a87fc91ae4fe9b234ceda800fa202)
@@ -12,5 +12,5 @@
 run.prepare()
 #print "\n".join(sys.path)
-test_path,test_file = splitpath(sys.argv[1])
+test_path,test_file = splitpath(abspath(sys.argv[1]))
 print "=== testing:",sys.argv[1]
 #print test_path, test_file
