If an error happens in an overload of setUp, the already-open cursor
is likely not to get properly released before the next test,
deadlocking the db, because tearDown only runs if setUp has
succesfully completed.
Cleanups were added specifically to run every time, after tearDown has
(potentially) been executed.
closes#8327
Note: cleanups run in LIFO order (as they should).
On Launchpad, as commented on bug 933496, PO entries (and their comments) are
shared between series. This mean that e.g. the 7.0 series can have the wrong
`reference` comments (those beginning with #:) as they would be copied from say
the trunk series. Those `reference` comments are used to import translations
and look them up.
This patch adds a few lines of code to tools.translate so that targets
defined in the POT `reference` comments are used in addition to those from the
PO file.
Also adds a test module to validate the new behavior.
This patch stems from:
- the 6.1 branch by Vo Minh Thu:
https://code.launchpad.net/+branch/~openerp-dev/openobject-server/6.1-fix-po-targets-933496-vmt
- the 7.0 port by Numerigraphe:
https://code.launchpad.net/~numerigraphe-team/openobject-server/7.0-fix-po-targets-933496-vmt
This test was depending on the error string returned by postgresql.
As these strings are localized, the test was failing on systems
where posgresql locale was not set to 'en_US'.
In this new version, we now check the error code returned by postgresql
(which is, obviously, platform independent)
bzr revid: rim@openerp.com-20140306110356-72mgz3korkq3rkde
whether the content of the html field should be sanitized before storage. This parameter
is true by default.
Example of use: html of email template is considered as html content, but contains
mako strings that makes this content not valid html. Sanitizing the body content
can cause issues to the template; therefore storing it as html but not sanitized
allows to keep its content safe.
Added a test case to ensure this behavior.
bzr revid: tde@openerp.com-20140227120254-6m8gvkt4hf28nl0e
encapsulatse the whole content inside a div. This means that html fields are
not editor-clean after being sanitized, because a div has been inserted as root
element. Removing this element allows to have snippets that can be dragged,
dropped, or to insert new snippets inside edited html content in html fields.
[IMP] tools: tests: mail: updated a test accordingly
bzr revid: tde@openerp.com-20140115142709-e4951b4nc06sfxf0
locales are a pain in the ass, there doesn't seem to be any locale
which all machines are guaranteed to have (except maybe C), and some
systems reject encoding-less locales while babel rejects encodings.
bzr revid: xmo@openerp.com-20140109081731-uryy2aa2odc7ud2g
In order to ensure that the conversion is at least sensible, we test
the output of strftime and babel on the same pattern (after conversion
from POSIX to LDML for Babel). This requires that both use the same
locale.
Previously, the default locale was being used(-ish), but it turns out
when the locale is unset (getdefaultlocale() returns (None, None)
``strftime`` still manages to use some sort of default locale (C?),
whereas Babel will yield the locale None. It turns out the runbot
executes the server with no locale-related envvar set, and thus hits
this very issue.
Assume there are no concurrent tests being run and use setlocale to
try and ensure strftime and babel see the same locale.
Also, remove tests on %x and %X, turns out libc and babel generally
have very different ideas about what constitutes a "national
representation" of a date or time, so the patterns don't match in the
first place. And I found no way to expand %x/%X into its sub-patterns.
bzr revid: xmo@openerp.com-20140108162817-n5gd2oryaszf099k