<div dir="ltr">Hi All,<div><br></div><div>Although Pavel&#39;s concerns are totally valid, especially from &quot;senior developer&quot; point of view, I&#39;d like to outline my opinion on this proposal. Generally, I would prefer well-established, supported and maintained external tool for whatever task we are trying to accomplish, if such a tool exists. </div><div><br></div><div>Pros here are:</div><div> - No need to reinvent the wheel</div><div> - No need to maintain home-made tool</div><div> - No need to maintain documentation and teach newcomers how to use this tool.</div><div> - We eventually may have &#39;extra&#39; functionality for free when broader user community of the tool starts to use it (Just to name a few: framework support, analytic tools)</div><div><br></div><div>Cons:</div><div> - Usually we don&#39;t have a full control over the external tool</div><div> - If the analog is already implemented and tested and stable (see libtbx testing world) it is really hard to convince ourselves why even think about something else.</div><div><br></div><div>I acknowledge that libtbx testing may be implemented before python unit tests. I&#39;d like to point that clarity and atomicity of tests is depend greatly on the developer who writing it, not on the testing framework.</div><div><br></div><div>I think that cctbx project would benefit if tested and working support of python unittest functionality would be in place at least as a spare wheel if something will go wrong with libtbx testing.</div><div><br></div><div>Therefore, in my opinion, Diamond people should try to implement this idea in some small part (submodule, etc), test it, probably come up with some guidelines tailored to use of unittest in cctbx. I&#39;m sure that it should be possible to demonstrate that libtbx tests are not as different as one may think and the difference may reside only in class/function headers.</div><div><br></div><div>Best regards,</div><div>Oleg Sobolev. </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 19, 2015 at 3:56 AM,  <span dir="ltr">&lt;<a href="mailto:Graeme.Winter@diamond.ac.uk" target="_blank">Graeme.Winter@diamond.ac.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">HI All,<br>
<br>
I would like to echo these comments - there are times when cctbx can feel &quot;different at any cost&quot; which continually makes it harder to encourage people to adopt it as a basis for doing methods development. We should welcome opportunities to make things more pythonic when they do not break what we have at the moment. The testing is one such example.<br>
<br>
I appreciate that many of the &quot;differences&quot; are for a real reason, but equally saying &quot;we don&#39;t do python unit tests, we do it *our* way&quot; could easily be interpreted as being ... unhelpful ... to the new user or developer. I for one want these people to contribute to the project and make it better!<br>
<br>
Here at Diamond we have completely committed to using cctbx for a really rather large range of things, but even so persuading other people here to also use it is harder than it really needs to be. Installation complexity is just one reason...<br>
<br>
Best wishes Graeme<br>
<div class="HOEnZb"><div class="h5"><br>
-----Original Message-----<br>
From: <a href="mailto:cctbxbb-bounces@phenix-online.org">cctbxbb-bounces@phenix-online.org</a> [mailto:<a href="mailto:cctbxbb-bounces@phenix-online.org">cctbxbb-bounces@phenix-online.org</a>] On Behalf Of Jan Marten Simons<br>
Sent: 19 May 2015 11:22<br>
To: cctbx mailing list<br>
Subject: Re: [cctbxbb] Native python unittests for the libtbx testing framework<br>
<br>
Am Freitag 15 Mai 2015 18:07:33 schrieb Pavel Afonine:<br>
&gt; Hi Markus,<br>
&gt;<br>
&gt; lucky you, I wish I have time for side projects!<br>
&gt;<br>
&gt; I&#39;ve been working on cctbx (and writing tests!) for the past 12 years<br>
&gt; and can&#39;t name any problem using &quot;libtbx testing world&quot;. Most tests<br>
&gt; are written this way. Why I am not so keen to use an alternative?<br>
&gt;     - why introduce inconsistency for no obvious clear pressing reasons;<br>
&gt;     - I have no spare time to learn and get used to an alternative<br>
&gt; framework (again, for no obvious clear pressing reason);<br>
&gt;     - some rare developers (mostly postdocs that come and go) used<br>
&gt; Python test framework in the past on the code that I work too and that<br>
&gt; I have to maintain when people are gone. I find it is an irritating<br>
&gt; overhead for me dealing with these tests, so typically I bother to<br>
&gt; re-write them to use libtbx tools.<br>
<br>
<br>
Hi Pavel,<br>
<br>
those are sound and valid reasons from your point of view. But please also consider this alternative view:<br>
Coming from other python projects people are likely to have experience with the python unit test framework. As cctbx is using its own testing functionality people might be put off from writing tests or at least have to overcome this additional barrier on entry.<br>
<br>
I&#39;m a strong supporter of sticking/moving to standards like PEP0008 [1] or<br>
pip/whl* based installs as conforming to those helps people to quickly find their way into the code.<br>
<br>
* wouldn&#39;t it be great if one could simply tell people this: &quot;To install cctbx simply type &#39;pip install cctbx&#39; in your terminal.&quot;?<br>
<br>
[1] <a href="https://www.python.org/dev/peps/pep-0008/" target="_blank">https://www.python.org/dev/peps/pep-0008/</a><br>
<br>
<br>
With regards,<br>
<br>
 Dipl. Phys.<br>
  Jan M. Simons<br>
<br>
Institute of Crystallography<br>
RWTH Aachen University<br>
_______________________________________________<br>
cctbxbb mailing list<br>
<a href="mailto:cctbxbb@phenix-online.org">cctbxbb@phenix-online.org</a><br>
<a href="http://phenix-online.org/mailman/listinfo/cctbxbb" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
<br>
</div></div><span class="im HOEnZb">--<br>
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.<br>
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom<br>
<br>
<br>
</span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
cctbxbb mailing list<br>
<a href="mailto:cctbxbb@phenix-online.org">cctbxbb@phenix-online.org</a><br>
<a href="http://phenix-online.org/mailman/listinfo/cctbxbb" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
</div></div></blockquote></div><br></div>