I&#39;m working on getting the PHP[0] and Python[1] libraries into a state where it is a bit easier to accept patches from individuals.  One of the key things to make this possible is ensuring that patches don&#39;t break existing unit tests, and that new unit tests are written and added when appropriate.  I&#39;ve been working on the PHP library for a few weeks now... Luke Shepard updated the library to use a more recent version of PHPUnit some time ago[2], but the work was never finished.  As it is right now, the tests are completely broken.  I&#39;ve been working on refactoring all of the tests to be more in line with the conventions that the latest version of PHPUnit uses.  I&#39;ve made good progress, but it is a slow and arduous process.  If anyone is interested in helping, then I can see about pushing what I&#39;ve got up to github, which should give you a good idea of what kind of changes need to be made.<br>

<br>I&#39;m also looking at the python library, except that I don&#39;t have near the experience with the python unittest framework.  Simply checking out the library and running admin/runtests only got so far.  It started failing on django related tests.  I installed django 1.1.1, and the tests got a bit farther, but failed again.  Before I spend much time debugging this, I wanted to check and see if anyone has the python tests running properly in their environment, and if you would mind writing up how to get them running.  What modules do you need, what versions, what commands need to be run, etc?<br>

<br>While the openid libraries have really good in-line documentation, they&#39;re a bit lacking in other areas.  I&#39;d like to have a clear guide for people interested in submitting patches that instruct them on what they need to do:<br>

 - checkout the code<br> - make sure the unit tests run<br> - if you&#39;re patching a bug, write a new test for it<br> - fix the bug<br> - make sure all unit tests run<br> - send pull request<br><br>... or whatever.  I don&#39;t mind doing the work, though it will happen as I have time for it (long flights seem to work well :) ).  But it would be great if someone more familiar with Python could help write a how-to to at least get the tests running.  And of course, doing this for ruby would be good too, but I have even less experience with that.<br>

<br>thanks,<br>will<br><br><br>[0]: <a href="http://github.com/openid/php-openid">http://github.com/openid/php-openid</a><br>[1]: <a href="http://github.com/openid/python-openid">http://github.com/openid/python-openid</a><br>

[2]: <a href="http://github.com/openid/php-openid/commit/ae52c6b3a3b9741c0ef60b6c91ba27af1d85eab7">http://github.com/openid/php-openid/commit/ae52c6b3a3b9741c0ef60b6c91ba27af1d85eab7</a><br>