[Avocado-devel] correlating xunit output to job-results

Brian J. Murrell brian at interlinx.bc.ca
Wed Nov 28 14:35:03 UTC 2018


On Mon, 2018-11-26 at 17:03 +0100, Lukáš Doktor wrote:
> 
> This is a new information. So are you actually looking for job-YYYY-
> MM-DDTHH.MM-UID only, or are you looking for test-name => test-
> output-dir mapping?

I'm looking to correlate a given display of one of mnay xunit test
results in Jenkins job to the one of many job-YYYY-MM-DDTHH.MM-UID
directories I have collected for the test run.

My xunit output shows me I have a failed test.  I want to go to the
job-YYYY-MM-DDTHH.MM-UID I have in the archives for the job to see more
information about it.

> My idea was to basically do something like:
> 
>     for name in xunit.gettests().get('name'):
>         tid = name.split('-')[0]
>         print(glob.glob("latest/test-results/%s-*" % tid))
> 
> which although not nice should always return only 1 match.

This doesn't correlate to an avocado/job-results/job-YYYY-MM-DDTHH.MM-
UID directory does it though?

> 
> > Looking at a given Test instance I can see lots of attributes and
> > actually now that I look, I can see several attributes that embed
> > that
> > job-YYYY-MM-DDTHH.MM-UID value into pathnames such as _stderr_file,
> > _stdout_file, _Test__logfile, _Test__sysinfodir, _Test__logdir,
> > _ssh_logfile, _Test__outputdir.
> > 
> > I can surely peel the value I am looking for out of any one of
> > these
> > but of course, that feels like I am peeking under the kimono and
> > using
> > something that is subject to change in the future.

So while I can do this, I can't seem to display it in any way such that
it gets into the xunit results in any way.  I can print it, in
__init__(), say, but that doesn't end up in the xunit results file.

Hrm.  Looking again, I see that self.log.info() results end up on the
xunit Standard Output.  This is probably where I can add this.  I just
need to convert all tests to using my subclass and calling the parent's
setUp() in their own setUp(), etc.

> I think you understand well (based on the first response). Basically
> I run a job, it produces several hundreds of MB of log files, which
> are attached as artifacts and then several tenths of MB is attached
> again as the XUNIT file, because the "debug.log" is always embedded
> into the XUNIT results. It'd be nice to simply add link to the
> archived results, but I haven't found a way back then...

You could just delete the duplicates before archiving them in Jenkins. 
I do that for the jobs-results/*/html/ subdirs since the links in them
are broken anyway.

Or maybe have avocado not produce the debug.log if xunit output is
enabled.

Cheers,
b.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/avocado-devel/attachments/20181128/192bef24/attachment.sig>


More information about the Avocado-devel mailing list