On Mon, Jun 9, 2014 at 11:16 AM, kushal.das <python-check...@python.org> wrote: > http://hg.python.org/cpython/rev/8e05e15901a8 > changeset: 91102:8e05e15901a8 > user: Kushal Das <kushal...@gmail.com> > date: Mon Jun 09 13:45:56 2014 +0530 > summary: > Closes #21256: Printout of keyword args in deterministic order in mock > calls. > > Printout of keyword args should be in deterministic order in > a mock function call. This will help to write better doctests. > > files: > Lib/unittest/mock.py | 2 +- > Lib/unittest/test/testmock/testmock.py | 6 ++++++ > Misc/NEWS | 3 +++ > 3 files changed, 10 insertions(+), 1 deletions(-) > > > diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py > --- a/Lib/unittest/mock.py > +++ b/Lib/unittest/mock.py > @@ -1894,7 +1894,7 @@ > formatted_args = '' > args_string = ', '.join([repr(arg) for arg in args]) > kwargs_string = ', '.join([ > - '%s=%r' % (key, value) for key, value in kwargs.items() > + '%s=%r' % (key, value) for key, value in sorted(kwargs.items()) > ]) > if args_string: > formatted_args = args_string > diff --git a/Lib/unittest/test/testmock/testmock.py > b/Lib/unittest/test/testmock/testmock.py > --- a/Lib/unittest/test/testmock/testmock.py > +++ b/Lib/unittest/test/testmock/testmock.py > @@ -1206,6 +1206,12 @@ > with self.assertRaises(AssertionError): > m.hello.assert_not_called() > > + #Issue21256 printout of keyword args should be in deterministic order > + def test_sorted_call_signature(self): > + m = Mock() > + m.hello(name='hello', daddy='hero') > + text = "call(daddy='hero', name='hello')" > + self.assertEquals(repr(m.hello.call_args), text)
Should this be assertEqual instead? --Berker > > def test_mock_add_spec(self): > class _One(object): > diff --git a/Misc/NEWS b/Misc/NEWS > --- a/Misc/NEWS > +++ b/Misc/NEWS > @@ -92,6 +92,9 @@ > Library > ------- > > +- Issue #21256: Printout of keyword args should be in deterministic order in > + a mock function call. This will help to write better doctests. > + > - Issue #21677: Fixed chaining nonnormalized exceptions in io close() > methods. > > - Issue #11709: Fix the pydoc.help function to not fail when sys.stdin is > not a > > -- > Repository URL: http://hg.python.org/cpython > > _______________________________________________ > Python-checkins mailing list > python-check...@python.org > https://mail.python.org/mailman/listinfo/python-checkins > _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com