[Erp5-report] r40333 gabriel - in /erp5/trunk/utils/cloudooo/cloudooo: ./ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Nov 17 15:05:05 CET 2010


Author: gabriel
Date: Wed Nov 17 15:05:03 2010
New Revision: 40333

URL: http://svn.erp5.org?rev=40333&view=rev
Log:
- remove not used imports
- add script to run cloudooo tests. This script will replace the buildout template used to run cloudooo tests.
- remove obsolete script

Added:
    erp5/trunk/utils/cloudooo/cloudooo/tests/runCloudOOoUnitTest.py
Removed:
    erp5/trunk/utils/cloudooo/cloudooo/tests/runalltests.py
Modified:
    erp5/trunk/utils/cloudooo/cloudooo/mimemapper.py
    erp5/trunk/utils/cloudooo/cloudooo/tests/testServer.py

Modified: erp5/trunk/utils/cloudooo/cloudooo/mimemapper.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/mimemapper.py?rev=40333&r1=40332&r2=40333&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/mimemapper.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/mimemapper.py [utf8] Wed Nov 17 15:05:03 2010
@@ -35,7 +35,6 @@ from os import environ, path
 from interfaces.mimemapper import IMimemapper
 from types import InstanceType
 from utils import getCleanPythonEnvironment
-from sys import executable as python_path
 
 class MimeMapper(object):
   """Load all filters from OOo. You can get the of the filter you want or all

Added: erp5/trunk/utils/cloudooo/cloudooo/tests/runCloudOOoUnitTest.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/runCloudOOoUnitTest.py?rev=40333&view=auto
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/runCloudOOoUnitTest.py (added)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/runCloudOOoUnitTest.py [utf8] Wed Nov 17 15:05:03 2010
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+
+import sys
+import unittest
+from getopt import getopt, GetoptError
+from time import sleep
+from cloudooo.utils import socketStatus
+from ConfigParser import ConfigParser
+from os import chdir, path
+from subprocess import Popen
+
+ENVIRONMENT_PATH = path.abspath(path.dirname(__file__))
+
+def wait_liberate_port(hostname, port):
+  for n in range(timeout_limit):
+    if not socketStatus(hostname, port):
+      break
+    sleep(1)
+
+def wait_use_port(hostname, port):
+  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) 
+
+def run_test(test_name):
+  module = __import__(test_name)
+  if not hasattr(module, "test_suite"):
+    exit("No test suite to run, exiting immediately")
+  TestRunner = unittest.TextTestRunner
+  suite = unittest.TestSuite()
+  suite.addTest(module.test_suite())
+  TestRunner(verbosity=2).run(suite)
+
+def run():
+  DAEMON = OPENOFFICE = XVFB = False
+  test_name = sys.argv[-1]
+  if not path.exists(path.join(ENVIRONMENT_PATH, '%s.py' % test_name)):
+    exit("%s not exists\n" % test_name)
+
+  try:
+    opt_list, arg_list = getopt(sys.argv[1:-1], "", ["with-daemon",
+                                                   "with-openoffice",
+                                                   "with-xvfb",
+                                                   "log_path=",
+                                                   "cloudooo_runner=",
+                                                   "server_cloudooo_conf=",
+                                                   "timeout_limit="])
+  except GetoptError, msg:
+    exit(msg.msg)
+  
+  for opt, arg in opt_list:
+    if opt == "--with-daemon":
+      DAEMON = True
+    elif opt == "--with-openoffice":
+      OPENOFFICE = True
+    elif opt == "--with-xvfb":
+      XVFB = True
+    elif opt == "--log_path":
+      log_path = arg
+    elif opt == "--cloudooo_runner":
+      cloudooo_runner = arg
+    elif opt == "--server_cloudooo_conf":
+      server_cloudooo_conf = arg
+    elif opt == "--timeout_limit":
+      timeout_limit = 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"))
+  xvfb_port = int(config.get("app:main", "virtual_display_port"))
+  xvfb_display_id = int(config.get("app:main", "virtual_display_id"))
+  hostname = config.get("app:main", "application_hostname")
+  server_port = int(config.get("server:main", "port"))
+  run_dir = config.get('app:main', 'working_path')
+
+  test_name = sys.argv[-1]
+  if not path.exists(path.join(ENVIRONMENT_PATH, '%s.py' % test_name)):
+    exit("%s not exists\n" % test_name)
+
+  if DAEMON:
+    loadConfig(server_cloudooo_conf)
+    Popen([cloudooo_runner, 'start']).communicate()
+    wait_use_port(hostname, server_port)
+    print get_partial_log()
+    try:
+      run_test(test_name)
+    finally:
+      Popen([cloudooo_runner, 'stop']).communicate()
+    wait_liberate_port(hostname, server_port)
+  elif OPENOFFICE:
+    openoffice, xvfb = startFakeEnvironment(conf_path=server_cloudooo_conf)
+    run_test(test_name)
+    stopFakeEnvironment()
+  elif XVFB:
+    xvfb = startFakeEnvironment(start_openoffice=False,
+                                conf_path=server_cloudooo_conf)
+    run_test(test_name)
+    stopFakeEnvironment(stop_openoffice=False)
+  else:
+    loadConfig(server_cloudooo_conf)
+    run_test(test_name)
+
+if __name__ == "__main__":
+  run()

Removed: erp5/trunk/utils/cloudooo/cloudooo/tests/runalltests.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/runalltests.py?rev=40332&view=auto
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/runalltests.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/runalltests.py (removed)
@@ -1,47 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2002-2010 Nexedi SA and Contributors. All Rights Reserved.
-#                    Gabriel M. Monnerat <gabriel at tiolive.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsibility of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# guarantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-##############################################################################
-
-import os
-import unittest
-from cloudoooTestCase import startFakeEnvironment, stopFakeEnvironment
-
-TestRunner = unittest.TextTestRunner
-suite = unittest.TestSuite()
-
-tests = os.listdir(os.curdir)
-tests = [n[:-3] for n in tests if n.startswith('test') and n.endswith('.py')]
-
-for test in tests:
-    m = __import__(test)
-    if hasattr(m, 'test_suite'):
-        suite.addTest(m.test_suite())
-
-if __name__ == '__main__':
-  startFakeEnvironment()
-  TestRunner(verbosity=2).run(suite)
-  stopFakeEnvironment()

Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/testServer.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/testServer.py?rev=40333&r1=40332&r2=40333&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/testServer.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/testServer.py [utf8] Wed Nov 17 15:05:03 2010
@@ -316,7 +316,6 @@ class TestServer(cloudoooTestCase):
     """Test to verify if the behavior of server is normal when a empty string
     is sent"""
     data = encodestring("")
-    error_msg = "This document can not be loaded or is empty\n"
     fail_msg = "This document can not be loaded, it is empty\n"
     try:
       self.proxy.convertFile(data, '', '')




More information about the Erp5-report mailing list