diff --git a/erp5/util/testsuite/__init__.py b/erp5/util/testsuite/__init__.py
index b477ab26fbb0e2a326ff95f2e6d3fde7b51bc00a..eb982458c0e28e319f3d2ec5f6dc5f0e2b506773 100644
--- a/erp5/util/testsuite/__init__.py
+++ b/erp5/util/testsuite/__init__.py
@@ -223,16 +223,14 @@ class EggTestSuite(TestSuite):
     print test
     original_dir = os.getcwd()
     try:
-      os.chdir(test)
+      os.chdir(self.egg_test_path_dict[test])
       return self.runUnitTest(test)
     finally:
       os.chdir(original_dir)
 
   def runUnitTest(self, *args, **kw):
     try:
-      # (FIXME) The python should be provided by environment with 
-      #         appropriated configuration.
-      runUnitTest = "python setup.py test"
+      runUnitTest = "{python} setup.py test".format(python=self.python_interpreter)
       args = tuple(shlex.split(runUnitTest))
       status_dict = self.spawn(*args, **kw)
     except SubprocessError, e:
@@ -263,10 +261,7 @@ class EggTestSuite(TestSuite):
     return status_dict
 
   def getTestList(self):
-    # (FIXME) The test name should be nicer in order to provide a good report.
-    #         On task distribution.
-    source_code_to_test = os.environ.get("SOURCE_CODE_TO_TEST", '.')
-    return source_code_to_test.split(",")
+    return self.egg_test_path_dict.keys()
 
 def runTestSuite():
   parser = argparse.ArgumentParser(description='Run a test suite.')
@@ -287,18 +282,24 @@ def runTestSuite():
   parser.add_argument('--frontend_url',
                       help='The url of the frontend of this test node',
                       default=None)
+  parser.add_argument('--python_interpreter',
+                      help='Path to python interpreter used to run the test suite',
+                      default='python')
   parser.add_argument('--source_code_path_list',
-                      help='List of Eggs folders to test, splited by commam',
+                      help='Coma separated list of Eggs folders to test',
                       default='.')
 
   args = parser.parse_args()
   master = taskdistribution.TaskDistributor(args.master_url)
-  os.environ.setdefault("SOURCE_CODE_TO_TEST", args.source_code_path_list)
   test_suite_title = args.test_suite_title or args.test_suite
   revision = args.revision
   suite = EggTestSuite(1, test_suite=args.test_suite,
                     node_quantity=args.node_quantity,
-                    revision=revision)
+                    revision=revision,
+                    python_interpreter=args.python_interpreter,
+                    egg_test_path_dict={os.path.basename(path): path
+                        for path in args.source_code_path_list.split(',')},
+                    )
 
   test_result = master.createTestResult(revision, suite.getTestList(),
     args.test_node_title, suite.allow_restart, test_suite_title,