[TIP] coverage combine with the results of a jenkins matrix job...
Chris Withers
chris at simplistix.co.uk
Thu Feb 14 15:25:34 PST 2013
(copying the list, since I think this may be of wider interest)
Hi Ned,
Okay, I think I'm part of the way there, but still confused, hopefully
you can help...
So, the runs generating the .coverage files are in this matrix:
http://jenkins.simplistix.co.uk/view/testfixtures/job/testfixtures-buildout/
Here's an example output:
http://jenkins.simplistix.co.uk/view/testfixtures/job/testfixtures-buildout/PYTHON=3.3,label=linux/182/console
The actual command being run is:
bin/nosetests --with-xunit --with-cov --cov=testfixtures
--cov-report=xml --cov-report=html
So, now I have a downstream job where I want to combine all those
.coverage files and generate html and xml reports. Here's the workspace
for that job:
http://jenkins.simplistix.co.uk/view/testfixtures/job/testfixtures-coverage/ws/
So, each PYTHON* has a .coverage file in it, testfixtures-3.0.0dev
contains the source.
I thought it would just be a case of:
coverage combine PYTHON*/.coverage
coverage xml
coverage html
But combine doesn't appear to work as I expect. In fact, I don't think I
have a clue how it's supposed to work, so thought I'd ask ;-)
What should I be looking to do? I have a feeling I'll need a [path]
section in it, but no idea what I should put there...
Any help very gratefully received!
Chris
On 13/02/2013 16:21, Ned Batchelder wrote:
> Sorry, I'm not well-versed enough with Jenkins to know.
>
> --Ned.
>
> On 2/13/2013 10:57 AM, Chris Withers wrote:
>> Hmm, any idea how to do that in a Jenkins matrix job?
>>
>> Chris
>>
>> On 13/02/2013 15:52, Ned Batchelder wrote:
>>> I would run coverage twice: for Python 2, and again for Python 3, and
>>> then I would combine the results (coverage combine).
>>>
>>> --Ned.
>>>
>>> On 2/13/2013 10:36 AM, Chris Withers wrote:
>>>> One question: if I have code paths that should not be covered under a
>>>> particular version of python, but should under others, how can I go
>>>> about dealing with that?
>>>>
>>>> (eg:
>>>>
>>>> if PY3:
>>>> ...
>>>> else:
>>>> ...
>>>>
>>>> both of those branches should be covered in different test runs, but
>>>> neither of them will be covered in a single run.
>>>>
>>>> How would you tackle this to give meaningful output?
>>>>
>>>> cheers,
>>>>
>>>> Chris
--
Simplistix - Content Management, Batch Processing & Python Consulting
- http://www.simplistix.co.uk
More information about the testing-in-python
mailing list