[openstack-dev] Testtools usage?

Joshua Harlow harlowja at yahoo-inc.com
Thu Jan 24 22:49:52 UTC 2013


Ok, so would just having testtools use unittest2 work better?

Or have it at least optionally use? Then u can just use the method which
exists in 2.7 assertDictEquals() (not another method/matcher?).

I believe what happened in keystone client is that they started using
testtools, but didn't use said matcher, and then somehow the py2.6 ci
passed (unsure how that happened) and then code landed that had
assertDictEquals().

Perhaps at least there can be a twiki or 'proxy methods' that explains
what to do for these kinds of things for testtools?

I can just see people using the built-in methods, assuming they are there
(they are there in 2.7), then realizing that said method doesn't work on
py 2.6.

On 1/24/13 1:39 PM, "Monty Taylor" <mordred at inaugust.com> wrote:

>
>
>On 01/25/2013 08:17 AM, Joshua Harlow wrote:
>> Hi all,
>> 
>> Just was investigating some odd test failures,
>> 
>> 
>>http://logs.openstack.org/20425/1/check/gate-python-keystoneclient-python
>>26/605/console.html
>> 
>> Looking at some of the other components code (keystone) it uses
>> unittest2 to take the py2.7 backport and import it as 'unittest' (a
>> confusing rename).
>> 
>> https://github.com/openstack/keystone/blob/master/keystone/test.py#L27
>> 
>> It seems like there is a move to testtools, but testtools.TestCase
>> doesn't seem to derive from unittest2 (it uses unittest.TestCase) so
>> this means that functions that previously existed before the switch to
>> testtools won't exist in python 2.6, have other openstack sub-projects
>> that have been moving to testtools fixed this, or perhaps there should
>> be a upstream fix for testtools to attempt to derive its testcase class
>> from unittest2?
>
>Yup. Keystone was actually next on my list to port to testtools. :)
>
>> Wondering how others py2.6 support hasn't been busted.
>
>In porting nova, I made use of the testtools matchers functionality and
>self.assertThat. testtools.matchers.MatchesDict is, I believe, equiv to
>unittest2's assertDictEqual. Additionally, in nova we made a DictEqual
>matcher (crappy name, sorry) which does a deep match. We should probably
>port that up into testtools itself.
>
>Monty
>
>_______________________________________________
>OpenStack-dev mailing list
>OpenStack-dev at lists.openstack.org
>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list