[IMP] move testing of xml conversion alongside test data to ensure tests only run...
authorXavier Morel <xmo@openerp.com>
Mon, 29 Apr 2013 12:23:17 +0000 (14:23 +0200)
committerXavier Morel <xmo@openerp.com>
Mon, 29 Apr 2013 12:23:17 +0000 (14:23 +0200)
bzr revid: xmo@openerp.com-20130429122317-yzv4prie9hc7f7l6

openerp/tests/__init__.py
openerp/tests/addons/test_convert/__init__.py
openerp/tests/addons/test_convert/tests/__init__.py [new file with mode: 0644]
openerp/tests/addons/test_convert/tests/test_convert.py [new file with mode: 0644]
openerp/tests/test_convert.py [deleted file]
openerp/tools/convert.py

index 5f26237..3d129e0 100644 (file)
@@ -21,7 +21,6 @@ import test_osv
 import test_translate
 import test_uninstall
 import test_view_validation
-import test_convert
 # This need a change in `oe run-tests` to only run fast_suite + checks by default.
 # import test_xmlrpc
 
@@ -42,7 +41,6 @@ checks = [
     test_misc,
     test_osv,
     test_translate,
-    test_convert,
 ]
  
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/tests/addons/test_convert/tests/__init__.py b/openerp/tests/addons/test_convert/tests/__init__.py
new file mode 100644 (file)
index 0000000..002a0a1
--- /dev/null
@@ -0,0 +1,6 @@
+# -*- coding: utf-8 -*-
+from . import test_convert
+
+checks = [
+    test_convert
+]
diff --git a/openerp/tests/addons/test_convert/tests/test_convert.py b/openerp/tests/addons/test_convert/tests/test_convert.py
new file mode 100644 (file)
index 0000000..50d7df4
--- /dev/null
@@ -0,0 +1,83 @@
+import collections
+import unittest2
+from lxml import etree as ET
+from lxml.builder import E
+
+from openerp.tests import common
+
+from openerp.tools.convert import _eval_xml
+
+Field = E.field
+Value = E.value
+class TestEvalXML(common.TransactionCase):
+    def eval_xml(self, node, obj=None, idref=None):
+        return _eval_xml(obj, node, pool=None, cr=self.cr, uid=self.uid,
+                         idref=idref, context=None)
+
+    def test_char(self):
+        self.assertEqual(
+            self.eval_xml(Field("foo")),
+            "foo")
+        self.assertEqual(
+            self.eval_xml(Field("None")),
+            "None")
+
+    def test_int(self):
+        self.assertIsNone(
+            self.eval_xml(Field("None", type='int')),
+            "what the fuck?")
+        self.assertEqual(
+            self.eval_xml(Field(" 42  ", type="int")),
+            42)
+
+        with self.assertRaises(ValueError):
+            self.eval_xml(Field("4.82", type="int"))
+
+        with self.assertRaises(ValueError):
+            self.eval_xml(Field("Whelp", type="int"))
+
+    def test_float(self):
+        self.assertEqual(
+            self.eval_xml(Field("4.78", type="float")),
+            4.78)
+
+        with self.assertRaises(ValueError):
+            self.eval_xml(Field("None", type="float"))
+
+        with self.assertRaises(ValueError):
+            self.eval_xml(Field("Foo", type="float"))
+
+    def test_list(self):
+        self.assertEqual(
+            self.eval_xml(Field(type="list")),
+            [])
+
+        self.assertEqual(
+            self.eval_xml(Field(
+                Value("foo"),
+                Value("5", type="int"),
+                Value("4.76", type="float"),
+                Value("None", type="int"),
+                type="list"
+            )),
+            ["foo", 5, 4.76, None])
+
+    def test_file(self):
+        Obj = collections.namedtuple('Obj', 'module')
+        obj = Obj('test_convert')
+        self.assertEqual(
+            self.eval_xml(Field('test_file.txt', type='file'), obj),
+            'test_convert,test_file.txt')
+
+        with self.assertRaises(IOError):
+            self.eval_xml(Field('test_nofile.txt', type='file'), obj)
+
+    @unittest2.skip("not tested")
+    def test_xml(self):
+        pass
+
+    @unittest2.skip("not tested")
+    def test_html(self):
+        pass
+
+
diff --git a/openerp/tests/test_convert.py b/openerp/tests/test_convert.py
deleted file mode 100644 (file)
index 87c3000..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-import collections
-import unittest2
-from lxml import etree as ET
-from lxml.builder import E
-
-from . import common
-
-from openerp.tools.convert import _eval_xml
-
-Field = E.field
-Value = E.value
-class TestEvalXML(common.TransactionCase):
-    def eval_xml(self, node, obj=None, idref=None):
-        return _eval_xml(obj, node, pool=None, cr=self.cr, uid=self.uid,
-                         idref=idref, context=None)
-
-    def test_char(self):
-        self.assertEqual(
-            self.eval_xml(Field("foo")),
-            "foo")
-        self.assertEqual(
-            self.eval_xml(Field("None")),
-            "None")
-
-    def test_int(self):
-        self.assertIsNone(
-            self.eval_xml(Field("None", type='int')),
-            "what the fuck?")
-        self.assertEqual(
-            self.eval_xml(Field(" 42  ", type="int")),
-            42)
-
-        with self.assertRaises(ValueError):
-            self.eval_xml(Field("4.82", type="int"))
-
-        with self.assertRaises(ValueError):
-            self.eval_xml(Field("Whelp", type="int"))
-
-    def test_float(self):
-        self.assertEqual(
-            self.eval_xml(Field("4.78", type="float")),
-            4.78)
-
-        with self.assertRaises(ValueError):
-            self.eval_xml(Field("None", type="float"))
-
-        with self.assertRaises(ValueError):
-            self.eval_xml(Field("Foo", type="float"))
-
-    def test_list(self):
-        self.assertEqual(
-            self.eval_xml(Field(type="list")),
-            [])
-
-        self.assertEqual(
-            self.eval_xml(Field(
-                Value("foo"),
-                Value("5", type="int"),
-                Value("4.76", type="float"),
-                Value("None", type="int"),
-                type="list"
-            )),
-            ["foo", 5, 4.76, None])
-
-    def test_file(self):
-        Obj = collections.namedtuple('Obj', 'module')
-        obj = Obj('test_convert')
-        self.assertEqual(
-            self.eval_xml(Field('test_file.txt', type='file'), obj),
-            'test_convert,test_file.txt')
-
-        with self.assertRaises(IOError):
-            self.eval_xml(Field('test_nofile.txt', type='file'), obj)
-
-    @unittest2.skip("not tested")
-    def test_xml(self):
-        pass
-
-    @unittest2.skip("not tested")
-    def test_html(self):
-        pass
-
-
index 8541550..09ba6b9 100644 (file)
@@ -165,7 +165,8 @@ def _eval_xml(self, node, pool, cr, uid, idref, context=None):
             from ..modules import module
             path = node.text.strip()
             if not module.get_module_resource(self.module, path):
-                raise IOError("No such file or directory: '%s'" % path)
+                raise IOError("No such file or directory: '%s' in %s" % (
+                    path, self.module))
             return '%s,%s' % (self.module, path)
         if t in ('char', 'int', 'float'):
             d = node.text