[Erp5-report] r40341 gabriel - /erp5/trunk/utils/cloudooo/cloudooo/tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Nov 17 22:43:47 CET 2010


Author: gabriel
Date: Wed Nov 17 22:43:46 2010
New Revision: 40341

URL: http://svn.erp5.org?rev=40341&view=rev
Log:
refactor code to cloudooo daemon starts correctly

Modified:
    erp5/trunk/utils/cloudooo/cloudooo/tests/runCloudOOoUnitTest.py

Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/runCloudOOoUnitTest.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/runCloudOOoUnitTest.py?rev=40341&r1=40340&r2=40341&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/runCloudOOoUnitTest.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/runCloudOOoUnitTest.py [utf8] Wed Nov 17 22:43:46 2010
@@ -11,23 +11,18 @@ from subprocess import Popen
 
 ENVIRONMENT_PATH = path.abspath(path.dirname(__file__))
 
-def wait_liberate_port(hostname, port):
+def wait_liberate_port(hostname, port, timeout_limit=10):
   for n in range(timeout_limit):
     if not socketStatus(hostname, port):
       break
     sleep(1)
 
-def wait_use_port(hostname, port):
+def wait_use_port(hostname, port, timeout_limit=10):
   for n in range(timeout_limit):
     if socketStatus(hostname, port):
       return
     sleep(1)
 
-def get_partial_log():
-  if path.exists(log_path):
-    return '\n'.join(open(log_path).read().split('\n')[-30:])
-  return ''
-
 def exit(msg):
   sys.stderr.write(msg)
   sys.exit(0) 
@@ -54,10 +49,13 @@ def run():
                                                    "log_path=",
                                                    "cloudooo_runner=",
                                                    "server_cloudooo_conf=",
-                                                   "timeout_limit="])
+                                                   "timeout_limit=",
+                                                   "paster_path="])
   except GetoptError, msg:
     exit(msg.msg)
   
+  paster_path = "paster"
+
   for opt, arg in opt_list:
     if opt == "--with-daemon":
       DAEMON = True
@@ -74,12 +72,13 @@ def run():
       environ["server_cloudooo_conf"] = arg
     elif opt == "--timeout_limit":
       timeout_limit = arg
+    elif opt == "--paster_path":
+      paster_path = arg
   
   from cloudoooTestCase import loadConfig, startFakeEnvironment, stopFakeEnvironment
   
   sys.path.append(ENVIRONMENT_PATH)
-  chdir(ENVIRONMENT_PATH)
- 
+   
   config = ConfigParser()
   config.read(server_cloudooo_conf)
   openoffice_port = int(config.get("app:main", "openoffice_port"))
@@ -91,24 +90,30 @@ def run():
 
   if DAEMON:
     loadConfig(server_cloudooo_conf)
-    Popen([cloudooo_runner, 'start']).communicate()
+    command = [paster_path, "serve", server_cloudooo_conf]
+    process = Popen(" ".join(command), shell=True)
     wait_use_port(hostname, server_port)
-    print get_partial_log()
+    chdir(ENVIRONMENT_PATH)
     try:
       run_test(test_name)
     finally:
-      Popen([cloudooo_runner, 'stop']).communicate()
+      process.send_signal(1)
+      sleep(3)
+      process.terminate()
     wait_liberate_port(hostname, server_port)
   elif OPENOFFICE:
+    chdir(ENVIRONMENT_PATH)
     openoffice, xvfb = startFakeEnvironment(conf_path=server_cloudooo_conf)
     run_test(test_name)
     stopFakeEnvironment()
   elif XVFB:
+    chdir(ENVIRONMENT_PATH)
     xvfb = startFakeEnvironment(start_openoffice=False,
                                 conf_path=server_cloudooo_conf)
     run_test(test_name)
     stopFakeEnvironment(stop_openoffice=False)
   else:
+    chdir(ENVIRONMENT_PATH)
     loadConfig(server_cloudooo_conf)
     run_test(test_name)
 




More information about the Erp5-report mailing list