[Pki-devel] [PATCH] 007 In-tree tests and linting with tox

Christian Heimes cheimes at redhat.com
Wed Jul 8 15:06:30 UTC 2015


On 2015-07-08 16:33, Endi Sukma Dewata wrote:
> On 7/1/2015 6:59 AM, Christian Heimes wrote:
>> Hi,
>>
>> I don't like the fact that building and testing the Python part of PKI
>> takes so long. I have been using tox and a custom setup.py for a couple
>> of days now. The tox tool automates source distribution, virtual envs
>> and testing. It makes it really easy to achieve a minium level of
>> confidence, that the Python code is correct, in a matter of seconds.
>>
>> The patch is related to https://fedorahosted.org/pki/ticket/696 and
>> https://fedorahosted.org/pki/ticket/708.
>>
>> How to use tox:
>>
>> $ sudo dnf install python-tox
>> $ cd /path/to/pki/root
>> $ tox
>>
>> Some useful options:
>>
>> Remove .tox directory and start with a refresh set of virtual
>> environments:
>>
>> $ tox -r
>>
>> Just test one specific environment:
>>
>> $ tox -e lint
>>
>> Christian
> 
> The tox itself looks good, and hopefully in the future we can integrate
> it into the build system after addressing the "forced installation of
> sphinx in virtual env" on build machines as I mentioned on the IRC.
> 
> I just have one more question, the patch modifies the
> base/common/python/conf.py which is used by python-sphinx during build.
> How would this change affect the build? Is this change necessary for tox
> to work correctly?

Maybe I'm able to find a better solution for the 'forced installation of
sphinx' issue. The hack is required to make sphinx pick up the correct
pki package from the virtual env. If I can get sphinx to use the Python
interpreter from the venv or to modify PYTHONPATH, then I don't need the
hack any more.

I answered your question regarding conf.py on IRC yesterday. Maybe you
missed it. I commented out the configuration, because directory doesn't
exist in a source checkout. The missing directory triggers a warning,
which is turned into an error:

$ tox -e docs
GLOB sdist-make: /home/heimes/redhat/pki/setup.py
docs recreate: /home/heimes/redhat/pki/.tox/docs
docs installdeps: sphinx < 1.3.0
docs inst: /home/heimes/redhat/pki/.tox/dist/Dogtag PKI-10.zip
docs runtests: PYTHONHASHSEED='3204000919'
docs runtests: commands[0] | sphinx-build -v -W -b html -d
/home/heimes/redhat/pki/.tox/docs/tmp/doctrees .
/home/heimes/redhat/pki/.tox/docs/tmp/html
Making output directory...
...
Warning, treated as error:
WARNING: html_static_path entry
u'/home/heimes/redhat/pki/base/common/python/_static' does not exist

ERROR: InvocationError:
'/home/heimes/redhat/pki/.tox/docs/bin/sphinx-build -v -W -b html -d
/home/heimes/redhat/pki/.tox/docs/tmp/doctrees .
/home/heimes/redhat/pki/.tox/docs/tmp/html'

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/pki-devel/attachments/20150708/7b2abbe9/attachment.sig>


More information about the Pki-devel mailing list