[openstack-dev] A proposal for code reduction
Ihar Hrachyshka
ihrachys at redhat.com
Wed May 21 12:21:28 UTC 2014
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
On 21/05/14 13:20, Abhijeet Jain wrote:
>
>
> Hi Openstack-developers,
>
> I am Abhijeet Jain. One of the contributor in OpenStack.
>
> I was just working on optimizing the codes in Neutron , Keystone,
> Cinder modules. Then, I came across with a very common scenario
> that I can see at many places. at many places, I saw that the users
> have written the code in such form :
>
> assertEqual(user1['id'], user2['id']); assertEqual(user1['name'],
> user2['name']); assertEqual(user1['status'], user2['status']);
> assertEqual(user1['xyz'], user2['xyz']);
>
Have you really seen lots of cases like that? I can't recollect any
such occurrences that would require a global check function in e.g.
oslo and neutron code.
>
> To optimize such redundancy, I created a help function like below
> :
>
> def _check(self, expected, actual, keys): for key in keys:
> assertEqual( expected[key], actual[key])
>
>
> So, everywhere we just need to call this function like this :
> _check(user1, user2, ['id', 'name', 'status', 'xyz'])
>
The semantics of the function is not clear from its name. I also doubt
its usefulness outside specific test cases that require such a check.
> So, this way lots of code can be reduced. but, currently i need to
> put that function in every test file , I want to use. There is no
> global space.
>
You can try to put it in BaseTestCase class. Also see [1] for a new
oslo library that should eventually replace all base test classes in
openstack projects.
[1]: https://github.com/openstack/oslo.test
> My proposal is : How about putting this function in some utils like
> place, which can be accessed in every test function. but for that,
> I need your approval. Kindly, provide your valuable feedback on
> this.
>
>
>
> Thanks, Abhijeet Jain
>
>
>
> DISCLAIMER:
> -----------------------------------------------------------------------------------------------------------------------
>
>
The contents of this e-mail and any attachment(s) are confidential and
> intended for the named recipient(s) only.
People generally don't send confidential contents to public lists. :)
> It shall not attach any liability on the originator or NEC or its
> affiliates. Any views or opinions presented in this email are
> solely those of the author and may not necessarily reflect the
> opinions of NEC or its affiliates. Any form of reproduction,
> dissemination, copying, disclosure, modification, distribution and
> / or publication of this message without the prior written consent
> of the author of this e-mail is strictly prohibited. If you have
> received this email in error please delete it and notify the
> sender immediately. .
> -----------------------------------------------------------------------------------------------------------------------
>
>
>
>
> _______________________________________________ OpenStack-dev
> mailing list OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBCgAGBQJTfJpIAAoJEC5aWaUY1u5726MIAMsqqD93pt9/Ee72VRB04k+3
uEFeOwGwZGwgeWqBx/VldV0H2PPnLsRFSNkuYy3+SdzkKubsf+DsklJx/88iWDa2
Aq1PkcCpFwBQgM05HyExe1x9TR+vCnhBAsU12GDqjQEvxBP3L/M+RTFT4keb+Kjt
STQ05k21Nc2q2/a7TNU4CKfMB6rD1dLshIdXTTcpHFDJ3qh9jgnpI2xWUtMAT4Ow
Na2l773f4zZYkeapcPjcI2otRZQPleZEnayp47O4arI3/3LssB9nfU1G9lWyhk0d
iEs506Ma7b1sLAlanS6l3vgmRLrDV7I2POHJH2gmQ6xVFupl4yoFHIR1j/SNw+c=
=KZBD
-----END PGP SIGNATURE-----
More information about the OpenStack-dev
mailing list