[Twisted-Python] Help non-commiter to fully test their changes locally or remote

Adi Roiban adi at roiban.ro
Fri Feb 28 07:56:58 MST 2014


Hi,

I am trying to gather documentation to help non-commiters test their
changes before sending them to review.

When run locally some tests fail with a lot of errors and is hard for a
developer to filter the errors generated by his/her changes.

Ex:
 * twistedchecker
 * pyflakes
 * api-reference

 I have created patches to clean pyflakes and I also plan to start cleaning
the api-reference build errors

>From information gathered from #twisted-dev it seems that twistedchecker is
not maintained and that some of its errors are invalid... so one should not
try to fix all its errors.
... I wander why twistedchecker is still used ?

I would like to investigate how we can fix api-reference build errors.

------

I have created a travis-ci configuration file which can be used as a
reference for running tests. It somehow copies the builders observed on
buildbot.twistedmatrix.com

A sample build result can be found here:
https://travis-ci.org/chevah/twisted/builds/19803969

Code changes are here. If you find them useful I can refine them into a
public patch.
https://github.com/chevah/twisted/pull/1/files

Only python 2.7 and 3.3 builders are enabled... but 2.6 builders can also
be enabled.
py-select-gc tests are not enabled since they are very, very slow.

Running all tests on a single process could take about 1 hour.
I guess that running only tests with default reactor and then
pyflakes/pydoctor on changed files should cover most errors.

A developer should run at least the following tests before sending a patch
for review:

 * trial with default reactor
 * pyflakes for changed files
 * pydoctor for changed files

If documentation was changed he/she should also run documentation tests.

----

Running pydoctor on my computer takes about 3 minutes... a bit long for my
taste.
I hope that pydoctor can be run on a independent python files so that I can
create
a separate linter test which will run pyflakes and pydoctor only on changes
files.
This should provide a big improvements in speed.

I used travis-ci as it provides  an isolated / reference test environment.
Once the configuration is ok, it can be translated into tox [1],  private
buildbot [2] or custom script to allow developers to run test on their
computers.

If a Twisted developer has time, I need some help to check the current
travis-ci errors and suggest how to fix them.

Thanks!

[1] https://github.com/msabramo/python-panci
[2] https://github.com/isotoma/buildbot_travis

-- 
Adi Roiban
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://twistedmatrix.com/pipermail/twisted-python/attachments/20140228/d35910a1/attachment.html>


More information about the Twisted-Python mailing list