[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