Hi Titus,

First, let me thank you for your valuable work on Nose and testing-in-python.

> Hi, I'm interested in trying out apycot, but I'll be darned if I can
> figure out how to get started.  Help?

Sure. Just use [email protected] or join us on the IRC
and Jabber forums (see http://www.logilab.org/Card/ContactUs).

> In particular, I'd like to go through the steps of
>
>   - checking out a particular repository (does apycot support git?)

We have not used apycot with git yet, but it should not be a problem.

>   - building
>   - running the tests with 'python setup.py test' or nose or ...whatever.

Sylvain and Pierre-Yves are the ones currently developing apycot. They
will help you out with this. Pierre-Yves is setting one up for
mercurial at the moment.

I will try to give you an understanding of the big picture:

Apycot used to be a stand-alone program, but we had trouble getting
the right information out of the data it produced and working on the
HTML user-interface was looking more on more like duplicated work when
compared to the web framework we were developing. That was apycot
version 1.

Aycot is now split into two parts.

The first part is component for the CubicWeb web framework. It is a
data model that defines what are the environments in which to run the
tests (where to get the data from, what are the dependencies, what are
the checkers to run, etc).

If you take a look at http://www.logilab.org/schema you will see
several items in the list that are provided by the apycot component:

http://www.logilab.org/cwetype/CheckResult
http://www.logilab.org/cwetype/CheckResultInfo
http://www.logilab.org/cwetype/ProjectEnvironment
http://www.logilab.org/cwetype/TestConfig
http://www.logilab.org/cwetype/TestConfigGroup
http://www.logilab.org/cwetype/TestExecution

Unfortunately, several of the names need to be improved to make things
easier to grasp. It is on our todo-list. Any help to make this closer
to the names used in other frameworks will be welcome.

For an example of use, take a look at the tab 'testing reports' of
http://www.logilab.org/project/logilab-common

You will find that an ProjectEnvironment 
http://www.logilab.org/projectenvironment/lgc%20env
is used as a basis by the TestConfig
http://www.logilab.org/testconfig/7099
that includes the info from the TestConfigGroup
http://www.logilab.org/testconfiggroup/PYTHONPROJECT
and http://www.logilab.org/testconfiggroup/QUICK%20PYTHON%20TEST

That TestConfig is then executed. In this case, since it is a quick
test, it is executed each time someone pushes new changes to the
repository (see ProjectEnvironment). If the test was a full test, it
would be executed nightly (whatever that means within the context of a
internet working 24/7). Each TestExecution is recorded, use the next
tab on TestConfig.

Here is the latest TestExecution of TestConfig 'quick' in
ProjectEnvironment 'lgc env' that was run at 2010-02-15 10:11.
http://www.logilab.org/testexecution/20504 

When executed, ths TestConfig runs only the unit tests.

Other TestConfig objects would run more tests, like building
documentation, computing coverage metrics, building Debian packages,
etc.

For an example of a more complex setup, please
take a look at http://www.cubicweb.org/project/cubicweb
then browse more complex reports at http://bit.ly/bNXY91

The second part of apycot is a bot that runs on a platform and is
tasked with executing the tests. You can monitor several of our test
bots at http://www.cubicweb.org/view?vid=botstatus

The plan is to make the test bot run on as many platforms as possible
and have sets of bots handle larger testing loads when required.

So, to get started, you probably want to install cubicweb
http://www.cubicweb.org/doc/en/admin/setup.html and cubicweb-apycot
then create and start your instance with

  cubicweb-ctl create apycot myapycot
  cubicweb-ctl start -D myapycot

Please do not hesitate to ask questions, since documentation is not
what it should be.

-- 
Nicolas Chauvat

logilab.fr - services en informatique scientifique et gestion de connaissances  
_______________________________________________
Python-Projects mailing list
[email protected]
http://lists.logilab.org/mailman/listinfo/python-projects

Reply via email to