This package is designed to run tests on a code repository on a daily basis. It comes with a set of predefined test, essentially for python packages, and a set of predefined reports to display execution results. However, it has been designed to be higly extensible, so you could write your own test or report using the Python language (i.e. this framework is NOT limited to test Python code !).

Use it to daily run your tests and generate reports about code or document quality.

Apycot now rely on Narval: tests are defined as Narval's recipes (using actions provided by apycot and its plugins) and are executed by the Narval bot.

The project used to be hosted on logilab.org but moved here to benefit from cubicweb.org automatic test infrastructure.

README for apycot

Apycot is an Automated Python Code Testing platform built on narval and cubicweb.

Installation and configuration

Apycot is based on narval, so make sure you have a working narval setup. Please refer to narval's documentation for help on installing a narval setup.

Once you have a properly functionning narval setup, you have to install Apycot elements on both the website part and the narval-bot side.

On the web/data server host
  • Install the cubicweb-apycot package (more info in the cubicweb book).
  • Modify password for the narval user for better security.
On the bot host
  • Install the narval-apycot package.

  • Edit /etc/narval/narval.ini, is neccessary (or ~/etc/narval.ini when running code from hg) to adjust the bot configuration. You can also generate a stub configuration file using narval rcfile > /etc/narval/narval.ini.

  • Indicate the connection informations for each instance in the /etc/narval/narval-cw-sources.ini file (makesure this file is not world readable), for instance:

    [cwo]
    url=https://www.cubicweb.org/
    token_id=The Token Name
    secret=<generated secret>
    
    [elo]
    url=https://www.logilab.org/
    token_id=The Other Token Name
    secret=<generated secret>
    

    where each section is the configuration for a cubicweb application.

  • For those running from source, narval/bin/narval must be in PATH (since the narval daemon spawns subprocess via the narval command).

You may check the bot can connect to the cubicweb instances by watching the narval bot's logs (usually in /var/log/narval/).

More documentation

Beside low-level installation (described here), all the documentation to setup your continuous integration environment is available online through your instance at http://<your instance url>/doc/apycot

You should read this documentation in order to be able to create all the required objects to build your own testing and continuous integration platform.

Feedbacks, bug reports

Comments and bug reports are welcome on the python-projects@list.logilab.org mailing-list.

source repositoryapycot repository
test environmentapycot env
owned byddouard
may be discussed on<not specified>
use license<not specified>