[openstack-dev] [nova] Do we have some guidelines for mock, stub, mox when writing unit test?

Chuck Short chuck.short at canonical.com
Tue Nov 19 16:19:20 UTC 2013


Hi


On Tue, Nov 19, 2013 at 10:43 AM, Peter Feiner <peter at gridcentric.ca> wrote:

> A substantive reason for switching from mox to mock is the derelict
> state of mox releases. There hasn't been a release of mox in three
> years: the latest, mox-0.5.3, was released in 2010 [1, 2]. Moreover,
> in the past 3 years, substantial bugs have been fixed in upstream mox.
> For example, with the year-old fix to
> https://code.google.com/p/pymox/issues/detail?id=16, a very nasty bug
> in nova would have been caught by an existing test [3].
>
> Alternatively, a copy of the upstream mox code could be added in-tree.
>
> Please no, I think we are in an agreement with mox3 and mock.



> [1] mox releases: https://code.google.com/p/pymox/downloads/list
> [2] mox on pypi: https://pypi.python.org/pypi/mox
> [3] see comments 5 and 6 in https://bugs.launchpad.net/nova/+bug/1251792
>
> On Wed, Nov 13, 2013 at 2:24 PM, Matt Riedemann
> <mriedem at linux.vnet.ibm.com> wrote:
> >
> >
> > On 11/12/2013 5:04 PM, Chuck Short wrote:
> >>
> >>
> >>
> >>
> >> On Tue, Nov 12, 2013 at 4:49 PM, Mark McLoughlin <markmc at redhat.com
> >> <mailto:markmc at redhat.com>> wrote:
> >>
> >>     On Tue, 2013-11-12 at 16:42 -0500, Chuck Short wrote:
> >>      >
> >>      > Hi
> >>      >
> >>      >
> >>      > On Tue, Nov 12, 2013 at 4:24 PM, Mark McLoughlin
> >>     <markmc at redhat.com <mailto:markmc at redhat.com>>
> >>
> >>      > wrote:
> >>      >         On Tue, 2013-11-12 at 13:11 -0800, Shawn Hartsock wrote:
> >>      >         > Maybe we should have some 60% rule... that is: If you
> >>     change
> >>      >         more than
> >>      >         > half of a test... you should *probably* rewrite the
> test
> >> in
> >>      >         Mock.
> >>      >
> >>      >
> >>      >         A rule needs a reasoning attached to it :)
> >>      >
> >>      >         Why do we want people to use mock?
> >>      >
> >>      >         Is it really for Python3? If so, I assume that means
> we've
> >>      >         ruled out the
> >>      >         python3 port of mox? (Ok by me, but would be good to hear
> >>     why)
> >>      >         And, if
> >>      >         that's the case, then we should encourage whoever wants
> to
> >>      >         port mox
> >>      >         based tests to mock.
> >>      >
> >>      >
> >>      >
> >>      > The upstream maintainer is not going to port mox to python3 so we
> >>     have
> >>      > a fork of mox called mox3. Ideally, we would drop the usage of
> mox
> >> in
> >>      > favour of mock so we don't have to carry a forked mox.
> >>
> >>     Isn't that the opposite conclusion you came to here:
> >>
> >>
> >>
> http://lists.openstack.org/pipermail/openstack-dev/2013-July/012474.html
> >>
> >>     i.e. using mox3 results in less code churn?
> >>
> >>     Mark.
> >>
> >>
> >>
> >> Yes that was my original position but I though we agreed in thread
> >> (further on) that we would use mox3 and then migrate to mock further on.
> >>
> >> Regards
> >> chuck
> >>
> >>
> >> _______________________________________________
> >> OpenStack-dev mailing list
> >> OpenStack-dev at lists.openstack.org
> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >>
> >
> > So it sounds like we're good with using mox for new tests again? Given
> Chuck
> > got it into global-requirements here:
> >
> >
> https://github.com/openstack/requirements/commit/998dda263d7c7881070e3f16e4523ddcd23fc36d
> >
> > We can stave off the need to transition everything from mox to mock?
> >
> > I can't seem to find the nova blueprint to convert everything from mox to
> > mock, maybe it was obsoleted already.
> >
> > Anyway, if mox(3) is OK and we don't need to use mock, it seems like we
> > could add something to the developer guide here because I think this
> > question comes up frequently:
> >
> > http://docs.openstack.org/developer/nova/devref/unit_tests.html
> >
> > Does anyone disagree?
> >
> > BTW, I care about this because I've been keeping in mind the mox/mock
> > transition when doing code reviews and giving a -1 when new tests are
> using
> > mox (since I thought that was a no-no now).
> > --
> >
> > Thanks,
> >
> > Matt Riedemann
> >
> >
> >
> > _______________________________________________
> > OpenStack-dev mailing list
> > OpenStack-dev at lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131119/d51243c4/attachment.html>


More information about the OpenStack-dev mailing list