[Zope-dev] zope-tests - FAILED: 2, OK: 20, UNKNOWN: 1

Tres Seaver tseaver at palladion.com
Fri Dec 7 19:25:23 UTC 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 12/07/2012 01:11 PM, Gediminas Paulauskas wrote:
> 2012/12/7 Tres Seaver <tseaver at palladion.com>:
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>> 
>> On 12/07/2012 01:52 AM, Marius Gedminas wrote:
>>>>> [3]    FAILED  winbot / zope.app.i18n_py_265_32 
>>>>> https://mail.zope.org/pipermail/zope-tests/2012-December/069796.html
>>>
>>>>>
>>
>>>>> 
Error in test testNoTargetLanguage
>> (zope.app.i18n.tests.test_translationdomain.TestTranslationDomain)
>>> Traceback (most recent call last): File 
>>> "c:\Python26_32\lib\unittest.py", line 279, in run testMethod()
>>> File 
>>> "c:\eggs\zope.i18n-3.8.0-py2.6.egg\zope\i18n\tests\test_itranslationdomain.py",
>>>
>>> 
line 99, in testNoTargetLanguage eq(translate('short_greeting',
>>> context=context, default=42), 42) File 
>>> "c:\buildslave\zope.app.i18n\build\src\zope\app\i18n\translationdomain.py",
>>>
>>> 
line 74, in translate catalog_names =
>>> self._catalogs.get(target_language, []) TypeError: Object has
>>> default comparison
>> 
>> Here, the 'target_langeage' returned by the negotiator is None,
>> which the OOBTree is refusing to treat as a key (because its
>> comparison semantics are undefined across process boundaries /
>> Python versions)::
>> 
>>>>> from BTrees.OOBTree import OOBTree x = OOBTree() x[None] = 1
>> Traceback (most recent call last): File "<stdin>", line 1, in
>> <module> TypeError: Object has default comparison
>> 
>> Such keys haven't been allowed since::
>> 
>> r117933 | jim | 2010-10-26 17:14:00 -0400 (Tue, 26 Oct 2010) | 7
>> lines
>> 
>> Bug Fixed - BTrees allowed object keys with insane comparison.
>> (Comparison inherited from object, which compares based on
>> in-process address.) Now BTrees raise TypeError is an attempt is
>> made to save a key with comparison inherited from object. (This
>> doesn't apply to old-style class instances.)
> 
> The error happens in get, not set, should it?

The C code throws the error whenever dealing with a user-supplied key
which cannot be safely compared to existing keys.

> Otherwise, a patch for zope.app.i18n to fix this case is attached
> (not committed).

+1 for your patch.



Tres.
- -- 
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iEYEARECAAYFAlDCQqMACgkQ+gerLs4ltQ7boACgjbWfWCKTMl0eTKDjkcbCcHKi
OZkAoNIFpN2PGERjLRnXhk/IHK9cK7iD
=ug61
-----END PGP SIGNATURE-----



More information about the Zope-Dev mailing list