[Erp5-report] r37867 gabriel - in /erp5/trunk/utils/cloudooo/cloudooo/tests: ./ output/
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Aug 17 17:54:59 CEST 2010
Author: gabriel
Date: Tue Aug 17 17:54:57 2010
New Revision: 37867
URL: http://svn.erp5.org?rev=37867&view=rev
Log:
add functions to create a folder to run the application and save temporary files
Removed:
erp5/trunk/utils/cloudooo/cloudooo/tests/output/
Modified:
erp5/trunk/utils/cloudooo/cloudooo/tests/cloudoooTestCase.py
erp5/trunk/utils/cloudooo/cloudooo/tests/testOOHandler.py
erp5/trunk/utils/cloudooo/cloudooo/tests/testUnoConverter.py
Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/cloudoooTestCase.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/cloudoooTestCase.py?rev=37867&r1=37866&r2=37867&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/cloudoooTestCase.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/cloudoooTestCase.py [utf8] Tue Aug 17 17:54:57 2010
@@ -27,9 +27,9 @@
##############################################################################
import unittest
-from sys import path, argv
+import sys
from ConfigParser import ConfigParser
-from os.path import join, exists, dirname
+from os import path, mkdir
from os import environ, putenv
from cloudooo.application.xvfb import xvfb
from cloudooo.application.openoffice import openoffice
@@ -37,7 +37,31 @@ from cloudooo.utils import waitStartDaem
from cloudooo.mimemapper import mimemapper
config = ConfigParser()
-testcase_path = dirname(__file__)
+testcase_path = path.dirname(__file__)
+
+
+def check_folder(path_dir_run_cloudooo, tmp_dir_path):
+ if not path.exists(path_dir_run_cloudooo):
+ mkdir(path_dir_run_cloudooo)
+ if not path.exists(tmp_dir_path):
+ mkdir(tmp_dir_path)
+
+def extract_cloudooo_script():
+ from sys import executable
+ import pkg_resources
+ cloudooo_resources = pkg_resources.get_distribution('cloudooo')
+ console_scripts = cloudooo_resources.get_entry_map()['console_scripts']
+
+ openoffice_tester_bin_path = path.join(path.dirname(executable),
+ console_scripts["openoffice_tester.py"].name)
+ unomimemapper_bin_path = path.join(path.dirname(executable),
+ console_scripts["unomimemapper.py"].name)
+ unoconverter_bin_path = path.join(path.dirname(executable),
+ console_scripts["unoconverter.py"].name)
+
+ return dict(unoconverter_bin=unoconverter_bin_path,
+ unomimemapper_bin=unomimemapper_bin_path,
+ openoffice_tester_bin=openoffice_tester_bin_path)
def make_suite(test_case):
"""Function is used to run all tests together"""
@@ -50,8 +74,8 @@ def loadConfig(path):
def startFakeEnvironment(start_openoffice=True, conf_path=None):
"""Create a fake environment"""
- if not conf_path and len(argv) >=1:
- conf_path = argv[1]
+ if not conf_path and len(sys.argv) >=1:
+ conf_path = sys.argv[1]
loadConfig(conf_path)
uno_path = config.get("app:main", "uno_path")
path_dir_run_cloudooo = config.get("app:main", "path_dir_run_cloudooo")
@@ -60,8 +84,8 @@ def startFakeEnvironment(start_openoffic
hostname = config.get("server:main", "host")
openoffice_port = int(config.get("app:main", "openoffice_port"))
office_bin_path = config.get("app:main", "office_bin_path")
- openoffice_tester_bin = config.get("app:main", "openoffice_tester_bin")
-
+ tmp_dir = path.join(path_dir_run_cloudooo, 'tmp')
+ check_folder(path_dir_run_cloudooo, tmp_dir)
if not environ.get('uno_path'):
environ['uno_path'] = uno_path
@@ -69,11 +93,11 @@ def startFakeEnvironment(start_openoffic
if not environ.get('office_bin_path'):
environ['office_bin_path'] = office_bin_path
- if not uno_path in path:
- path.append(uno_path)
+ if uno_path not in sys.path:
+ sys.path.append(uno_path)
fundamentalrc_file = '%s/fundamentalrc' % office_bin_path
- if exists(fundamentalrc_file) and \
+ if path.exists(fundamentalrc_file) and \
not environ.has_key('URE_BOOTSTRAP'):
putenv('URE_BOOTSTRAP','vnd.sun.star.pathname:%s' % fundamentalrc_file)
@@ -84,6 +108,11 @@ def startFakeEnvironment(start_openoffic
virtual_screen='1')
xvfb.start()
waitStartDaemon(xvfb, 10)
+ cloudooo_script_dict = extract_cloudooo_script()
+
+ openoffice_tester_bin = cloudooo_script_dict["openoffice_tester_bin"]
+ unomimemapper_bin = cloudooo_script_dict["unomimemapper_bin"]
+
if start_openoffice:
openoffice.loadSettings(hostname,
openoffice_port,
@@ -95,8 +124,7 @@ def startFakeEnvironment(start_openoffic
openoffice.start()
openoffice.acquire()
hostname, port = openoffice.getAddress()
- kw = dict(python_path=config.get("app:main", "python_path"),
- unomimemapper_bin=config.get("app:main", "unomimemapper_bin"),
+ kw = dict(unomimemapper_bin=unomimemapper_bin,
uno_path=config.get("app:main", "uno_path"),
office_bin_path=config.get("app:main", "office_bin_path"))
if not mimemapper.isLoaded():
@@ -119,19 +147,23 @@ class cloudoooTestCase(unittest.TestCase
def setUp(self):
"""Creates a environment to run the tests. Is called always before the
tests."""
+ cloudooo_script_dict = extract_cloudooo_script()
+
+ self.openoffice_tester_bin = cloudooo_script_dict["openoffice_tester_bin"]
+ self.unomimemapper_bin = cloudooo_script_dict["unomimemapper_bin"]
+ self.unoconverter_bin = cloudooo_script_dict["unoconverter_bin"]
+
self.hostname = config.get("server:main", "host")
self.cloudooo_port = config.get("server:main", "port")
self.openoffice_port = config.get("app:main", "openoffice_port")
self.office_bin_path = config.get("app:main", "office_bin_path")
+ self.python_path = sys.executable
self.path_dir_run_cloudooo = config.get("app:main", "path_dir_run_cloudooo")
- self.tmp_url = join(self.path_dir_run_cloudooo, "tmp")
+ self.tmp_url = path.join(self.path_dir_run_cloudooo, "tmp")
+ check_folder(self.path_dir_run_cloudooo, self.tmp_url)
self.uno_path = config.get("app:main", "uno_path")
- self.unomimemapper_bin = config.get("app:main", "unomimemapper_bin")
- self.unoconverter_bin = config.get("app:main", "unoconverter_bin")
- self.python_path = config.get("app:main", "python_path")
self.virtual_display_id = config.get("app:main", "virtual_display_id")
self.virtual_display_port_int = config.get("app:main", "virtual_display_port")
- self.openoffice_tester_bin = config.get("app:main", "openoffice_tester_bin")
self.afterSetUp()
def afterSetUp(self):
Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/testOOHandler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/testOOHandler.py?rev=37867&r1=37866&r2=37867&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/testOOHandler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/testOOHandler.py [utf8] Tue Aug 17 17:54:57 2010
@@ -27,6 +27,7 @@
##############################################################################
import unittest
+from os import path
from subprocess import Popen, PIPE
from base64 import encodestring, decodestring
from cloudoooTestCase import cloudoooTestCase
@@ -43,7 +44,7 @@ class TestOOHandler(cloudoooTestCase):
def _assert_document_output(self, document_output_url, msg):
"""Check if the document was created correctly"""
- stdout, stderr = Popen("file %s" % document_output_url,
+ stdout, stderr = Popen("file -b %s" % document_output_url,
shell=True,
stdout=PIPE).communicate()
self.assertEquals(msg in stdout,
@@ -63,7 +64,7 @@ class TestOOHandler(cloudoooTestCase):
'odt',
**self.kw)
doc_exported = handler.convert("doc")
- document_output_url = "output/testExport.doc"
+ document_output_url = path.join(self.tmp_url, "testExport.doc")
self._save_document(document_output_url, doc_exported)
msg = 'Microsoft Office Document'
self._assert_document_output(document_output_url, msg)
@@ -76,9 +77,9 @@ class TestOOHandler(cloudoooTestCase):
'doc',
**self.kw)
doc_exported = handler.convert("odt")
- document_output_url = "output/testConvert.odt"
+ document_output_url = path.join(self.tmp_url, "testConvert.odt")
self._save_document(document_output_url, doc_exported)
- msg = 'output/testConvert.odt: OpenDocument Text\n'
+ msg = 'OpenDocument Text\n'
self._assert_document_output(document_output_url, msg)
def testGetMetadata(self):
@@ -121,9 +122,9 @@ class TestOOHandler(cloudoooTestCase):
'doc',
**self.kw)
doc_exported = handler.convert("odt")
- document_output_url = "output/testConvert.odt"
+ document_output_url = path.join(self.tmp_url, "testConvert.odt")
self._save_document(document_output_url, doc_exported)
- msg = 'output/testConvert.odt: OpenDocument Text\n'
+ msg = 'OpenDocument Text\n'
self._assert_document_output(document_output_url, msg)
def testGetMetadataWithOpenOfficeStopped(self):
Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/testUnoConverter.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/testUnoConverter.py?rev=37867&r1=37866&r2=37867&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/testUnoConverter.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/testUnoConverter.py [utf8] Tue Aug 17 17:54:57 2010
@@ -93,8 +93,7 @@ class TestUnoConverter(cloudoooTestCase)
"--document_url=%s" % self.document.getUrl(),
"--destination_format=%s" % "doc",
"--source_format=%s" % "odt",
- "--unomimemapper_bin=%s" % self.unomimemapper_bin,
- "--python_path=%s" % self.python_path]
+ "--unomimemapper_bin=%s" % self.unomimemapper_bin]
stdout, stderr = Popen(' '.join(command), shell=True,
stdout=PIPE, stderr=PIPE).communicate()
More information about the Erp5-report
mailing list