[openstack-dev] Testtools usage?

Monty Taylor mordred at inaugust.com
Thu Jan 24 23:54:12 UTC 2013

On 01/25/2013 09:49 AM, Joshua Harlow wrote:
> Ok, so would just having testtools use unittest2 work better?

Ah. Hrm. Looping in Robert.

> 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?

We should definitely have a wiki page...

> 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